10 #ifndef BYTESTREAMCNVSVC_DUMPFRAGS_H
11 #define BYTESTREAMCNVSVC_DUMPFRAGS_H
23 std::cout <<
" ---FullEventFragment run number = "
24 <<
re->run_no() <<
" Size = " <<
re->fragment_size_word() << std::endl;
26 std::cout<<
" Global id "<<
re->global_id()<<std::endl;
27 std::cout<<
" Run type "<<
re->run_type()<<std::endl;
28 std::cout<<
" Lumi block "<<
re->lumi_block()<<std::endl;
29 std::cout<<
" level 1 id "<<
re->lvl1_id()<<std::endl;
30 std::cout<<
" Bunch crossing id "<<
re->bc_id()<<std::endl;
31 std::cout<<
" Bunch crossing time in seconds "<<
re->bc_time_seconds()<<std::endl;
32 std::cout<<
" Bunch crossing time nanoseconds offset "<<
re->bc_time_nanoseconds()<<std::endl;
33 std::cout<<
" Level 1 trigger type "<<
re->lvl1_trigger_type()<<std::endl;
38 std::cout <<
" Lvl1 trigger info , size = " <<
n <<std::endl;
41 std::cout <<
" "<< *
buffer;
45 std::cout << std::endl;
48 n =
re->nlvl2_trigger_info() ;
49 std::cout <<
" Lvl2 trigger info, size = " <<
n <<std::endl;
52 std::cout <<
" "<< *
buffer;
55 std::cout << std::endl;
58 n =
re->nevent_filter_info() ;
59 std::cout <<
" event filter trigger info, size = " <<
n <<std::endl;
62 std::cout <<
" "<< *
buffer;
65 std::cout << std::endl;
69 const size_t MAX_ROBFRAGMENTS = 2048;
70 std::vector<OFFLINE_FRAGMENTS_NAMESPACE::PointerType> robF(MAX_ROBFRAGMENTS);
73 size_t robcount =
re->children(robF.data(),MAX_ROBFRAGMENTS);
74 if (robcount == MAX_ROBFRAGMENTS)
76 std::cout <<
"ERROR : ROB buffer overflow" << std::endl;
80 for (
size_t irob=0; irob<robcount; ++irob)
85 std::cout <<
" ROBFragment, src ID ="
86 << std::hex << rob.source_id()
87 <<
" size_word =" << rob.fragment_size_word() << std::endl;
90 std::cout <<
" RODFragment, src ID ="
91 << std::hex << rob.rod_source_id()
92 <<
" size_word =" << rob.rod_fragment_size_word() << std::endl;
93 std::cout <<
" RODFragment, run number ="
94 << std::dec << rob.rod_run_no() << std::endl;
96 if (rob.rod_fragment_size_word() >= rob.rod_header_size_word() + rob.rod_trailer_size_word()) {
98 rob.rod_data(rodPointer);
99 for(
size_t i=0;
i<rob.rod_ndata(); ++
i)
101 if (
i%10 == 0) std::cout << std::endl <<
" ";
102 std::cout << std::hex<< *rodPointer <<
" " ;
105 std::cout << std::endl <<
" Number of words in ROD = "
106 << rob.rod_ndata() << std::endl;
108 std::cout << std::endl <<
"WARNING : ROD has unexpected data size "
109 << rob.rod_ndata() <<
" and RODFragment size_word is too small!" << std::endl;
115 #endif // BYTESTREAMCNVSVC_DUMPFRAGS_H