GRSISort "v4.0.0.5"
An extension of the ROOT analysis Framework
Loading...
Searching...
No Matches
TGRSIMnemonic.h
Go to the documentation of this file.
1#ifndef TGRSIMNEMONIC_H
2#define TGRSIMNEMONIC_H
3
4#include <string>
5#include "TMnemonic.h"
6#include "Globals.h"
7#include "TClass.h"
8
9enum class EDigitizer : char { kDefault,
10 kGRF16,
11 kGRF4G,
12 kTIG10,
13 kTIG64,
14 kCaen,
15 kMadc,
16 kV1190,
17 kFMC32 };
18
19class TGRSIMnemonic : public TMnemonic {
20public:
22 TGRSIMnemonic(const TGRSIMnemonic&) = default;
23 TGRSIMnemonic(TGRSIMnemonic&&) noexcept = default;
24 TGRSIMnemonic& operator=(const TGRSIMnemonic&) = default;
25 TGRSIMnemonic& operator=(TGRSIMnemonic&&) noexcept = default;
26 explicit TGRSIMnemonic(const char* name) : TGRSIMnemonic() { TMnemonic::Parse(name); }
27 ~TGRSIMnemonic() override = default;
28
29 // standard C++ makes these enumerations global to the class. ie, the name of the enumeration
30 // EMnemonic or ESystem has no effect on the clashing of enumerated variable names.
31 // These separations exist only to easily see the difference when looking at the code here.
32 enum class ESystem {
33 kTigress, //0
34 kSharc,
36 kRF,
37 kCSM,
38 kSiLi,
39 kSiLiS3,
41 kS3,
43 kTip, //10
46 kPaces,
47 kLaBr,
48 kTAC,
53 kFipps, //20
54 kBgo,
61 kEmma,
62 kEmmaS3,
63 kTrific, //30
64 kSharc2,
65 kRcmp,
66 kAries,
67 kDemand,
68 kClear
69 };
70
71 ESystem System() const { return fSystem; }
72
73 void Parse(std::string* name) override;
74
75 void EnumerateDigitizer(TPriorityValue<std::string>& digitizerName, TPriorityValue<EDigitizer>& digitizerType, TPriorityValue<int>& timeStampUnit) override;
76
77 TClass* GetClassType() const override;
78
79 double GetTime(Long64_t timestamp, Float_t cfd, double energy, const TChannel* channel) const override;
80
81 int NumericArraySubPosition() const override;
82
83 void Print(Option_t* opt = "") const override;
84 void Clear(Option_t* opt = "") override;
85
86private:
88
89 void EnumerateSystem();
90
91 /// \cond CLASSIMP
92 ClassDefOverride(TGRSIMnemonic, 1) // NOLINT(readability-else-after-return)
93 /// \endcond
94};
95
96#endif
EDigitizer
TClass * GetClassType() const override
TGRSIMnemonic(const TGRSIMnemonic &)=default
void Print(Option_t *opt="") const override
~TGRSIMnemonic() override=default
double GetTime(Long64_t timestamp, Float_t cfd, double energy, const TChannel *channel) const override
void Parse(std::string *name) override
void EnumerateDigitizer(TPriorityValue< std::string > &digitizerName, TPriorityValue< EDigitizer > &digitizerType, TPriorityValue< int > &timeStampUnit) override
ESystem System() const
TGRSIMnemonic(TGRSIMnemonic &&) noexcept=default
void Clear(Option_t *opt="") override
int NumericArraySubPosition() const override
virtual void Parse(std::string *name)
Definition TMnemonic.cxx:57