27 (
"TileDigitsContByteStreamTool", 1, 0);
35 ,
const std::string& name,
const IInterface* parent )
41 declareInterface< TileDigitsContByteStreamTool >(
this );
50 ATH_MSG_INFO (
"Initializing TileDigitsContByteStreamTool");
54 ToolHandle<TileROD_Decoder> dec(
"TileROD_Decoder");
62 return StatusCode::SUCCESS;
66 ATH_MSG_INFO (
"Finalizing TileDigitsContByteStreamTool successfuly");
67 return StatusCode::SUCCESS;
76 std::map<uint32_t, TileROD_Encoder> mapEncoder;
78 ATH_MSG_DEBUG(
" number of digits collections " << digitsContainer->
size() <<
" " <<
evtStore()->proxy(digitsContainer)->name() );
84 bool isTMDB =
evtStore()->proxy(digitsContainer)->name() ==
"MuRcvDigitsCnt";
91 reid = hid2re->getRodTileMuRcvID(frag_id);
94 reid = hid2re->getRodID(frag_id);
98 for (
const TileDigits* digits : *digitsCollection) {
99 mapEncoder[reid].addDigi(digits);
104 ATH_MSG_DEBUG(
" Collection " << m <<
": " << MSG::hex <<
"0x" << frag_id
105 <<
" ROD " <<
"0x" << reid
106 <<
" number of channels " << MSG::dec << n );
111 for (std::pair<const uint32_t, TileROD_Encoder>& reidAndEncoder: mapEncoder) {
113 theROD = fea->
getRodData(reidAndEncoder.first);
118 if ((reidAndEncoder.first & 0xf00)) {
125 ATH_MSG_DEBUG(
" Number words in ROD " << MSG::hex <<
" 0x"<< reidAndEncoder.first << MSG::dec <<
" : " << theROD->size() );
128 return StatusCode::SUCCESS;
#define ATH_CHECK
Evaluate an expression and check for errors.
macros to associate a CLID to a type
Helpers for checking error return status codes and reporting errors.
ServiceHandle< StoreGateSvc > & evtStore()
const ServiceHandle< StoreGateSvc > & detStore() const
Template class for assembling a full atlas raw event from subfragments.
std::vector< uint32_t > RODDATA
ROD data as a vector of unsigned int.
RODDATA * getRodData(uint32_t id)
get a block of ROD data
size_t size() const
Duplicate of fullSize for backwards compatability.
static const TileCablingService * getInstance()
get pointer to service instance
Provides conversion from TileRawChannel, TileL2 and TMDB (digits,MF raw channel,decision) to ROD form...
void fillROD5D(std::vector< uint32_t > &v)
void fillROD1(std::vector< uint32_t > &v)
convert all TileDigits in the current list to a vector of 32bit words
void fillRODTileMuRcvDigi(std::vector< uint32_t > &v)
convert the TMDB objects into a vector of 32bit words: 8bit words/digit, 16bit words/RC,...