108 std::string name = digitizerName.
Value();
109 std::transform(name.begin(), name.end(), name.begin(), ::toupper);
112 if(name ==
"GRF16") {
115 }
else if(name ==
"GRF4G") {
118 }
else if(name ==
"TIG10") {
121 }
else if(name ==
"TIG64") {
124 }
else if(name ==
"CAEN") {
127 }
else if(name ==
"MADC") {
130 }
else if(name ==
"V1190") {
133 }
else if(name ==
"FMC32") {
137 std::cout <<
"Warning, digitizer type '" << name <<
"' not recognized, options are 'GRF16', 'FMC32', 'GRF4G', 'TIG10', 'TIG64', 'CAEN', 'MADC!' && 'V1190'!" << std::endl;
139 digitizerType.
Set(tmpType, digitizerName.
Priority());
140 timeStampUnit.
Set(tmpUnit, digitizerName.
Priority());
145 if((name ==
nullptr) || name->length() < 9) {
146 if((name->length() < 1) && (name->compare(0, 2,
"RF") == 0)) {
158 buf.assign(*name, 7, 2);
159 Segment(
static_cast<int16_t
>(strtol(buf.c_str(),
nullptr, 16)));
165 std::ostringstream str;
166 str <<
"======== GRSIMNEMONIC ========" << std::endl;
168 str <<
"==============================" << std::endl;
169 std::cout << str.str();
211 if(channel ==
nullptr) {
212 Error(
"GetTime",
"No TChannel provided");
213 return static_cast<double>(timestamp) + gRandom->Uniform();
222 dTime =
static_cast<Double_t
>((timestamp & (~0x3ffff)) * channel->
GetTimeStampUnit()) + channel->
CalibrateCFD((cfd + gRandom->Uniform()) / 1.6);
225 dTime =
static_cast<Double_t
>(timestamp * channel->
GetTimeStampUnit()) + channel->
CalibrateCFD((
static_cast<Int_t
>(cfd) >> 22) + ((
static_cast<Int_t
>(cfd) & 0x3fffff) + gRandom->Uniform()) / 256.);
228 dTime =
static_cast<Double_t
>((timestamp & (~0x7fffff)) * channel->
GetTimeStampUnit()) + channel->
CalibrateCFD((cfd + gRandom->Uniform()) / 1.6);
236 dTime = (
static_cast<Double_t
>(timestamp) + gRandom->Uniform()) * channel->
GetTimeStampUnit();
Long64_t GetTimeOffset() const
EDigitizer GetDigitizerType() const
double CalibrateCFD(double) const
int GetTimeStampUnit() const
double GetTZero(double tempd) const
TClass * GetClassType() const override
void Print(Option_t *opt="") const override
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
void Clear(Option_t *opt="") override
int NumericArraySubPosition() const override
virtual std::string SystemString() const
virtual EMnemonic ArraySubPosition() const
virtual EMnemonic SubSystem() const
void Print(Option_t *opt="") const override
virtual void Parse(std::string *name)
void Clear(Option_t *opt="") override
virtual int16_t Segment() const
virtual TClass * GetClassType() const
virtual void SetClassType(TClass *classType) const
virtual void SetRFMnemonic(std::string *name)
void Set(const T &val, EPriority priority)
EPriority Priority() const