|
ATLAS Offline Software
|
Go to the documentation of this file.
6 #include "GaudiKernel/StatusCode.h"
7 #include "GaudiKernel/DataObject.h"
37 :
AthConstConverter(storageType(), classID(), svcloc,
"TileDigitsContByteStreamCnv")
38 , m_tool(
"TileDigitsContByteStreamTool")
39 , m_byteStreamCnvSvc(
"ByteStreamCnvSvc",
name())
40 , m_robSvc(
"ROBDataProviderSvc",
name())
41 , m_decoder(
"TileROD_Decoder")
68 return StatusCode::SUCCESS;
79 return StatusCode::FAILURE;
82 const std::string containerName(*(pRE_Addr->par()));
83 bool isTMDB(containerName == std::string(
"MuRcvDigitsCnt"));
84 bool isFELIX(containerName == std::string(
"TileDigitsFlxCnt"));
88 std::vector<uint32_t> robid(1);
90 std::vector<const ROBDataProviderSvc::ROBF*> robf;
99 digitsCollection->
clear();
105 }
else if (isFELIX) {
111 if (newrob != robid[0]) {
114 m_robSvc->getROBData(Gaudi::Hive::currentContext(), robid, robf);
117 if (robf.size() > 0 ) {
120 m_decoder->fillCollection_TileMuRcv_Digi(robf[0], *digitsCollection);
123 m_decoder->fillCollection_FELIX_Digi(robf[0], *digitsCollection);
125 m_decoder->fillCollection(robf[0], *digitsCollection);
130 ATH_MSG_DEBUG(
"Status for " << ((isTMDB)?
"TMDB ":
"") <<
"drawer 0x" << MSG::hex << collID <<
" in Digi frag is 0x" <<
status << MSG::dec);
136 ATH_MSG_DEBUG(
"Creating digits container: " << containerName );
142 return StatusCode::SUCCESS;
156 std::string
key(
"Tile");
165 return StatusCode::FAILURE;
168 std::string
name = pObj->registry()->name();
176 return m_tool->convert(digicont, fea);
def finalize(self)
_info( "content of StoreGate..." ) self.sg.dump()
ToolHandle< TileROD_Decoder > m_decoder
Pointer to TileROD_Decoder.
Template class for assembling a full atlas raw event from subfragments.
virtual StatusCode createRepConst(DataObject *pObj, IOpaqueAddress *&pAddr) const override
Convert the transient object to the requested representation.
bool fromStorable(DataObject *pDObj, T *&pTrans, bool quiet=false, IRegisterTransient *irt=0, bool isConst=true)
convert to and from a SG storable
StatusCode status() const
Return the error status from the constructors.
virtual StatusCode initialize() override
uint32_t getRobFromFragID(int frag_id) const
make a ROB SrcID for a fragment ID
uint32_t getRobFromTileMuRcvFragID(int frag_id) const
const TileHid2RESrcID * m_hid2re
Pointer to TileHid2RESrcID.
Gaudi converter base class with const interfaces.
virtual StatusCode createObjConst(IOpaqueAddress *pAddr, DataObject *&pObj) const override
Create the transient representation of an object.
DataObject * asStorable(SG::DataObjectSharedPtr< T > pObject)
static const CLID & ID()
the CLID of T
::StatusCode StatusCode
StatusCode definition for legacy code.
Helper for holding non-const raw data prior to recording in SG.
IOpaqueAddress for ByteStreamCnvSvc, with ROB ids.
ServiceHandle< IByteStreamCnvSvc > m_byteStreamCnvSvc
ToolHandle< TileDigitsContByteStreamTool > m_tool
uint32_t CLID
The Class ID type.
void clear()
Clear everything for next event.
static constexpr long storageType()
static const unsigned int FELIX_FRAGID_OFFSET
Offset for frag ID used for FELIX in frag ID to ROB ID map.
Collection * indexFindPtr(IdentifierHash hash)
Look up a (non-const) collection via hash.
Helpers for checking error return status codes and reporting errors.
const std::string & name() const
Incident sent after a store is cleared.
void setFragBCID(uint32_t bcid)
Set BCID.
TileDigitsContByteStreamCnv(ISvcLocator *svcloc)
ServiceHandle< IROBDataProviderSvc > m_robSvc
Pointer to IROBDataProviderSvc.
static const CLID & classID()
This is a "hash" representation of an Identifier. This encodes a 32 bit index which can be used to lo...
macros to associate a CLID to a type
virtual StatusCode finalize() override
static long storageType()