R3BROOT
R3B analysis software
Loading...
Searching...
No Matches
R3BNeulandOnlineCanvas.h
Go to the documentation of this file.
1/******************************************************************************
2 * Copyright (C) 2019 GSI Helmholtzzentrum für Schwerionenforschung GmbH *
3 * Copyright (C) 2019-2023 Members of R3B Collaboration *
4 * *
5 * This software is distributed under the terms of the *
6 * GNU General Public Licence (GPL) version 3, *
7 * copied verbatim in the file "LICENSE". *
8 * *
9 * In applying this license GSI does not waive the privileges and immunities *
10 * granted to it by virtue of its status as an Intergovernmental Organization *
11 * or submit itself to any jurisdiction. *
12 ******************************************************************************/
13
14#pragma once
15
17#include <R3BDataMonitor.h>
19#include <string>
20#include <string_view>
21#include <utility>
22
23constexpr auto NEULAND_DEFAULT_BAR_NUM = 1300;
24namespace R3B::Neuland
25{
26 class OnlineSpectra;
28 {
29 public:
30 virtual ~OnlineCanvas() = default;
31 OnlineCanvas(const OnlineCanvas&) = default;
33 auto operator=(const OnlineCanvas&) -> OnlineCanvas& = delete;
34 auto operator=(OnlineCanvas&&) -> OnlineCanvas& = delete;
35
36 explicit OnlineCanvas(std::string_view name)
37 : name_{ name }
38 {
39 }
40
42 void SetOnlineSpectra(OnlineSpectra* spectra) { online_spectra_ = spectra; };
43 [[nodiscard]] auto GetBarNumber() const -> int { return bar_numbers_; }
44 [[nodiscard]] auto GetOnlineSpectra() const -> OnlineSpectra* { return online_spectra_; }
45
46 [[nodiscard]] auto IsTriggered() const -> bool;
47
49 {
50 return histograms.create_canvas(
52 }
53
54 virtual void DataInit() = 0;
55 virtual void CanvasInit(DataMonitor& histograms) = 0;
56 virtual void CanvasFill(DataMonitor& histograms) = 0;
57 virtual void CanvasFinish() {};
58
59 private:
60 std::string name_;
64
65 static constexpr auto top_left_coordinate = std::make_pair(10, 10);
66 static constexpr auto width_along_x = 850;
67 static constexpr auto width_along_y = 850;
68 };
69} // namespace R3B::Neuland
constexpr auto NEULAND_DEFAULT_BAR_NUM
static constexpr auto width_along_x
OnlineCanvas(OnlineCanvas &&)=default
virtual void DataInit()=0
void SetOnlineSpectra(OnlineSpectra *spectra)
virtual void CanvasInit(DataMonitor &histograms)=0
virtual ~OnlineCanvas()=default
OnlineCanvas(std::string_view name)
virtual void CanvasFill(DataMonitor &histograms)=0
static constexpr auto top_left_coordinate
auto operator=(OnlineCanvas &&) -> OnlineCanvas &=delete
static constexpr auto width_along_y
auto CreateNewCanvas(DataMonitor &histograms) -> DataMonitorCanvas &
OnlineCanvas(const OnlineCanvas &)=default
void SetTrigger(CalTrigger trigger)
auto operator=(const OnlineCanvas &) -> OnlineCanvas &=delete
auto GetOnlineSpectra() const -> OnlineSpectra *
Simulation of NeuLAND Bar/Paddle.