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 kClear
68 };
69
70 ESystem System() const { return fSystem; }
71
72 void Parse(std::string* name) override;
73
74 void EnumerateDigitizer(TPriorityValue<std::string>& digitizerName, TPriorityValue<EDigitizer>& digitizerType, TPriorityValue<int>& timeStampUnit) override;
75
76 TClass* GetClassType() const override;
77
78 double GetTime(Long64_t timestamp, Float_t cfd, double energy, const TChannel* channel) const override;
79
80 int NumericArraySubPosition() const override;
81
82 void Print(Option_t* opt = "") const override;
83 void Clear(Option_t* opt = "") override;
84
85private:
87
88 void EnumerateSystem();
89
90 /// \cond CLASSIMP
91 ClassDefOverride(TGRSIMnemonic, 1) // NOLINT(readability-else-after-return)
92 /// \endcond
93};
94
95#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