1#include "IRawFile/RawFileExceptions.h"
2#include "RawDataCnv/EventManagement/RawEventDef.h"
3#include "RawFile/RawFileReader.h"
9unsigned long calEts(
const uint32_t* dptr ) {
10 unsigned int tmp = dptr[0] & 0xffffff;
11 unsigned long val = ( tmp >> 16 ) * 61 * 61;
12 val += ( ( tmp >> 8 ) & 0xff ) * 61;
15 val += ( dptr[1] & 0x3fffff );
21 std::cout << std::hex;
22 for ( uint32_t i = 0; i <
n; ++i )
24 if ( i % 8 != 0 ) { std::cout <<
" "; }
27 if ( i != 0 ) std::cout << std::endl;
29 std::cout <<
"0x" << std::setw( 8 ) << std::setfill(
'0' ) <<
data[i];
31 std::cout << std::dec << std::endl;
34void processETS(
const uint32_t* dataPtr, uint32_t dataLen ) {
35 unsigned long t1 = 0, t2 = 0;
37 if ( dataLen > 11 && dataPtr[1] == 0xffffffff )
40 if ( ( dataPtr[start] >> 24 ) == 0xcf )
42 t1 =
calEts( dataPtr + start );
44 static unsigned long _t2 = 0;
45 if ( ( start + 3 ) < dataLen && ( dataPtr[start + 2] >> 24 ) == 0xd1 )
46 { _t2 =
calEts( dataPtr + start + 2 ); }
51 std::cout <<
"t1 " << t1 <<
" t2 " << t2 << std::endl;
53 dump( dataPtr, dataLen );
56int main(
int argc,
char* argv[] ) {
59 std::cout <<
"Usage: " << argv[0] <<
" file.data nevts" << std::endl;
63 const uint32_t** m_sds =
new const uint32_t*[64];
64 const uint32_t** m_robs =
new const uint32_t*[256];
66 int nevts = atoi( argv[2] );
70 for (
int i = 0; i < nevts; ++i )
74 uint32_t* dataptr = NULL;
81 std::cout << i <<
" >> run: " <<
f.run_no() <<
" event: " <<
f.global_id()
85 int nsds =
f.children( m_sds, 64 );
86 for (
int sdi = 0; sdi < nsds; ++sdi )
91 for (
int robi = 0; robi < nrobs; robi++ )
95 source_id_number <<= 8;
96 source_id_number >>= 24;
101 if ( source_id_number == 165 )
112 std::cout <<
"no ETS data found" << std::endl;
119 }
catch ( std::exception& ex )
121 std::cerr << std::endl <<
"Uncaught std exception: " << ex.what() << std::endl;
125 std::cerr << std::endl <<
"Uncaught unknown exception" << std::endl;
TFile f("ana_bhabha660a_dqa_mcPat_zy_old.root")
eformat::FullEventFragment< const uint32_t * > RawEvent
unsigned long calEts(const uint32_t *dptr)
void processETS(const uint32_t *dataPtr, uint32_t dataLen)
void dump(const uint32_t *data, uint32_t n)
virtual void print() const
const uint32_t * nextEvent()