111 std::string name = digitizerName.
Value();
112 std::transform(name.begin(), name.end(), name.begin(), ::toupper);
115 if(name ==
"GRF16") {
118 }
else if(name ==
"GRF4G") {
121 }
else if(name ==
"TIG10") {
124 }
else if(name ==
"TIG64") {
127 }
else if(name ==
"CAEN") {
130 }
else if(name ==
"MADC") {
133 }
else if(name ==
"V1190") {
136 }
else if(name ==
"FMC32") {
140 std::cout <<
"Warning, digitizer type '" << name <<
"' not recognized, options are 'GRF16', 'FMC32', 'GRF4G', 'TIG10', 'TIG64', 'CAEN', 'MADC!' && 'V1190'!" << std::endl;
142 digitizerType.
Set(tmpType, digitizerName.
Priority());
143 timeStampUnit.
Set(tmpUnit, digitizerName.
Priority());
148 if((name ==
nullptr) || name->length() < 9) {
149 if((name->length() < 1) && (name->compare(0, 2,
"RF") == 0)) {
161 buf.assign(*name, 7, 2);
162 Segment(
static_cast<int16_t
>(strtol(buf.c_str(),
nullptr, 16)));
168 std::ostringstream str;
169 str <<
"======== GRSIMNEMONIC ========" << std::endl;
171 str <<
"==============================" << std::endl;
172 std::cout << str.str();
215 if(channel ==
nullptr) {
216 Error(
"GetTime",
"No TChannel provided");
217 return static_cast<double>(timestamp) + gRandom->Uniform();
226 dTime =
static_cast<Double_t
>((timestamp & (~0x3ffff)) * channel->
GetTimeStampUnit()) + channel->
CalibrateCFD((cfd + gRandom->Uniform()) / 1.6);
229 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.);
232 dTime =
static_cast<Double_t
>((timestamp & (~0x7fffff)) * channel->
GetTimeStampUnit()) + channel->
CalibrateCFD((cfd + gRandom->Uniform()) / 1.6);
240 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