15#include "GaudiKernel/MsgStream.h"
16#include "GaudiKernel/StatusCode.h"
17#include "GaudiKernel/DataObject.h"
18#include "GaudiKernel/IRegistry.h"
26#include "GaudiKernel/IToolSvc.h"
37 m_tool(
"HLT::HLTResultByteStreamTool"),
58 return StatusCode::SUCCESS;
67 StatusCode
sc = Converter::initialize();
68 if(StatusCode::SUCCESS!=
sc)
73 m_log =
new MsgStream(msgSvc(),
"HLTResultByteStreamCnv");
75 (*m_log) << MSG::DEBUG <<
"HLTResultByteStreamCnv in initialize() " <<
endmsg;
79 (*m_log) << MSG::FATAL <<
"failed to retrieve ByteStreamEventAccess service: "
81 return StatusCode::FAILURE;
83 (*m_log) << MSG::DEBUG <<
"successfully retrieved ByteStreamEventAccess service: "
107 if (
m_tool.retrieve().isFailure() ) {
108 (*m_log) << MSG::FATAL <<
"failed to retrieve converter tool : "
110 return StatusCode::FAILURE;
112 (*m_log) << MSG::DEBUG <<
"successfully retrieved converter tool: "
119 (*m_log) << MSG::FATAL <<
"failed to retrieve ROBDataProviderSvc service: "
121 return StatusCode::FAILURE;
123 (*m_log) << MSG::DEBUG <<
"successfully retrieved ROBDataProviderSvc service: "
142 return StatusCode::SUCCESS;
153 if(pBS_Addr==
nullptr) {
154 (*m_log) << MSG::ERROR <<
" Can not cast to ByteStreamAddress " <<
endmsg ;
156 return StatusCode::FAILURE;
159 const std::string nm = *(pBS_Addr->par()) ;
160 std::vector<ROBData> vRobData;
163 if (
sc != StatusCode::SUCCESS) {
164 (*m_log) << MSG::ERROR <<
"Failed to create object " << nm <<
endmsg;
182 (*m_log) << MSG::ERROR <<
" Cannot cast to HLTResult " <<
endmsg ;
183 return StatusCode::FAILURE;
186 std::string nm = pObj->registry()->name();
192 if ( pAddr !=
nullptr ) pAddr->release();
const boost::regex re(r_e)
macros to associate a CLID to a type
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...
OFFLINE_FRAGMENTS_NAMESPACE_WRITE::FullEventFragment RawEventWrite
data type for writing raw event
IOpaqueAddress for ByteStreamCnvSvc, with ROB ids.
static constexpr long storageType()
virtual StatusCode finalize()
Gaudi finalize.
ServiceHandle< IByteStreamEventAccess > m_ByteStreamEventAccess
Gaudi helper.
ServiceHandle< IROBDataProviderSvc > m_robDataProvider
Gaudi ROB helper.
virtual StatusCode createRep(DataObject *pObj, IOpaqueAddress *&pAddr)
create bytestream from RDOs (HLTResult)
static long storageType()
storageType
MsgStream * m_log
std message stream
ToolHandle< HLTResultByteStreamTool > m_tool
tool for conversion work
static const CLID & classID()
CLID.
virtual StatusCode initialize()
Gaudi initialize.
virtual StatusCode createObj(IOpaqueAddress *pAddr, DataObject *&pObj)
create RDO (HLTResult) from bytestream
HLTResultByteStreamCnv(ISvcLocator *svcloc)
std Gaudi converter constructor
HLT::HLTResult is sumarising result of trigger decision evaluation (online/offline) It contains basic...
bool fromStorable(DataObject *pDObj, T *&pTrans, bool quiet=false, IRegisterTransient *irt=0, bool isConst=true)
DataObject * asStorable(SG::DataObjectSharedPtr< T > pObject)