|
ATLAS Offline Software
|
Go to the documentation of this file.
16 static const InterfaceID IID_IRecMuCTPIByteStreamTool(
"RecMuCTPIByteStreamTool", 1, 1 );
24 return IID_IRecMuCTPIByteStreamTool;
37 declareInterface< RecMuCTPIByteStreamTool >(
this );
48 if(
sc.isFailure() ) {
55 if(
sc.isFailure() ) {
61 return StatusCode::SUCCESS;
82 uint32_t rodId = rob->rod_source_id();
84 if( rodId == miRodId ) {
91 const uint32_t ndata = rob->rod_ndata();
92 const uint32_t detev_type = rob->rod_detev_type();
93 const uint32_t lvl1_type = rob->rod_lvl1_trigger_type();
94 const uint32_t lvl1_id = rob->rod_lvl1_id();
95 const uint32_t run_no = rob->rod_run_no();
96 const uint32_t nstatus = rob->rod_nstatus();
98 rob->rod_status( it_statusData );
103 <<
" (dec " <<
bcid <<
")");
105 << MSG::dec <<
" (dec " << detev_type <<
")");
107 <<
" (dec " << lvl1_id <<
")");
109 <<
" (dec " << lvl1_type <<
")");
113 for (
uint32_t i = 0;
i < nstatus; ++
i , ++it_statusData) {
114 ATH_MSG_VERBOSE(
"Status word # " <<
i <<
": 0x" << MSG::hex << (*it_statusData) << MSG::dec
115 <<
" (dec " << (*it_statusData) <<
")");
130 rob->rod_data( it_data );
135 if( ((*it_data) & 0x20000000) != 0 ) nMultWords++;
139 rob->rod_data( it_data );
141 it_data+=(nMultWords-1)/2;
143 ATH_MSG_DEBUG(
" 0x" << MSG::hex << std::setw( 8 ) << *it_data
144 <<
" (candidate multiplicity)");
149 sum[
i ] = ( *it_data >> (
i * 3 ) ) & 0x1F;
153 uint16_t g_bcId = ( (*it_data) & 0x001C0000 ) >> 18;
156 it_data+=(nMultWords+1)/2;
159 for(
uint32_t i = nMultWords;
i < ndata; ++
i, ++it_data ) {
161 ATH_MSG_DEBUG(
" 0x" << MSG::hex << std::setw( 8 ) << *it_data);
168 bool accepted =
true;
169 if ( ( tmpWord & 0x04000000 ) == 0 )
173 uint32_t roiWord = ( tmpWord & 0x00003FFF ) + ( ( tmpWord & 0x03FE0000 ) >> 3 );
176 <<
" : ROI=" << std::setw( 8 ) <<
roiWord);
188 double eta = thisRoI.
eta();
189 double phi = thisRoI.
phi();
196 accepted,
first, duplicatedRoI, duplicatedSector );
202 return StatusCode::SUCCESS;
206 ATH_MSG_WARNING(
"Expected source ID 0x" << MSG::hex << miRodId <<
" but found 0x"
207 << rodId << MSG::dec);
208 return StatusCode::FAILURE;
def retrieve(aClass, aKey=None)
void headerSourceId(uint32_t val)
Set the ROD ID specidied in the header.
uint32_t getRodID() const
get a ROD Source ID
unsigned int subsysID() const
returns sub-system ID ROI (0=-z,1=+z)
void headerDetectorEventType(uint32_t val)
Set the event type specified in the header.
Scalar phi() const
phi method
void headerNumberDataWords(uint32_t val)
Set the number of data words as it was specified in the trailer
bool padOverflow() const
returns true if there were > 1 candidates in this pad
Scalar eta() const
pseudorapidity method
void headerRunNumber(uint32_t val)
Set the run number specified in the header.
#define ATH_MSG_VERBOSE(x)
bool firstCandidate() const
returns true if this was the highest pt candidate in this sector
virtual double eta() const
returns eta coord of ROI
unsigned int getThresholdNumber() const
returns the Threshold Number (1 to 6) associated with this RecRoI
const ServiceHandle< StoreGateSvc > & detStore() const
The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.
void setRoI(const uint16_t bcId, const uint16_t pTval, const uint16_t pTnum, const double eta, const double phi, const uint16_t secID, const uint16_t sysId, const uint16_t hemisphere, const uint16_t roiNum, const bool accepted, const bool first, const bool duplicatedRoI, const bool duplicatedSector)
Add a muon RoI to the object
Reconstruction Input Object of the MuCTPI hardware and simulation.
const DataType * PointerType
This class defines the reconstructed Muon ROI.
unsigned int getThresholdValue() const
returns the Threshold Value (in GeV) associated with this RecRoI
void headerNumberStatusWords(uint32_t val)
Set the number of status words as it was specified in the trailer
void setSum(const uint16_t *sum)
Set the multiplicity sum.
::StatusCode StatusCode
StatusCode definition for legacy code.
unsigned int sectorID() const
returns sector ID ROI
void headerLVL1ID(uint32_t val)
Set the LVL1 ID specified in the header.
std::vector< uint32_t > & headerStatusWords()
Get the status words from the payload.
virtual double phi() const
returns phi coord of ROI
void headerBCID(uint32_t val)
Set the BCID specified in the header.
uint16_t bcId(uint32_t data)
unsigned int sysID() const
returns system ID ROI (Barrel=0, Endcap=1, Forward=2)
setTeId setLumiBlock setRoiId setRoiSubsystem roiNumber
setEventNumber setTimeStamp bcid
void headerLVL1TriggerType(uint32_t val)
Set the LVL1 trigger type specified in the header.
#define ATH_MSG_WARNING(x)
void setBCID(const uint16_t bcId)
Function setting the BCID of the object.
unsigned int getRoINumber() const
return RoI number in hardware numbering scheme
bool sectorOverflow() const
returns true if there were > 2 candidates in this sector