12#include "GaudiKernel/MsgStream.h"
13#include "GaudiKernel/SmartDataPtr.h"
15#include "GaudiKernel/ThreadGaudi.h"
18#include "EventModel/EventModel.h"
19#include "MucRawEvent/MucDigi.h"
20#include "RawDataCnv/EventManagement/RAWEVENT.h"
21#include "RawDataCnv/EventManagement/RawEvent.h"
22#include "RawDataCnv/RawDataInputSvc.h"
23#include "RawDataCnv/RawDataMucDigiCnv.h"
49 std::string PackedRawDataCnvSvc_Name(
"PackedRawDataCnvSvc");
50 std::string RawDataInputSvc_Name(
"RawDataInputSvc");
51 std::string RawDataMucDigiCnv_Name(
"RawDataMucDigiCnv");
56 SmartIF<IService> pCnvSvc(conversionSvc());
57 if (isGaudiThreaded(pCnvSvc->name())){
58 PackedRawDataCnvSvc_Name += getGaudiThreadIDfromName(pCnvSvc->name());
59 RawDataInputSvc_Name += getGaudiThreadIDfromName(pCnvSvc->name());
60 RawDataMucDigiCnv_Name += getGaudiThreadIDfromName(pCnvSvc->name());
64 MsgStream log(messageService(), RawDataMucDigiCnv_Name.c_str());
67 if ( sc.isFailure() ) {
73 StatusCode status = serviceLocator()->service(PackedRawDataCnvSvc_Name.c_str(), isvc,
true);
75 if(m_RawDataAccess == 0 ) {
76 log<<MSG::ERROR<<
" MucRawDataCnv: Cant cast to RawDataCnvSvc " <<endreq;
77 return StatusCode::FAILURE ;
81 sc = serviceLocator()->getService(RawDataInputSvc_Name.c_str(), svc);
87 if ( m_inputSvc == 0 ) {
88 log<< MSG::WARNING <<
" Cant cast to RawDataInputSvc " <<endreq;
89 return StatusCode::FAILURE ;
94 return StatusCode::SUCCESS;
104 return Converter::updateObj(pAddr, pObj);
118 cout <<
"RawDataMucDigiCnv::createObj has event!" << endl;
119 return StatusCode::FAILURE;
124 return m_cnv->
convert(mucBuf, digiCol);
135 return StatusCode::FAILURE;
141 return StatusCode::FAILURE;
158 return m_cnv->
convert(digiCol, re);
const CLID & CLID_MucDigiCol
unsigned const long PACKEDRAWEVENT_StorageType
ObjectVector< MucDigi > MucDigiCol
const CLID & CLID_MucDigiCol
static MucConverter * instance()
StatusCode convert(const BufferHolder &src, MucDigiCol *des)
virtual WriteRawEvent *& getRawEvent()
const BufferHolder & getMucBuf() const
virtual StatusCode createRep(DataObject *pObj, IOpaqueAddress *&pAddr)
Convert the transient object to the requested representation.
virtual StatusCode updateObj(IOpaqueAddress *, DataObject *)
override the RawDataBaseCnv version
RawDataMucDigiCnv(ISvcLocator *svc)
StatusCode createObj(IOpaqueAddress *pAddr, DataObject *&pObj)
static const CLID & classID()
_EXTERN_ std::string MucDigiCol