12 #define _DBG_ cout<<__FILE__<<":"<<__LINE__<<" "
13 #define _DBG__ cout<<__FILE__<<":"<<__LINE__<<endl
27 #define swap64(x) ( (((x) >> 56) & 0x00000000000000FFL) | \
28 (((x) >> 40) & 0x000000000000FF00L) | \
29 (((x) >> 24) & 0x0000000000FF0000L) | \
30 (((x) >> 8) & 0x00000000FF000000L) | \
31 (((x) << 8) & 0x000000FF00000000L) | \
32 (((x) << 24) & 0x0000FF0000000000L) | \
33 (((x) << 40) & 0x00FF000000000000L) | \
34 (((x) << 56) & 0xFF00000000000000L) )
36 #define swap32(x) ( (((x) >> 24) & 0x000000FF) | \
37 (((x) >> 8) & 0x0000FF00) | \
38 (((x) << 8) & 0x00FF0000) | \
39 (((x) << 24) & 0xFF000000) )
41 #define swap16(x) ( (((x) >> 8) & 0x00FF) | \
42 (((x) << 8) & 0xFF00) )
62 HDEVIO_UNKNOWN_BANK_TYPE
200 bool ReadBlock(
void);
201 bool read(uint32_t *user_buff, uint32_t user_buff_len,
bool allow_swap=
true);
202 bool readSparse(uint32_t *user_buff, uint32_t user_buff_len,
bool allow_swap=
true);
203 bool readNoFileBuff(uint32_t *user_buff, uint32_t user_buff_len,
bool allow_swap=
true);
205 uint64_t GetNWordsLeftInFile(
void);
207 uint32_t
swap_bank(uint32_t *outbuff, uint32_t *inbuff, uint32_t len);
208 uint32_t
swap_tagsegment(uint32_t *outbuff, uint32_t *inbuff, uint32_t len);
209 uint32_t
swap_segment(uint32_t *outbuff, uint32_t *inbuff, uint32_t len);
210 void Print_fbuff(
void);
211 void PrintEVIOBlockHeader(
void);
212 void PrintStats(
void);
213 void PrintFileSummary(
void);
214 void SaveFileMap(
string fname=
"");
215 void ReadFileMap(
string fname=
"",
bool warn_if_not_found=
false);
218 uint32_t SetEventMask(uint32_t mask);
219 uint32_t SetEventMask(
string types_str);
220 uint32_t AddToEventMask(
string type_str);
221 vector<EVIOBlockRecord>& GetEVIOBlockRecords(
void);
230 void MapBlocks(
bool print_ticker=
true);
240 void buff_read(
char* s, streamsize n);
241 void buff_seekg (streamoff off, ios_base::seekdir way);
283 inline void swap_block(uint16_t *inbuff, uint16_t len, uint16_t *outbuff)
285 for(uint32_t i=0; i<len; i++, inbuff++, outbuff++){
286 *outbuff =
swap16(*inbuff);
293 inline void swap_block(uint32_t *inbuff, uint32_t len, uint32_t *outbuff)
295 for(uint32_t i=0; i<len; i++, inbuff++, outbuff++){
296 *outbuff =
swap32(*inbuff);
303 inline void swap_block(uint64_t *inbuff, uint64_t len, uint64_t *outbuff)
305 for(uint64_t i=0; i<len; i++, inbuff++, outbuff++){
306 *outbuff =
swap64(*inbuff);
uint32_t trigger_bank_len
uint32_t sparse_event_idx
vector< EVIOBlockRecord > evio_blocks
uint32_t swap_bank(uint32_t *outbuff, uint32_t *inbuff, uint32_t len)
sprintf(text,"Post KinFit Cut")
uint32_t swap_tagsegment(uint32_t *outbuff, uint32_t *inbuff, uint32_t len)
string HexStr(uint32_t v)
void swap_block(uint32_t *inbuff, uint32_t len, uint32_t *outbuff)
uint32_t trigger_bank_segment_header
vector< EVIOEventRecord > evio_events
uint32_t GetEventMask(void)
vector< EVIOBlockRecord >::iterator sparse_block_iter
void SetErrorMessage(string mess)
uint32_t swap_segment(uint32_t *outbuff, uint32_t *inbuff, uint32_t len)
CDAQPHYSICSHEADER_t cdaqphysics
void ClearErrorMessage(void)
string HexStr(uint16_t v)
uint32_t roc1_trigger_bank_segment_header
streamsize buff_gcount() const
uint32_t roc1_bank_header
uint64_t total_size_bytes
uint32_t first_crate_header
uint32_t trigger_bank_header
EVIOBlockRecord NB_block_record
void swap_block(uint16_t *inbuff, uint16_t len, uint16_t *outbuff)
CDAQPHYSICSHEADER_t cdaqphysics
void swap_block(uint64_t *inbuff, uint64_t len, uint64_t *outbuff)