R3BROOT
R3B analysis software
Loading...
Searching...
No Matches
R3BNeulandHitMon.h
Go to the documentation of this file.
1/******************************************************************************
2 * Copyright (C) 2019 GSI Helmholtzzentrum für Schwerionenforschung GmbH *
3 * Copyright (C) 2019-2025 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#ifndef R3BNEULANDHITMON_H
15#define R3BNEULANDHITMON_H
16
25
26#include "FairTask.h"
27#include "R3BDataMonitor.h"
28#include "R3BIOConnector.h"
29#include "R3BNeulandHit.h"
30#include <Rtypes.h>
31#include <RtypesCore.h>
32#include <string>
33#include <string_view>
34
35class TH1D;
36class TH2D;
37class TH3D;
38class TH1I;
39
40class R3BNeulandHitMon : public FairTask
41{
42 public:
43 explicit R3BNeulandHitMon(std::string_view hits_name = "NeulandHits", const Option_t* option = "");
44
45 void Exec(Option_t* /*option*/) override;
46
47 void SetDistanceToTarget(double distance) { distance_to_target_ = distance; }
48
49 protected:
50 auto Init() -> InitStatus override;
51 void Finish() override { data_monitor_.save_to_sink(); }
52
53 private:
54 std::string output_{ "NeulandHitMon" };
55
57
59
61
63
64 TH3D* hist_3_ = nullptr;
65 TH1D* hist_time_ = nullptr;
66 TH1D* hist_time_adj_ = nullptr;
67 TH1I* hist_mult_ = nullptr;
68 TH1D* hist_depth_ = nullptr;
69 TH1D* hist_foremost_energy_ = nullptr;
70 TH1D* hist_sternmost_energy_ = nullptr;
73 TH1D* hist_energy_tot_ = nullptr;
74 TH1D* hist_energy_ = nullptr;
75 TH1D* hist_x_ = nullptr;
76 TH1D* hist_y_ = nullptr;
77 TH1D* hT = nullptr;
78 TH1D* hTNeigh = nullptr;
80 TH2D* hist_pos_vs_energy_ = nullptr;
81 TH2D* hdeltaEE = nullptr;
82 TH1D* hist_beta_ = nullptr;
83
85};
86
87#endif // R3BNEULANDHITMON_H
auto Init() -> InitStatus override
void SetDistanceToTarget(double distance)
ClassDefOverride(R3BNeulandHitMon, 0)
TH2D * hist_depth_vs_energy_tot_
TH2D * hist_depth_vs_sternmost_energy_
R3B::DataMonitor data_monitor_
R3BNeulandHitMon(std::string_view hits_name="NeulandHits", const Option_t *option="")
void Exec(Option_t *) override
R3B::InputVectorConnector< R3BNeulandHit > neuland_hits_
TH2D * hist_depth_vs_foremost_energy_
void Finish() override
InputConnector< std::vector< ElementType > > InputVectorConnector