BOSS 7.1.0
BESIII Offline Software System
|
Base class for all Root Converters. More...
#include <RootEventBaseCnv.h>
Public Member Functions | |
RootEventBaseCnv (const CLID &clid, ISvcLocator *svc) | |
virtual | ~RootEventBaseCnv () |
virtual long | repSvcType () const |
virtual StatusCode | initialize () |
virtual StatusCode | finalize () |
void | declareObject (const std::string &fullPath, const CLID &clid, const std::string &treename, const std::string &branchname) |
Store TDS path to link a particular converter to an object on the TDS. | |
virtual StatusCode | createObj (IOpaqueAddress *addr, DataObject *&dat) |
Convert the persistent object to transient. | |
virtual StatusCode | createRep (DataObject *pObject, IOpaqueAddress *&refpAddress) |
Convert the transient object to the requested representation. | |
virtual StatusCode | fillRepRefs (IOpaqueAddress *pAddress, DataObject *pObject) |
Resolve the references of the converted object. | |
virtual StatusCode | fillObjRefs (IOpaqueAddress *pAddress, DataObject *pObject) |
Resolve the references of the converted object. | |
virtual StatusCode | DataObjectToTObject (DataObject *dat, RootAddress *addr)=0 |
Do the concrete conversion from TDS to ROOT. | |
virtual StatusCode | TObjectToDataObject (DataObject *&dat)=0 |
Do the concrete conversion from ROOT to TDS. | |
TObject * | getReadObject () const |
get the object to be read | |
Public Member Functions inherited from Converter< Ty1, Ty2 > | |
destination * | operator (const source &) const |
Static Public Member Functions | |
static const unsigned char | storageType () |
Storage type and class ID. | |
Protected Attributes | |
RootCnvSvc * | m_cnvSvc |
std::vector< RootCnvSvc::Leaf > | m_leaves |
RootInterface * | m_rootInterface |
pointer to the RootInterface | |
IDataProviderSvc * | m_eds |
pointer to eventdataservice | |
int | m_branchNr |
the branchNr of this converter for writing | |
int | m_branchNrDst |
int | m_branchNrMc |
int | m_branchNrRecon |
int | m_branchNrEvtRec |
int | m_branchNrEvtHeader |
int | m_branchNrEvtNavigator |
TObject * | m_objRead |
the object that was read | |
CLID | CLID_top |
the CLID of the upper converter if any | |
TArrayS * | m_branchNumbers |
array with number of branches for reading | |
std::string | m_rootBranchname |
root branchname (may be concatenated of severals) | |
std::string | m_rootTreename |
each converter knows it's treename | |
std::string | m_currentFileName |
std::vector< void * > | m_adresses |
each converter knows the corresponding adresses | |
RootEvtSelector * | m_evtsel |
Additional Inherited Members | |
Public Types inherited from Converter< Ty1, Ty2 > | |
typedef Ty1 | source |
typedef Ty2 | destination |
Protected Member Functions inherited from Converter< Ty1, Ty2 > | |
virtual destination * | convert (const source &) const =0 |
Base class for all Root Converters.
Based on SICb's SicbBaseCnv all specific converters inherit from this base class. The basic functions they have to implement are the pure conversions to and from DataObjects/Root Objects. In case there is more to do ( calling of upper converters, creation of branches for writing, reading of subbranches) they may also override the methods createObj/createRep. Based on the RootEventBaseCnv of Glast.
Definition at line 38 of file RootEventBaseCnv.h.
RootEventBaseCnv::RootEventBaseCnv | ( | const CLID & | clid, |
ISvcLocator * | svc | ||
) |
Definition at line 29 of file RootEventBaseCnv.cxx.
|
inlinevirtual |
Definition at line 83 of file RootEventBaseCnv.h.
|
virtual |
Convert the persistent object to transient.
Reimplemented in EventCnv.
Definition at line 157 of file RootEventBaseCnv.cxx.
|
virtual |
Convert the transient object to the requested representation.
Definition at line 78 of file RootEventBaseCnv.cxx.
Referenced by EmcDigiCnv::DataObjectToTObject(), LumiDigiCnv::DataObjectToTObject(), MdcDigiCnv::DataObjectToTObject(), MucDigiCnv::DataObjectToTObject(), TofDigiCnv::DataObjectToTObject(), EmcTrackCnv::DataObjectToTObject(), ExtTrackCnv::DataObjectToTObject(), MdcDedxCnv::DataObjectToTObject(), MdcKalTrackCnv::DataObjectToTObject(), MdcTrackCnv::DataObjectToTObject(), MucTrackCnv::DataObjectToTObject(), TofTrackCnv::DataObjectToTObject(), EvtRecDTagCnv::DataObjectToTObject(), EvtRecEtaToGGCnv::DataObjectToTObject(), EvtRecEventCnv::DataObjectToTObject(), EvtRecPi0Cnv::DataObjectToTObject(), EvtRecPrimaryVertexCnv::DataObjectToTObject(), EvtRecTrackCnv::DataObjectToTObject(), EvtRecVeeVertexCnv::DataObjectToTObject(), DstHltInfCnv::DataObjectToTObject(), HltInfCnv::DataObjectToTObject(), HltRawCnv::DataObjectToTObject(), EmcMcHitCnv::DataObjectToTObject(), McParticleCnv::DataObjectToTObject(), MdcMcHitCnv::DataObjectToTObject(), MucMcHitCnv::DataObjectToTObject(), TofMcHitCnv::DataObjectToTObject(), RecEmcClusterCnv::DataObjectToTObject(), RecEmcHitCnv::DataObjectToTObject(), RecEmcShowerCnv::DataObjectToTObject(), RecEvTimeCnv::DataObjectToTObject(), RecExtTrackCnv::DataObjectToTObject(), RecMdcDedxCnv::DataObjectToTObject(), RecMdcDedxHitCnv::DataObjectToTObject(), RecMdcHitCnv::DataObjectToTObject(), RecMdcKalHelixSegCnv::DataObjectToTObject(), RecMdcKalTrackCnv::DataObjectToTObject(), RecMdcTrackCnv::DataObjectToTObject(), RecMucTrackCnv::DataObjectToTObject(), RecTofTrackCnv::DataObjectToTObject(), RecZddChannelCnv::DataObjectToTObject(), and TrigDataCnv::DataObjectToTObject().
|
pure virtual |
Do the concrete conversion from TDS to ROOT.
Implemented in DigiCnv, EmcDigiCnv, LumiDigiCnv, MdcDigiCnv, MucDigiCnv, TofDigiCnv, DstCnv, EmcTrackCnv, ExtTrackCnv, MdcDedxCnv, MdcKalTrackCnv, MdcTrackCnv, MucTrackCnv, TofTrackCnv, EventCnv, EvtHeaderCnv, EvtNavigatorCnv, EvtRecCnv, EvtRecDTagCnv, EvtRecEtaToGGCnv, EvtRecEventCnv, EvtRecPi0Cnv, EvtRecPrimaryVertexCnv, EvtRecTrackCnv, EvtRecVeeVertexCnv, DstHltInfCnv, HltCnv, HltInfCnv, HltRawCnv, EmcMcHitCnv, McCnv, McParticleCnv, MdcMcHitCnv, MucMcHitCnv, TofMcHitCnv, RecBTofCalHitCnv, RecEmcClusterCnv, RecEmcHitCnv, RecEmcShowerCnv, RecETofCalHitCnv, RecEvTimeCnv, RecExtTrackCnv, RecMdcDedxCnv, RecMdcDedxHitCnv, RecMdcHitCnv, RecMdcKalHelixSegCnv, RecMdcKalTrackCnv, RecMdcTrackCnv, RecMucRecHitCnv, RecMucTrackCnv, RecTofTrackCnv, RecTrackCnv, RecZddChannelCnv, TrigCnv, and TrigDataCnv.
Referenced by createRep().
void RootEventBaseCnv::declareObject | ( | const std::string & | fullPath, |
const CLID & | clid, | ||
const std::string & | treename, | ||
const std::string & | branchname | ||
) |
Store TDS path to link a particular converter to an object on the TDS.
Definition at line 150 of file RootEventBaseCnv.cxx.
Referenced by RecMucRecHitCnv::RecMucRecHitCnv().
|
virtual |
Resolve the references of the converted object.
Definition at line 117 of file RootEventBaseCnv.cxx.
|
virtual |
Resolve the references of the converted object.
Definition at line 109 of file RootEventBaseCnv.cxx.
|
virtual |
Definition at line 142 of file RootEventBaseCnv.cxx.
|
inline |
get the object to be read
Definition at line 127 of file RootEventBaseCnv.h.
Referenced by createObj().
|
virtual |
Reimplemented in DigiCnv, DstCnv, EvtHeaderCnv, EvtNavigatorCnv, EvtRecCnv, HltCnv, McCnv, RecTrackCnv, and TrigCnv.
Definition at line 126 of file RootEventBaseCnv.cxx.
Referenced by DigiCnv::initialize(), DstCnv::initialize(), EvtHeaderCnv::initialize(), EvtNavigatorCnv::initialize(), EvtRecCnv::initialize(), HltCnv::initialize(), McCnv::initialize(), RecTrackCnv::initialize(), and TrigCnv::initialize().
|
inlinevirtual |
Definition at line 90 of file RootEventBaseCnv.h.
|
inlinestatic |
Storage type and class ID.
Definition at line 86 of file RootEventBaseCnv.h.
|
pure virtual |
Do the concrete conversion from ROOT to TDS.
Implemented in EventCnv, EmcDigiCnv, LumiDigiCnv, MdcDigiCnv, MucDigiCnv, TofDigiCnv, EmcTrackCnv, ExtTrackCnv, MdcDedxCnv, MdcKalTrackCnv, MdcTrackCnv, MucTrackCnv, TofTrackCnv, EvtRecCnv, EvtRecDTagCnv, EvtRecEtaToGGCnv, EvtRecEventCnv, EvtRecPi0Cnv, EvtRecPrimaryVertexCnv, EvtRecTrackCnv, EvtRecVeeVertexCnv, DstHltInfCnv, HltInfCnv, HltRawCnv, EmcMcHitCnv, McParticleCnv, MdcMcHitCnv, MucMcHitCnv, TofMcHitCnv, RecBTofCalHitCnv, RecEmcClusterCnv, RecEmcHitCnv, RecEmcShowerCnv, RecETofCalHitCnv, RecEvTimeCnv, RecExtTrackCnv, RecMdcDedxCnv, RecMdcDedxHitCnv, RecMdcHitCnv, RecMdcKalHelixSegCnv, RecMdcKalTrackCnv, RecMdcTrackCnv, RecMucRecHitCnv, RecMucTrackCnv, RecTofTrackCnv, RecZddChannelCnv, TrigDataCnv, DigiCnv, DstCnv, EvtHeaderCnv, EvtNavigatorCnv, HltCnv, McCnv, RecTrackCnv, and TrigCnv.
Referenced by createObj().
|
protected |
the CLID of the upper converter if any
Definition at line 63 of file RootEventBaseCnv.h.
Referenced by createObj(), and RootEventBaseCnv().
|
protected |
each converter knows the corresponding adresses
Definition at line 75 of file RootEventBaseCnv.h.
Referenced by createObj(), DigiCnv::DigiCnv(), DstHltInfCnv::DstHltInfCnv(), EmcDigiCnv::EmcDigiCnv(), EmcMcHitCnv::EmcMcHitCnv(), EmcTrackCnv::EmcTrackCnv(), EvtHeaderCnv::EvtHeaderCnv(), EvtNavigatorCnv::EvtNavigatorCnv(), EvtRecDTagCnv::EvtRecDTagCnv(), EvtRecEtaToGGCnv::EvtRecEtaToGGCnv(), EvtRecEventCnv::EvtRecEventCnv(), EvtRecPi0Cnv::EvtRecPi0Cnv(), EvtRecPrimaryVertexCnv::EvtRecPrimaryVertexCnv(), EvtRecTrackCnv::EvtRecTrackCnv(), EvtRecVeeVertexCnv::EvtRecVeeVertexCnv(), ExtTrackCnv::ExtTrackCnv(), HltInfCnv::HltInfCnv(), HltRawCnv::HltRawCnv(), LumiDigiCnv::LumiDigiCnv(), McParticleCnv::McParticleCnv(), MdcDedxCnv::MdcDedxCnv(), MdcDigiCnv::MdcDigiCnv(), MdcKalTrackCnv::MdcKalTrackCnv(), MdcMcHitCnv::MdcMcHitCnv(), MdcTrackCnv::MdcTrackCnv(), MucDigiCnv::MucDigiCnv(), MucMcHitCnv::MucMcHitCnv(), MucTrackCnv::MucTrackCnv(), RecBTofCalHitCnv::RecBTofCalHitCnv(), RecEmcClusterCnv::RecEmcClusterCnv(), RecEmcHitCnv::RecEmcHitCnv(), RecEmcShowerCnv::RecEmcShowerCnv(), RecETofCalHitCnv::RecETofCalHitCnv(), RecEvTimeCnv::RecEvTimeCnv(), RecExtTrackCnv::RecExtTrackCnv(), RecMdcDedxCnv::RecMdcDedxCnv(), RecMdcDedxHitCnv::RecMdcDedxHitCnv(), RecMdcHitCnv::RecMdcHitCnv(), RecMdcKalHelixSegCnv::RecMdcKalHelixSegCnv(), RecMdcKalTrackCnv::RecMdcKalTrackCnv(), RecMdcTrackCnv::RecMdcTrackCnv(), RecMucRecHitCnv::RecMucRecHitCnv(), RecMucTrackCnv::RecMucTrackCnv(), RecTofTrackCnv::RecTofTrackCnv(), RecZddChannelCnv::RecZddChannelCnv(), TofDigiCnv::TofDigiCnv(), TofMcHitCnv::TofMcHitCnv(), TofTrackCnv::TofTrackCnv(), and TrigDataCnv::TrigDataCnv().
|
protected |
the branchNr of this converter for writing
Definition at line 51 of file RootEventBaseCnv.h.
Referenced by DigiCnv::DataObjectToTObject(), HltCnv::DataObjectToTObject(), TrigCnv::DataObjectToTObject(), and RootEventBaseCnv().
|
protected |
Definition at line 52 of file RootEventBaseCnv.h.
Referenced by DstCnv::DataObjectToTObject(), and RootEventBaseCnv().
|
protected |
Definition at line 56 of file RootEventBaseCnv.h.
Referenced by EvtHeaderCnv::DataObjectToTObject(), and RootEventBaseCnv().
|
protected |
Definition at line 57 of file RootEventBaseCnv.h.
Referenced by EvtNavigatorCnv::DataObjectToTObject(), and RootEventBaseCnv().
|
protected |
Definition at line 55 of file RootEventBaseCnv.h.
Referenced by EvtRecCnv::DataObjectToTObject(), and RootEventBaseCnv().
|
protected |
Definition at line 53 of file RootEventBaseCnv.h.
Referenced by McCnv::DataObjectToTObject(), and RootEventBaseCnv().
|
protected |
Definition at line 54 of file RootEventBaseCnv.h.
Referenced by RecTrackCnv::DataObjectToTObject(), and RootEventBaseCnv().
|
protected |
array with number of branches for reading
Definition at line 66 of file RootEventBaseCnv.h.
Referenced by createObj(), and RootEventBaseCnv().
|
protected |
Definition at line 41 of file RootEventBaseCnv.h.
Referenced by createRep(), EmcDigiCnv::DataObjectToTObject(), LumiDigiCnv::DataObjectToTObject(), MdcDigiCnv::DataObjectToTObject(), MucDigiCnv::DataObjectToTObject(), TofDigiCnv::DataObjectToTObject(), EmcTrackCnv::DataObjectToTObject(), ExtTrackCnv::DataObjectToTObject(), MdcDedxCnv::DataObjectToTObject(), MdcKalTrackCnv::DataObjectToTObject(), MdcTrackCnv::DataObjectToTObject(), MucTrackCnv::DataObjectToTObject(), TofTrackCnv::DataObjectToTObject(), EvtRecDTagCnv::DataObjectToTObject(), EvtRecEtaToGGCnv::DataObjectToTObject(), EvtRecEventCnv::DataObjectToTObject(), EvtRecPi0Cnv::DataObjectToTObject(), EvtRecPrimaryVertexCnv::DataObjectToTObject(), EvtRecTrackCnv::DataObjectToTObject(), EvtRecVeeVertexCnv::DataObjectToTObject(), DstHltInfCnv::DataObjectToTObject(), HltInfCnv::DataObjectToTObject(), HltRawCnv::DataObjectToTObject(), EmcMcHitCnv::DataObjectToTObject(), McParticleCnv::DataObjectToTObject(), MdcMcHitCnv::DataObjectToTObject(), MucMcHitCnv::DataObjectToTObject(), TofMcHitCnv::DataObjectToTObject(), RecEmcClusterCnv::DataObjectToTObject(), RecEmcHitCnv::DataObjectToTObject(), RecEmcShowerCnv::DataObjectToTObject(), RecEvTimeCnv::DataObjectToTObject(), RecExtTrackCnv::DataObjectToTObject(), RecMdcDedxCnv::DataObjectToTObject(), RecMdcDedxHitCnv::DataObjectToTObject(), RecMdcHitCnv::DataObjectToTObject(), RecMdcKalHelixSegCnv::DataObjectToTObject(), RecMdcKalTrackCnv::DataObjectToTObject(), RecMdcTrackCnv::DataObjectToTObject(), RecMucTrackCnv::DataObjectToTObject(), RecTofTrackCnv::DataObjectToTObject(), RecZddChannelCnv::DataObjectToTObject(), TrigDataCnv::DataObjectToTObject(), finalize(), DigiCnv::initialize(), DstCnv::initialize(), EvtHeaderCnv::initialize(), EvtNavigatorCnv::initialize(), EvtRecCnv::initialize(), HltCnv::initialize(), McCnv::initialize(), RecTrackCnv::initialize(), initialize(), and TrigCnv::initialize().
|
protected |
Definition at line 73 of file RootEventBaseCnv.h.
Referenced by createObj().
|
protected |
pointer to eventdataservice
Definition at line 48 of file RootEventBaseCnv.h.
Referenced by createObj(), EmcDigiCnv::DataObjectToTObject(), LumiDigiCnv::DataObjectToTObject(), MdcDigiCnv::DataObjectToTObject(), MucDigiCnv::DataObjectToTObject(), TofDigiCnv::DataObjectToTObject(), EmcTrackCnv::DataObjectToTObject(), ExtTrackCnv::DataObjectToTObject(), MdcDedxCnv::DataObjectToTObject(), MdcKalTrackCnv::DataObjectToTObject(), MdcTrackCnv::DataObjectToTObject(), MucTrackCnv::DataObjectToTObject(), TofTrackCnv::DataObjectToTObject(), EvtRecDTagCnv::DataObjectToTObject(), EvtRecEtaToGGCnv::DataObjectToTObject(), EvtRecEventCnv::DataObjectToTObject(), EvtRecPi0Cnv::DataObjectToTObject(), EvtRecPrimaryVertexCnv::DataObjectToTObject(), EvtRecTrackCnv::DataObjectToTObject(), EvtRecVeeVertexCnv::DataObjectToTObject(), DstHltInfCnv::DataObjectToTObject(), HltInfCnv::DataObjectToTObject(), HltRawCnv::DataObjectToTObject(), EmcMcHitCnv::DataObjectToTObject(), McParticleCnv::DataObjectToTObject(), MdcMcHitCnv::DataObjectToTObject(), MucMcHitCnv::DataObjectToTObject(), TofMcHitCnv::DataObjectToTObject(), RecEmcClusterCnv::DataObjectToTObject(), RecEmcHitCnv::DataObjectToTObject(), RecEmcShowerCnv::DataObjectToTObject(), RecEvTimeCnv::DataObjectToTObject(), RecExtTrackCnv::DataObjectToTObject(), RecMdcDedxCnv::DataObjectToTObject(), RecMdcDedxHitCnv::DataObjectToTObject(), RecMdcHitCnv::DataObjectToTObject(), RecMdcKalHelixSegCnv::DataObjectToTObject(), RecMdcKalTrackCnv::DataObjectToTObject(), RecMdcTrackCnv::DataObjectToTObject(), RecMucTrackCnv::DataObjectToTObject(), RecTofTrackCnv::DataObjectToTObject(), RecZddChannelCnv::DataObjectToTObject(), TrigDataCnv::DataObjectToTObject(), RootEventBaseCnv(), and McCnv::TObjectToDataObject().
|
protected |
Definition at line 77 of file RootEventBaseCnv.h.
Referenced by createObj(), and RootEventBaseCnv().
|
protected |
Definition at line 42 of file RootEventBaseCnv.h.
Referenced by declareObject().
|
protected |
the object that was read
Definition at line 60 of file RootEventBaseCnv.h.
Referenced by createObj(), and RootEventBaseCnv().
|
protected |
root branchname (may be concatenated of severals)
Definition at line 69 of file RootEventBaseCnv.h.
Referenced by DigiCnv::DigiCnv(), DstCnv::DstCnv(), DstHltInfCnv::DstHltInfCnv(), EmcDigiCnv::EmcDigiCnv(), EmcMcHitCnv::EmcMcHitCnv(), EmcTrackCnv::EmcTrackCnv(), EvtHeaderCnv::EvtHeaderCnv(), EvtNavigatorCnv::EvtNavigatorCnv(), EvtRecCnv::EvtRecCnv(), EvtRecDTagCnv::EvtRecDTagCnv(), EvtRecEtaToGGCnv::EvtRecEtaToGGCnv(), EvtRecEventCnv::EvtRecEventCnv(), EvtRecPi0Cnv::EvtRecPi0Cnv(), EvtRecPrimaryVertexCnv::EvtRecPrimaryVertexCnv(), EvtRecTrackCnv::EvtRecTrackCnv(), EvtRecVeeVertexCnv::EvtRecVeeVertexCnv(), ExtTrackCnv::ExtTrackCnv(), HltInfCnv::HltInfCnv(), HltRawCnv::HltRawCnv(), LumiDigiCnv::LumiDigiCnv(), McParticleCnv::McParticleCnv(), MdcDedxCnv::MdcDedxCnv(), MdcDigiCnv::MdcDigiCnv(), MdcKalTrackCnv::MdcKalTrackCnv(), MdcMcHitCnv::MdcMcHitCnv(), MdcTrackCnv::MdcTrackCnv(), MucDigiCnv::MucDigiCnv(), MucMcHitCnv::MucMcHitCnv(), MucTrackCnv::MucTrackCnv(), RecBTofCalHitCnv::RecBTofCalHitCnv(), RecEmcClusterCnv::RecEmcClusterCnv(), RecEmcHitCnv::RecEmcHitCnv(), RecEmcShowerCnv::RecEmcShowerCnv(), RecETofCalHitCnv::RecETofCalHitCnv(), RecEvTimeCnv::RecEvTimeCnv(), RecExtTrackCnv::RecExtTrackCnv(), RecMdcDedxCnv::RecMdcDedxCnv(), RecMdcDedxHitCnv::RecMdcDedxHitCnv(), RecMdcHitCnv::RecMdcHitCnv(), RecMdcKalHelixSegCnv::RecMdcKalHelixSegCnv(), RecMdcKalTrackCnv::RecMdcKalTrackCnv(), RecMdcTrackCnv::RecMdcTrackCnv(), RecMucRecHitCnv::RecMucRecHitCnv(), RecMucTrackCnv::RecMucTrackCnv(), RecTrackCnv::RecTrackCnv(), RecZddChannelCnv::RecZddChannelCnv(), TofDigiCnv::TofDigiCnv(), TofMcHitCnv::TofMcHitCnv(), TofTrackCnv::TofTrackCnv(), and TrigDataCnv::TrigDataCnv().
|
protected |
pointer to the RootInterface
Definition at line 45 of file RootEventBaseCnv.h.
Referenced by createObj(), DigiCnv::DataObjectToTObject(), DstCnv::DataObjectToTObject(), EvtHeaderCnv::DataObjectToTObject(), EvtNavigatorCnv::DataObjectToTObject(), EvtRecCnv::DataObjectToTObject(), HltCnv::DataObjectToTObject(), McCnv::DataObjectToTObject(), RecTrackCnv::DataObjectToTObject(), TrigCnv::DataObjectToTObject(), and RootEventBaseCnv().
|
protected |
each converter knows it's treename
Definition at line 71 of file RootEventBaseCnv.h.
Referenced by EmcTrackCnv::EmcTrackCnv(), RecEmcHitCnv::RecEmcHitCnv(), and RecMucRecHitCnv::RecMucRecHitCnv().