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

#include <RawDataTofDigiCnv.hpp>

Inheritance diagram for RawDataTofDigiCnv:

Public Member Functions

 RawDataTofDigiCnv (ISvcLocator *svc)
 ~RawDataTofDigiCnv ()
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 10 of file RawDataTofDigiCnv.hpp.

Constructor & Destructor Documentation

◆ RawDataTofDigiCnv()

RawDataTofDigiCnv::RawDataTofDigiCnv ( ISvcLocator * svc)
inline

Definition at line 16 of file RawDataTofDigiCnv.hpp.

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

◆ ~RawDataTofDigiCnv()

RawDataTofDigiCnv::~RawDataTofDigiCnv ( )
inline

Definition at line 18 of file RawDataTofDigiCnv.hpp.

static void destroy()

Member Function Documentation

◆ classID()

const CLID & RawDataTofDigiCnv::classID ( )
inlinestatic

Definition at line 20 of file RawDataTofDigiCnv.hpp.

20{ return CLID_TofDigiCol; }
const CLID & CLID_TofDigiCol

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

◆ createObj()

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

Definition at line 37 of file RawDataTofDigiCnv.hpp.

37 {
38 MsgStream log( msgSvc(), "RawDataTofDigiCnv" );
39
40 uint32_t TEId, TEData, TEOverflow, TETorQ;
41 TofDigi* tofDigi;
42 // Purpose and Method: This converter will create an empty TofDigiCol on
43 // the TDS.
44 TofDigiCol* digiCol = new TofDigiCol;
45 pObj = digiCol;
46
47 // zoujh: for luminosity begin ...................
48 LumiDigiCol* lumiDigiCol = 0;
49 DataObject* pLumi;
50 dataProvider()->findObject( "/Event/Digi/LumiDigiCol", pLumi );
51 if ( pLumi == NULL )
52 {
53 lumiDigiCol = new LumiDigiCol;
54 StatusCode sc = dataProvider()->registerObject( "/Event/Digi/LumiDigiCol", lumiDigiCol );
55 if ( sc.isFailure() )
56 { log << MSG::ERROR << "Could not register LumiDigiCol in TDS!" << endmsg; }
57 }
58 else { lumiDigiCol = dynamic_cast<LumiDigiCol*>( pLumi ); }
59 // zoujh: for luminosity end ^^^^^^^^^^^^^^^^^^^^^
60
61 RAWEVENT* evt = m_inputSvc->currentEvent();
62 if ( evt == NULL )
63 {
64 cout << "RawDataTofDigiCnv::createObj has no event!" << endl;
65 return StatusCode::FAILURE;
66 }
67
68 const BufferHolder& tofBuf = evt->getTofBuf();
69 const BufferHolder& etfBuf = evt->getEtfBuf();
70
71 return m_cnv->convert( tofBuf, etfBuf, digiCol, lumiDigiCol );
72 }
ObjectVector< LumiDigi > LumiDigiCol
IMessageSvc * msgSvc()
IRawDataInputSvc * m_inputSvc

◆ createRep()

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

Definition at line 74 of file RawDataTofDigiCnv.hpp.

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

◆ initialize()

StatusCode RawDataTofDigiCnv::initialize ( )
inlineoverride

Definition at line 22 of file RawDataTofDigiCnv.hpp.

22 {
23 MsgStream log( msgSvc(), "RawDataTofDigiCnv" );
24 log << MSG::INFO << "RawDataTofDigiCnv::initialize()" << endmsg;
25
27 if ( sc.isFailure() )
28 {
29 log << MSG::ERROR << "Failed to initialize RawDataBaseCnv" << endmsg;
30 return sc;
31 }
32
33 m_cnv = TofConverter::instance();
34 return StatusCode::SUCCESS;
35 }
StatusCode initialize()
static TofConverter * instance()

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