8 constexpr unsigned int const rpcRawHitWordLength = 7;
38 for (PAD_Readout::iterator it = padReadout.begin(); it != padReadout.end(); ++it) {
48 return StatusCode::SUCCESS;
70 int pad_id = pad.
PAD();
72 int side = (sector < 32) ? 0 : 1;
73 int logic_sector = sector % 32;
75 int key = side * 10000 + logic_sector * 100 + pad_id;
77 if (
m_debug &&
m_log) *
m_log << MSG::DEBUG <<
"Pad: Side " << side <<
" Sector logic" << logic_sector <<
" Id " << pad_id <<
endmsg;
83 index.offline_indexes(name,
eta,
phi, doublet_r, doublet_z, doublet_phi, gas_gap, measures_phi,
strip);
89 if (
m_log && !valid) {
90 *
m_log << MSG::ERROR <<
"Invalid pad offline indices " <<
endmsg;
91 *
m_log << MSG::ERROR <<
"Name : " << name <<
endmsg;
93 *
m_log << MSG::ERROR <<
"Doublet r " << doublet_r <<
" Doublet_z " << doublet_z <<
" Doublet_phi " << doublet_phi <<
endmsg;
94 *
m_log << MSG::ERROR <<
"Gas gap " << gas_gap <<
" Measures_phi " << measures_phi <<
" Strip " <<
strip <<
endmsg;
106 unsigned int hashId =
index.hash();
107 unsigned int onlineId = pad_id;
109 unsigned int status = 0;
110 unsigned int errorCode = pad_footer.
errorCode();
113 RpcPad* rpc_pad =
new RpcPad(
id, hashId, onlineId, status, errorCode, sector);
150 for (
int j = 0; j < matrix->numberOfBodyWords(); ++j) {
151 cm_hit = matrix->getCMAHit(j);
156 if (cm_hit.
ijk() < rpcRawHitWordLength) {
158 }
else if (cm_hit.
ijk() == rpcRawHitWordLength) {
171 std::cout <<
"Printing out RPC RDO's : " << std::endl;
172 std::cout <<
"Number of Pads in event : " <<
m_rpcpads->size() << std::endl;
173 std::vector<RpcPad*>::const_iterator pad_it;
177 std::cout <<
"Pad number " << ipad <<
" Identifier : " << std::endl;
178 (*pad_it)->identify().show();
179 std::cout << std::endl;
180 std::cout <<
"Number of Matrices in Pad : " << (*pad_it)->size() << std::endl;
184 for (mat_it = (*pad_it)->begin(); mat_it != (*pad_it)->end(); ++mat_it, ++imat) {
185 std::cout <<
"Matrix number " << imat << std::endl;
186 std::cout <<
"Number of fired channels: " << (*mat_it)->size() << std::endl;
190 for (chan_it = (*mat_it)->begin(); chan_it != (*mat_it)->end(); ++chan_it, ++ichan) {
191 std::cout <<
"Fired Channel " << ichan <<
" :: bcid " << (*chan_it)->bcid() <<
" ijk " << (*chan_it)->ijk()
192 <<
" channel " << (*chan_it)->channel() << std::endl;
Scalar eta() const
pseudorapidity method
Scalar phi() const
phi method
Athena::TPCnvVers::Old Athena::TPCnvVers::Current Athena::TPCnvVers::Old Athena::TPCnvVers::Current Athena::TPCnvVers::Old Athena::TPCnvVers::Current Athena::TPCnvVers::Current RpcCoinMatrix
Athena::TPCnvVers::Old Athena::TPCnvVers::Current Athena::TPCnvVers::Old Athena::TPCnvVers::Current Athena::TPCnvVers::Old Athena::TPCnvVers::Current Athena::TPCnvVers::Current Athena::TPCnvVers::Current RpcPad
std::map< int, PADreadout, std::less< int > > PAD_Readout
DataModel_detail::const_iterator< DataVector > const_iterator
value_type push_back(value_type pElem)
Add an element to the end of the collection.
size_type size() const noexcept
Returns the number of elements in the collection.
PadReadOut * give_pad_readout(void)
MatrixReadOut * matrices_readout(int) const
PadReadOutStructure getFooter()
PadReadOutStructure getHeader()
ubit16 numberOfCMROFragments()
RpcCoinMatrix * decodeMatrix(MatrixReadOut *matrix, Identifier &id)
const RpcCablingCondData * m_cabling
RpcPad * decodePad(PADreadout &pad)
const RpcIdHelper * m_rpcIdHelper
std::vector< RpcPad * > * m_rpcpads
StatusCode decodeByteStream()
RpcByteStreamDecoder(const RPCbytestream *p_bytestream, const RpcCablingCondData *readCdo, const RpcIdHelper *rpcId, MsgStream *log=nullptr)
const RPCbytestream * m_bytestream
std::map< int, RDOindex, std::less< int > > RDOmap