BOSS 8.0.0
BESIII Offline Software System
Loading...
Searching...
No Matches
RawDataMdcDigiCnv Class Reference

#include <RawDataMdcDigiCnv.hpp>

Inheritance diagram for RawDataMdcDigiCnv:

Public Member Functions

 RawDataMdcDigiCnv (ISvcLocator *svc)
 ~RawDataMdcDigiCnv ()
StatusCode initialize () override
StatusCode createObj (IOpaqueAddress *pAddr, DataObject *&pObj)
StatusCode createRep (DataObject *pObj, IOpaqueAddress *&pAddr)
Public Member Functions inherited from RawDataBaseCnv
StatusCode initialize ()
long repSvcType () const
const long storageType ()
Public Member Functions inherited from Converter< Ty1, Ty2 >
destinationoperator (const source &) const
destinationoperator (const source &) const
destinationoperator (const source &) const

Static Public Member Functions

static const CLID & classID ()

Additional Inherited Members

Public Types inherited from Converter< Ty1, Ty2 >
typedef Ty1 source
typedef Ty2 destination
typedef Ty1 source
typedef Ty2 destination
typedef Ty1 source
typedef Ty2 destination
Protected Member Functions inherited from RawDataBaseCnv
 RawDataBaseCnv (long storageType, const CLID &clid, ISvcLocator *svc)
 RawDataBaseCnv (ISvcLocator *svc, const CLID &clid)
Protected Member Functions inherited from Converter< Ty1, Ty2 >
virtual destinationconvert (const source &) const =0
virtual destinationconvert (const source &) const =0
virtual destinationconvert (const source &) const =0
Protected Attributes inherited from RawDataBaseCnv
std::vector< IRawDataCnvSvc::Leafm_leaves
IRawDataCnvSvcm_cnvSvc
IRawDataInputSvcm_inputSvc

Detailed Description

Definition at line 13 of file RawDataMdcDigiCnv.hpp.

Constructor & Destructor Documentation

◆ RawDataMdcDigiCnv()

RawDataMdcDigiCnv::RawDataMdcDigiCnv ( ISvcLocator * svc)
inline

Definition at line 22 of file RawDataMdcDigiCnv.hpp.

22: RawDataBaseCnv( svc, classID() ) {}
RawDataBaseCnv(long storageType, const CLID &clid, ISvcLocator *svc)
static const CLID & classID()

◆ ~RawDataMdcDigiCnv()

RawDataMdcDigiCnv::~RawDataMdcDigiCnv ( )
inline

Definition at line 23 of file RawDataMdcDigiCnv.hpp.

static void destroy()

Member Function Documentation

◆ classID()

const CLID & RawDataMdcDigiCnv::classID ( )
inlinestatic

Definition at line 46 of file RawDataMdcDigiCnv.hpp.

46{ return CLID_MdcDigiCol; }
const CLID & CLID_MdcDigiCol

Referenced by RawDataCnvSvc::addConverters(), RawDataCnvSvc::createConverter(), and RawDataMdcDigiCnv().

◆ createObj()

StatusCode RawDataMdcDigiCnv::createObj ( IOpaqueAddress * pAddr,
DataObject *& pObj )
inline

Definition at line 48 of file RawDataMdcDigiCnv.hpp.

48 {
49 // MsgStream log(msgSvc(), "RawDataMdcDigiCnv");
50
51 // Purpose and Method: This converter will create an empty MdcDigiCol on
52 // the TDS.
53 MdcDigiCol* digiCol = new MdcDigiCol;
54 pObj = digiCol;
55
56 RAWEVENT* evt = m_inputSvc->currentEvent();
57
58 if ( evt == NULL )
59 {
60 // log << MSG::ERROR << "RawDataMdcDigiCnv::createObj has event!" << endmsg;
61 return StatusCode::FAILURE;
62 }
63
64 int runId = evt->eventHeader().run_number();
65 m_cnv->setRunId( runId );
66
67 const BufferHolder& mdcBuf = evt->getMdcBuf();
68
69 return m_cnv->convert( mdcBuf, digiCol );
70 }
IRawDataInputSvc * m_inputSvc

◆ createRep()

StatusCode RawDataMdcDigiCnv::createRep ( DataObject * pObj,
IOpaqueAddress *& pAddr )
inline

Definition at line 72 of file RawDataMdcDigiCnv.hpp.

72 {
73 // convert PixelRaw in the container into ByteStream
74 MsgStream log( msgSvc(), "RawDataMdcDigiCnv" );
75
76 WriteRawEvent*& re = m_cnvSvc->getRawEvent();
77 if ( re == 0 )
78 {
79 log << " get RawEvent failed !" << endmsg;
80 return StatusCode::FAILURE;
81 }
82
83 SmartDataPtr<MdcDigiCol> digiCol( dataProvider(), EventModel::Digi::MdcDigiCol );
84 if ( digiCol == 0 )
85 {
86 log << "no MdcDigiCol found" << endmsg;
87 return StatusCode::FAILURE;
88 }
89
90 return m_cnv->convert( digiCol, re );
91 }
eformat::write::FullEventFragment WriteRawEvent
IMessageSvc * msgSvc()
IRawDataCnvSvc * m_cnvSvc

◆ initialize()

StatusCode RawDataMdcDigiCnv::initialize ( )
inlineoverride

Definition at line 25 of file RawDataMdcDigiCnv.hpp.

25 {
26 MsgStream log( msgSvc(), "RawDataMdcDigiCnv" );
27 log << MSG::INFO << "RawDataMdcDigiCnv::initialize()" << endmsg;
28
30 if ( sc.isFailure() )
31 {
32 log << MSG::ERROR << "Failed to initialize RawDataBaseCnv" << endmsg;
33 return sc;
34 }
35
36 auto jobSvc = serviceLocator()->service<Gaudi::Interfaces::IOptionsSvc>( "JobOptionsSvc" );
37 Gaudi::Parsers::parse( m_runFrom, jobSvc->get( "RawDataMdcDigiCnv.ExWireFromRun", "0" ) );
38 Gaudi::Parsers::parse( m_runTo, jobSvc->get( "RawDataMdcDigiCnv.ExWireToRun", "999999" ) );
39
40 m_cnv = MdcConverter::instance( m_inputSvc->runMode() );
41 m_cnv->init( m_inputSvc->config( "MDCID_FIX" ) );
42
43 return StatusCode::SUCCESS;
44 }
static MdcConverter * instance(int runMode=2)
StatusCode initialize()

The documentation for this class was generated from the following file: