23 std::list<L1CaloRdoRodInfo>& dat )
26 int sourceId = rod->rod_source_id() & 0xffffff;
27 int runNumber = rod->rod_run_no();
28 int bcNumber = rod->rod_bc_id();
29 int triggerType = rod->rod_lvl1_trigger_type();
30 int detEventType = rod->rod_detev_type();
31 int version = rod->rod_version();
34 L1CaloRdoRodInfo rdo( sourceId>>16, sourceId&0xffff, runNumber, bcNumber, triggerType, detEventType, version );
38 rdo.
setSize( rod->rod_ndata() );
41 const uint32_t* status;
42 rod->rod_status(status);
49 bool hasModuleStatus =
true;
50 if ( (sourceId>>16) > 0x74 )
51 hasModuleStatus =
false;
52 if ( (sourceId>>16) == 0x73 )
53 hasModuleStatus =
false;
55 if ( hasModuleStatus )
57 const uint32_t* it_data;
58 rod->rod_data( it_data );
59 const uint32_t ndata = rod->rod_ndata();
61 for ( uint32_t i = 1; i < ndata; ++i, ++it_data ) {
62 if ( ((*it_data)>>28) == 0xd )
64 int idat = (*it_data)&0xfff;
69 if ( ((*it_data)>>28) == 0xf )
71 int idat = (*it_data)&0x1ff;
79 dat.push_back( std::move(rdo) );