GRSISort "v4.1.1.0"
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
35 kSharc,
37 kRF,
38 kCSM,
39 kSiLi,
40 kSiLiS3,
42 kS3,
43 kBambino, //10
44 kTip,
47 kPaces,
48 kLaBr,
49 kTAC,
53 kLaBrBgo, //20
54 kFipps,
55 kBgo,
62 kEmma,
63 kEmmaS3, //30
64 kTrific,
65 kSharc2,
66 kRcmp,
67 kAries,
68 kDemand,
69 kClear
70 };
71
72 ESystem System() const { return fSystem; }
73
74 void Parse(std::string* name) override;
75
76 void EnumerateDigitizer(TPriorityValue<std::string>& digitizerName, TPriorityValue<EDigitizer>& digitizerType, TPriorityValue<int>& timeStampUnit) override;
77
78 TClass* GetClassType() const override;
79
80 double GetTime(Long64_t timestamp, Float_t cfd, double energy, const TChannel* channel) const override;
81
82 int NumericArraySubPosition() const override;
83
84 void Print(Option_t* opt = "") const override;
85 void Clear(Option_t* opt = "") override;
86
87private:
89
90 void EnumerateSystem();
91
92 /// \cond CLASSIMP
93 ClassDefOverride(TGRSIMnemonic, 1) // NOLINT(readability-else-after-return)
94 /// \endcond
95};
96
97#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:58