2#include "GaudiKernel/MsgStream.h"
3#include "GaudiKernel/IDataProviderSvc.h"
5#include "GaudiKernel/ThreadGaudi.h"
8#include "EventModel/EventModel.h"
9#include "LumiDigi/LumiDigi.h"
10#include "RawDataCnv/RawDataInputSvc.h"
11#include "RawDataCnv/RawDataLumiDigiCnv.h"
38 std::string PackedRawDataCnvSvc_Name(
"PackedRawDataCnvSvc");
39 std::string RawDataInputSvc_Name(
"RawDataInputSvc");
40 std::string RawDataLumiDigiCnv_Name(
"RawDataLumiDigiCnv");
45 SmartIF<IService> pCnvSvc(conversionSvc());
46 if (isGaudiThreaded(pCnvSvc->name())){
47 PackedRawDataCnvSvc_Name += getGaudiThreadIDfromName(pCnvSvc->name());
48 RawDataInputSvc_Name += getGaudiThreadIDfromName(pCnvSvc->name());
49 RawDataLumiDigiCnv_Name += getGaudiThreadIDfromName(pCnvSvc->name());
54 if(StatusCode::SUCCESS!=sc)
59 MsgStream log(messageService(), RawDataLumiDigiCnv_Name.c_str());
63 StatusCode status = serviceLocator()->service(PackedRawDataCnvSvc_Name.c_str(), isvc,
true);
66 if(m_RawDataAccess == 0 ) {
67 log<<MSG::ERROR<<
" RawDataLumiCnv: Cant cast to RawDataCnvSvc " <<endreq;
68 return StatusCode::FAILURE ;
72 log << MSG::INFO <<
"RawDataCnvSvc retrieved "<< endreq;
75 sc = serviceLocator()->getService(RawDataInputSvc_Name.c_str(), svc);
76 if(sc != StatusCode::SUCCESS ) {
77 log<<MSG::WARNING <<
" Cant get RawDataInputSvc " <<endreq;
82 if(m_inputSvc == 0 ) {
83 log<<MSG::WARNING<<
" Cant cast to RawDataInputSvc " <<endreq;
84 return StatusCode::FAILURE ;
87 return StatusCode::SUCCESS;
97 return Converter::updateObj(pAddr, pObj);
104 dataProvider()->findObject(
"/Event/Digi/LumiDigiCol", pLumi);
106 if ( pLumi == NULL ) {
108 dataProvider()->registerObject(
"/Event/Digi/LumiDigiCol", lumiDigiCol);
115 return StatusCode::SUCCESS;
120 return StatusCode::SUCCESS;
const CLID & CLID_LumiDigiCol
ObjectVector< LumiDigi > LumiDigiCol
unsigned const long PACKEDRAWEVENT_StorageType
const CLID & CLID_LumiDigiCol
static const CLID & classID()
StatusCode createObj(IOpaqueAddress *pAddr, DataObject *&pObj)
virtual StatusCode updateObj(IOpaqueAddress *, DataObject *)
override the RawDataBaseCnv version
RawDataLumiDigiCnv(ISvcLocator *svc)
virtual StatusCode createRep(DataObject *pObj, IOpaqueAddress *&pAddr)
Convert the transient object to the requested representation.