18 if( (
GetData32()[0] & 0xf0000000) != 0xa0000000)
19 std::cerr <<
"First word has wrong identifier; first word = 0x"
20 << std::hex <<
GetData32()[0] << std::dec << std::endl;
24 int number_available_channels = 0;
25 for(
int ch = 0; ch < 16; ch++){
27 number_available_channels++;
31 int nwords_per_channel = (
GetEventSize() - 4)/number_available_channels;
34 for(
int ch = 0; ch < 2; ch++){
38 std::vector<uint32_t> Samples;
39 for(
int i = 0; i < nwords_per_channel; i++){
40 uint32_t sample = (
GetData32()[counter] & 0x3fff);
41 Samples.push_back(sample);
42 sample = (
GetData32()[counter] & 0x3fff0000) >> 16;
43 Samples.push_back(sample);
58 std::cout <<
"DT724 decoder for bank " <<
GetName().c_str() << std::endl;
void AddSamples(std::vector< uint32_t > Samples)
void Print()
Print the bank contents in a structured way.
uint32_t GetEventSize() const
Get Event Counter.
std::vector< RawChannelMeasurement > fMeasurements
Vector of DT724 Measurements.
std::vector< uint32_t > fGlobalHeader
The overall global header.
TDT724RawData(int bklen, int bktype, const char *name, void *pdata)
Constructor.
uint32_t GetChMask()
Get channel mask.
const uint32_t * GetData32() const
std::string GetName() const