7#include "GaudiKernel/MsgStream.h"
26 m_tool(
"CTPByteStreamTool" ),
56 MsgStream log( msgSvc(),
"CTPByteStreamCnv" );
57 log << MSG::DEBUG <<
"CTPByteStreamCnv in initialize() " <<
endmsg;
63 log << MSG::DEBUG <<
"Connected to ByteStreamEventAccess interface" <<
endmsg;
69 log << MSG::DEBUG <<
"Connected to CTPByteStreamTool" <<
endmsg;
75 log << MSG::WARNING <<
"Can't get ROBDataProviderSvc" <<
endmsg;
78 log << MSG::DEBUG <<
"Connected to ROBDataProviderSvc" <<
endmsg;
81 return StatusCode::SUCCESS;
91 MsgStream log( msgSvc(),
"CTPByteStreamCnv" );
92 log << MSG::DEBUG <<
"createObj() called" <<
endmsg;
97 log << MSG::ERROR <<
"Can not cast input to ByteStreamAddress" <<
endmsg ;
98 return StatusCode::FAILURE;
101 log << MSG::DEBUG <<
"Creating Objects: " << *( pBS_Addr->par() ) <<
endmsg;
108 log << MSG::DEBUG <<
"expected ROB sub-detector ID: " << std::hex
109 << robId << std::dec <<
endmsg;
111 std::vector< uint32_t > vID;
112 vID.push_back( robId );
123 if( robFrags.size() != 1 ) {
124 log << MSG::WARNING <<
"Number of ROB fragments is " << robFrags.size() <<
endmsg;
125 log << MSG::WARNING <<
"Creating empty CTP_RDO object" <<
endmsg;
129 return StatusCode::SUCCESS;
135 IROBDataProviderSvc::VROBFRAG::const_iterator it = robFrags.begin();
141 return StatusCode::SUCCESS;
151 MsgStream log( msgSvc(),
"CTPByteStreamCnv" );
152 log << MSG::DEBUG <<
"createRep() called" <<
endmsg;
158 log << MSG::ERROR <<
" Cannot cast to CTP_RDO" <<
endmsg;
159 return StatusCode::FAILURE;
const boost::regex re(r_e)
#define ATH_CHECK
Evaluate an expression and check for errors.
uint32_t CLID
The Class ID type.
Defines the ROB data entity. The ROB data is an abstract entity that is used to decouple the raw even...
ROBData_T< OFFLINE_FRAGMENTS_NAMESPACE::ROBFragment, OFFLINE_FRAGMENTS_NAMESPACE::PointerType > ROBData
OFFLINE_FRAGMENTS_NAMESPACE_WRITE::FullEventFragment RawEventWrite
data type for writing raw event
convert to and from a SG storable
IOpaqueAddress for ByteStreamCnvSvc, with ROB ids.
static constexpr long storageType()
static const CLID & classID()
Function needed by the framework.
virtual StatusCode createRep(DataObject *pObj, IOpaqueAddress *&pAddr) override
Function creating the CTP ROB fragment from a CTP_RDO object.
virtual StatusCode createObj(IOpaqueAddress *pAddr, DataObject *&pObj) override
Function creating the CTP_RDO object from a CTP ROB fragment.
ToolHandle< CTPByteStreamTool > m_tool
Tool doing the actual conversion.
CTPByteStreamCnv(ISvcLocator *svcloc)
Standard constructor.
virtual StatusCode initialize() override
Function connecting to all the needed services/tools.
ServiceHandle< IROBDataProviderSvc > m_robDataProvider
Service used when reading the BS data.
CTPSrcIdMap m_srcIdMap
Object storing the various IDs of the CTP fragment.
static long storageType()
Function needed by the framework.
ServiceHandle< IByteStreamEventAccess > m_ByteStreamEventAccess
Service used when writing the BS data.
std::vector< const ROBF * > VROBFRAG
bool fromStorable(DataObject *pDObj, T *&pTrans, bool quiet=false, IRegisterTransient *irt=0, bool isConst=true)
DataObject * asStorable(SG::DataObjectSharedPtr< T > pObject)