49 result->ClearTransients();
64 return static_cast<Int_t
>(
GetCfd()) & 0x001fffff;
93 fPPG =
static_cast<TPPG*
>(gROOT->FindObject(
"TPPG"));
107 std::ostringstream str;
108 str <<
"DaqTimeStamp: " << ctime(&
fDaqTimeStamp) << std::endl
109 <<
"DaqId: " <<
fDaqId << std::endl
110 <<
"\tTriggerId[" <<
fTriggerId.size() <<
"]";
112 str <<
" 0x" << std::hex << triggerId << std::dec;
118 <<
"Channel Address: 0x" << std::hex <<
GetAddress() << std::dec << std::endl;
120 if(channel !=
nullptr) {
121 str <<
"Channel: " << channel->
GetNumber() <<
"\t Name: " << channel->GetName() << std::endl;
123 str <<
"Charge: 0x" << std::hex << static_cast<Int_t>(
GetCharge()) << std::dec << std::endl
124 <<
"Cfd: 0x" << std::hex << static_cast<Int_t>(
GetCfd()) << std::dec << std::endl
125 <<
"ZC: 0x" << std::hex <<
fZc << std::dec << std::endl
127 << (
HasWave() ?
"Has a wave form stored" :
"Doesn't have a wave form stored") << std::endl;
143 std::string pre = prefix;
144 TString option = opt;
145 std::string channame =
GetName();
146 if(channame.length() < 9) {
155 if(channame.compare(0, pre.length(), pre) == 0) {
156 if(option.Length() < 1) {
159 if(channame.length() > 8) {
160 if(option.Contains(
"B") && (std::toupper(channame[9]) == std::toupper(
'B'))) {
163 if(option.Contains(
"A") && (std::toupper(channame[9]) == std::toupper(
'A'))) {
167 if(option.Contains(
"C") && (channame.compare(7, 2,
"00") == 0)) {
170 if(option.Contains(
"S") && (channame.compare(7, 2,
"00") != 0)) {
182 int slave = (
GetAddress() & 0x00f00000) >> 20;
186 if(slave != 0x1 && slave != 0x2) {
189 if(channel == 0x1f) {
190 return (slave - 1) * 16 + (port - 1) * 2 + 1;
192 if(channel == 0x3f) {
193 return (slave - 1) * 16 + (port - 1) * 2 + 2;
double GetTZero(double tempd) const
virtual Float_t GetCharge() const
!
virtual UInt_t GetAddress() const
!
virtual Long64_t GetTimeStampNs(Option_t *opt="") const
virtual Long64_t GetTimeStamp(Option_t *="") const
virtual double GetEnergy(Option_t *opt="") const
const char * GetName() const override
!
TChannel * GetChannel() const
!
void Clear(Option_t *opt="") override
!
virtual Float_t GetCfd() const
!
virtual bool HasWave() const
!
UShort_t fDeadTime
Added to combine Grif Fragment ////.
TObject * Clone(const char *name="") const override
UInt_t fChannelId
Threshold crossing counter for a channel.
bool IsDetector(const char *prefix, Option_t *opt="CA") const
ULong64_t GetTimeInCycle()
Long64_t fEntryNumber
! Entry number in fragment tree
void Print(Option_t *opt="") const override
time_t fDaqTimeStamp
Timestamp of the Daq event.
std::vector< Long_t > fTriggerId
PrimaryFilterID in Griffin DAQ.
Int_t fTriggerBitPattern
PrimaryFilterPattern in Griffin DAQ.
UShort_t fNumberOfWords
! Number of non-waveform words in fragment, only used for check while parsing the fragment
Int_t fCcShort
! Short integration over waveform peak from 4G (saved in separate branch)
Int_t fNetworkPacketNumber
Network packet number.
Short_t fNumberOfPileups
Number of piled up hits 1-3.
UShort_t fModuleType
Data Type (GRIF-16, 4G, etc.)
Int_t fZc
! Zero-crossing value from 4G (saved in separate branch)
Int_t GetSharcMesyBoard() const
UInt_t fAcceptedChannelId
Accepted threshold crossing counter for a channel.
ULong64_t GetCycleNumber()
void Clear(Option_t *opt="") override
UShort_t fDetectorType
Detector Type (PACES,HPGe, etc.)
Int_t fFragmentId
Channel Trigger ID ??? not needed anymore ???
Int_t fCcLong
! Long integration over waveform tail from 4G (saved in separate branch)
TPPG * fPPG
! Programmable pattern generator value
static Long64_t fNumberOfFragments
ULong64_t GetCycleNumber(ULong64_t real_time)
ULong64_t GetTimeInCycle(ULong64_t real_time)
static TPPG * Get(bool verbose=false)