#include <DiracReader.hh>
Collaboration diagram for DiracTriggerInfo:
Public Member Functions | |
DiracTriggerInfo () | |
bool | read (unsigned char *buf) |
Public Attributes | |
ui16 | bcId |
ui16 | data [64] |
bool | reject |
ui16 | pileUp |
ui16 | trigger |
i64 | bcIdAbs |
ui32 | bcIdFpga |
Definition at line 88 of file DiracReader.hh.
DiracTriggerInfo::DiracTriggerInfo | ( | ) |
Definition at line 180 of file DiracReader.cpp.
00180 : bcId(0) { 00181 for (int chNum = 0; chNum < 64; chNum++) 00182 data[chNum] = 0; 00183 }; // DiracTriggerInfo
bool DiracTriggerInfo::read | ( | unsigned char * | buf | ) |
Definition at line 187 of file DiracReader.cpp.
Referenced by DiracReader::getAcqData().
00187 { 00188 00189 // initialize chip data 00190 bcId = 0; 00191 for (int chNum = 0; chNum < 64; chNum++) 00192 data[chNum] = 0; 00193 00194 // get bcId from DIF (Fpga) 00195 bcIdFpga = *buf++ << 8; // read 16 bits 00196 bcIdFpga += *buf++; 00197 00198 // get absolute bcId - does not work unless data is casted into i64 ! 00199 bcIdAbs = ((i64) (*buf++)) << 40; // read 48 bits 00200 bcIdAbs += ((i64) (*buf++)) << 32; 00201 bcIdAbs += ((i64) (*buf++)) << 24; 00202 bcIdAbs += ((i64) (*buf++)) << 16; 00203 bcIdAbs += ((i64) (*buf++)) << 8; 00204 bcIdAbs += ((i64) (*buf++)); 00205 00206 // get last data 00207 unsigned int data = (*buf++ << 8); // read 16 bits 00208 data += *buf++; 00209 reject = (data & 0x0001); // bit 0 00210 pileUp = (data & 0x003E) >> 1; // 5 bits (1-5) 00211 trigger = (data & 0xFFC0) >> 6; // 10 bits (6-15) 00212 00213 FILE_LOG(logDEBUG) << " bcIdFPGA:" << hex << bcIdFpga 00214 << ", bcIdAbs:" << hex << bcIdAbs 00215 << ", data:" << hex << data 00216 << ", reject:" << hex << reject 00217 << ", pileUp:" << hex << pileUp 00218 << ", trigger:" << hex << trigger << endl; 00219 00220 FILE_LOG(logDEBUG1) << " DiracTriggerInfo read" << endl; 00221 00222 return true; 00223 }; // DiracTriggerInfo.read
Definition at line 95 of file DiracReader.hh.
Referenced by DiracReader::getAcqData(), DiracReader::newHit(), and read().
ui16 DiracTriggerInfo::data[64] |
Definition at line 96 of file DiracReader.hh.
Referenced by DiracTriggerInfo(), DiracReader::getAcqData(), DiracReader::newHit(), and read().