6 namespace Phase2Tracker
10 : trackerHeader_(headerPointer)
36 <<
"[Phase2Tracker::Phase2TrackerFEDHeader::"<<__func__<<
"]: \n"
37 <<
" Tracker Header contents:\n"
41 <<
" -- Condition Data : " << (
conditionData_ ?
"Present" :
"Absent") <<
"\n"
42 <<
" -- Data Type : " << (
dataType_ ?
"Real" :
"Fake" ) <<
"\n"
43 <<
" -- Glib Stat registers : " << std::hex << std::setw(16) <<
glibStatusCode_ <<
"\n"
44 <<
" -- connected CBC : " << std::dec <<
numberOfCBC_ <<
"\n";
52 std::ostringstream
ss;
53 ss <<
"[Phase2Tracker::Phase2TrackerFEDHeader::"<<__func__<<
"] ";
54 ss <<
"Invalid Data Format Version in Traker Header : ";
75 std::ostringstream
ss;
76 ss <<
"[Phase2Tracker::Phase2TrackerFEDHeader::"<<__func__<<
"] ";
77 ss <<
"Invalid Header Format in Traker Header : ";
103 std::ostringstream
ss;
104 ss <<
"[Phase2Tracker::Phase2TrackerFEDHeader::"<<__func__<<
"] ";
105 ss <<
"Invalid Readout Mode in Traker Header : ";
113 return static_cast<uint8_t
> (
eventType_ >>1) & 0x1;
118 return static_cast<uint8_t
> (
eventType_) & 0x1;
129 std::vector<bool>
status(16,
false);
130 for(
int i = 0;
i < 16;
i++)
132 status[
i] = (FE_status>>
i)&0x1;
168 std::vector<uint8_t> cbc_status;
171 int num_bytes = cbc_num;
172 int current_byte = 5;
175 cbc_status.push_back(static_cast<uint8_t>((data64>>current_byte*8)&0xFF));
186 else if (status_size==1)
188 int current_bit = 47;
189 int num_bits = cbc_num;
192 cbc_status.push_back(static_cast<uint8_t>((data64>>current_bit)&0x1));
220 int num_add_words64 = (cbc_num * status_size - 48 + 64 - 1) / 64 ;
unsigned int offset(bool)
unsigned long long uint64_t
void printHex(const void *pointer, const size_t lengthInBytes, std::ostream &os)
uint64_t extract64(trackerHeader_m mask, trackerHeader_s shift, uint64_t data)
uint64_t read64(int offset, const uint8_t *buffer)