#include <RootCnvSvc.h>
Public Member Functions | |
RootInterface * | getRootInterface () |
virtual StatusCode | initialize () |
virtual StatusCode | finalize () |
virtual StatusCode | updateServiceState (IOpaqueAddress *pAddress) |
Update state of the service. | |
virtual StatusCode | queryInterface (const InterfaceID &riid, void **ppvInterface) |
Override inherited queryInterface due to enhanced interface. | |
virtual StatusCode | declareObject (const Leaf &leaf) |
Associates a path on TDS with a particular converter. | |
virtual StatusCode | commitOutput (const std::string &output, bool do_commit) |
Commit pending output (fill the TTrees). | |
virtual StatusCode | createAddress (long int svc_type, const CLID &clid, const std::string *par, const unsigned long *ip, IOpaqueAddress *&refpAddress) |
create address containing ROOT treename, branchname, entry number | |
virtual StatusCode | createAddress (DataObject *obj, IOpaqueAddress *&refpAddress) |
virtual StatusCode | createAddress (std::string path, IOpaqueAddress *&refpAddress) |
DigiCnv * | getDigiCnv () |
DstCnv * | getDstCnv () |
McCnv * | getMcCnv () |
TrigCnv * | getTrigCnv () |
HltCnv * | getHltCnv () |
EvtRecCnv * | getEvtRecCnv () |
void | setDigiCnv (DigiCnv *reccnv) |
void | setDstCnv (DstCnv *dstcnv) |
void | setMcCnv (McCnv *mccnv) |
void | setTrigCnv (TrigCnv *trigcnv) |
void | setHltCnv (HltCnv *hltcnv) |
void | setEvtRecCnv (EvtRecCnv *evtreccnv) |
void | setRecTrackCnv (RecTrackCnv *rectrackcnv) |
void | setEvtHeaderCnv (EvtHeaderCnv *evtheadercnv) |
void | setEvtNavigatorCnv (EvtNavigatorCnv *evtnavigatorcnv) |
void | setEventCnv (EventCnv *eventCnv) |
RecTrackCnv * | getRecTrackCnv () |
EvtHeaderCnv * | getEvtHeaderCnv () |
EvtNavigatorCnv * | getEvtNavigatorCnv () |
EventCnv * | getEventCnv () |
Protected Member Functions | |
RootCnvSvc (const std::string &name, ISvcLocator *svc) | |
virtual | ~RootCnvSvc () |
Private Types | |
typedef std::map< std::string, Leaf * > | LeafMap |
Map with leaf entries. | |
Private Member Functions | |
StatusCode | addConverters () |
Add converters to the service. | |
StatusCode | initFiles () |
Private Attributes | |
bool | m_selectFromTag |
std::vector< std::string > | m_tagInputFile |
RootInterface * | m_rootInterface |
access to the RootInterface | |
RootEvtSelector * | m_evtsel |
access to the EventSelector | |
LeafMap | m_leaves |
const int | m_minSplit |
std::vector< std::string > | m_difileName |
digi input filename | |
std::string | m_dofileName |
digi output filename | |
int | m_dsplitMode |
digi split mode | |
int | m_dbufSize |
buffer size for digi file | |
int | m_dcompressionLevel |
compression level for digix file | |
std::string | m_dtreeName |
digi treename | |
DigiCnv * | m_dCnv |
pointers to top converters | |
DstCnv * | m_dstCnv |
McCnv * | m_mcCnv |
TrigCnv * | m_trigCnv |
HltCnv * | m_hltCnv |
EvtRecCnv * | m_evtRecCnv |
RecTrackCnv * | m_rectrackCnv |
EvtHeaderCnv * | m_evtheaderCnv |
EvtNavigatorCnv * | m_evtnavigatorCnv |
EventCnv * | m_eventCnv |
commonData | m_common |
relational maps to be cleared | |
Friends | |
class | SvcFactory< RootCnvSvc > |
Classes | |
class | Leaf |
object regrouping CLID and pathname with treename/branchname More... |
When a component requests an item not yet available on the TDS, the RootcnvSvc is called to find the appropriiate converter to gain access to the data and put it on the TDS. Based on SICb service written by Markus Frank. If an item is mentioned in the jobOptions as one to be written out, it will be converted from TDS to ROOT by the appropriate converter
Based on the RootCnvSvc of GLast.
Definition at line 40 of file RootCnvSvc.h.
typedef std::map<std::string, Leaf*> RootCnvSvc::LeafMap [private] |
RootCnvSvc::RootCnvSvc | ( | const std::string & | name, | |
ISvcLocator * | svc | |||
) | [protected] |
Definition at line 100 of file RootCnvSvc.cxx.
References Bes_Common::DEBUG, calibUtil::ERROR, IID_IRootEvtSelector(), RootInterface::Instance(), m_dbufSize, m_dcompressionLevel, m_difileName, m_dofileName, m_dsplitMode, m_dtreeName, m_evtsel, m_minSplit, m_rootInterface, m_selectFromTag, m_tagInputFile, msgSvc(), ROOT_StorageType, and Bes_Common::WARNING.
00101 : ConversionSvc(name, svc, ROOT_StorageType), m_minSplit(1), m_evtsel(0) 00102 { 00103 StatusCode sc; 00104 MsgStream log(msgSvc(), "RootCnvSvc"); 00105 log << MSG::DEBUG << "RootCnvSvc::constructor" << endreq; 00106 00107 IService* isvc = 0; 00108 sc = serviceLocator()->getService ("RootEvtSelector", isvc, false); 00109 if (!sc.isSuccess()) sc = serviceLocator()->getService ("EventSelector", isvc, false); 00110 if (sc.isSuccess()) { 00111 sc = isvc->queryInterface(IID_IRootEvtSelector, (void**)&m_evtsel); 00112 } 00113 if(sc.isFailure()) { 00114 log << MSG::WARNING << "Unable to start event selector service within RootCnvSvc" << endreq; 00115 } 00116 00117 m_rootInterface= RootInterface::Instance(log); 00118 if (!m_rootInterface) log << MSG::ERROR << "Unable to start Root service within RootCnvSvc" << endreq; 00119 00120 00121 00122 //Digi 00123 declareProperty("digiTreeName", m_dtreeName="Event"); //"Rec"->"Event" 00124 00125 declareProperty("digiRootInputFile",m_difileName); 00126 //if (m_difileName.size()==0){ 00127 // m_difileName.push_back("digi.root"); 00128 //} 00129 declareProperty("digiRootOutputFile",m_dofileName = ""); 00130 00131 // Split mode for writing the TTree [0,99] 00132 declareProperty("digiSplitMode", m_dsplitMode=m_minSplit); 00133 // Buffer size for writing ROOT data 00134 declareProperty("digiBufferSize", m_dbufSize=3200000); 00135 // ROOT default compression 00136 declareProperty("digiCompressionLevel", m_dcompressionLevel=1); 00137 declareProperty("selectFromTag", m_selectFromTag=0); 00138 declareProperty("tagInputFile", m_tagInputFile); 00139 //declareProperty("tagFileFormat", m_tagFileFormat=1); 00140 00141 }
virtual RootCnvSvc::~RootCnvSvc | ( | ) | [inline, protected, virtual] |
StatusCode RootCnvSvc::addConverters | ( | ) | [private] |
Add converters to the service.
Definition at line 513 of file RootCnvSvc.cxx.
References EvtRecDTagCnv::classID(), EvtRecEtaToGGCnv::classID(), EvtRecPi0Cnv::classID(), EvtRecVeeVertexCnv::classID(), EvtRecPrimaryVertexCnv::classID(), EvtRecTrackCnv::classID(), EvtRecEventCnv::classID(), EvtRecCnv::classID(), RecZddChannelCnv::classID(), RecExtTrackCnv::classID(), RecMucRecHitCnv::classID(), RecMucTrackCnv::classID(), RecEmcShowerCnv::classID(), RecEmcClusterCnv::classID(), RecEmcHitCnv::classID(), RecETofCalHitCnv::classID(), RecBTofCalHitCnv::classID(), RecTofTrackCnv::classID(), RecEvTimeCnv::classID(), RecMdcDedxHitCnv::classID(), RecMdcDedxCnv::classID(), RecMdcKalHelixSegCnv::classID(), RecMdcKalTrackCnv::classID(), RecMdcHitCnv::classID(), RecMdcTrackCnv::classID(), RecTrackCnv::classID(), DstHltInfCnv::classID(), HltInfCnv::classID(), HltRawCnv::classID(), HltCnv::classID(), TrigDataCnv::classID(), TrigCnv::classID(), LumiDigiCnv::classID(), TofTrackCnv::classID(), TofMcHitCnv::classID(), TofDigiCnv::classID(), DigiCnv::classID(), MucTrackCnv::classID(), MucMcHitCnv::classID(), MucDigiCnv::classID(), MdcTrackCnv::classID(), MdcMcHitCnv::classID(), MdcKalTrackCnv::classID(), MdcDigiCnv::classID(), McParticleCnv::classID(), McCnv::classID(), ExtTrackCnv::classID(), EvtNavigatorCnv::classID(), EvtHeaderCnv::classID(), EventCnv::classID(), EmcTrackCnv::classID(), EmcMcHitCnv::classID(), EmcDigiCnv::classID(), DstCnv::classID(), MdcDedxCnv::classID(), declareObject(), EventModel::Dst::DstEmcShowerCol, EventModel::Dst::DstExtTrackCol, EventModel::Hlt::DstHltInf, EventModel::Dst::DstMdcDedxCol, EventModel::Dst::DstMdcKalTrackCol, EventModel::Dst::DstMdcTrackCol, EventModel::Dst::DstMucTrackCol, EventModel::Dst::DstTofTrackCol, EventModel::Digi::EmcDigiCol, EventModel::MC::EmcMcHitCol, EventModel::EvtRec::Event, EventModel::Recon::Event, EventModel::Hlt::Event, EventModel::Trig::Event, EventModel::Digi::Event, EventModel::MC::Event, EventModel::Dst::Event, EventModel::EventHeader, EventModel::EvtRec::EvtRecDTagCol, EventModel::EvtRec::EvtRecEtaToGGCol, EventModel::EvtRec::EvtRecEvent, EventModel::EvtRec::EvtRecPi0Col, EventModel::EvtRec::EvtRecPrimaryVertex, EventModel::EvtRec::EvtRecTrackCol, EventModel::EvtRec::EvtRecVeeVertexCol, EventModel::Hlt::HltInf, EventModel::Hlt::HltRawCol, EventModel::Digi::LumiDigiCol, EventModel::MC::McParticleCol, EventModel::Digi::MdcDigiCol, EventModel::MC::MdcMcHitCol, msgSvc(), EventModel::Digi::MucDigiCol, EventModel::MC::MucMcHitCol, EventModel::Recon::MucRecHitCol, EventModel::Navigator, EventModel::Recon::RecBTofCalHitCol, EventModel::Recon::RecEmcClusterCol, EventModel::Recon::RecEmcHitCol, EventModel::Recon::RecEmcShowerCol, EventModel::Recon::RecEsTimeCol, EventModel::Recon::RecETofCalHitCol, EventModel::Recon::RecExtTrackCol, EventModel::Recon::RecMdcDedxCol, EventModel::Recon::RecMdcDedxHitCol, EventModel::Recon::RecMdcHitCol, EventModel::Recon::RecMdcKalHelixSegCol, EventModel::Recon::RecMdcKalTrackCol, EventModel::Recon::RecMdcTrackCol, EventModel::Recon::RecMucTrackCol, EventModel::Recon::RecTofTrackCol, EventModel::Recon::RecZddChannelCol, EventModel::Digi::TofDigiCol, EventModel::MC::TofMcHitCol, and EventModel::Trig::TrigData.
Referenced by initialize().
00513 { 00514 MsgStream log(msgSvc(), name()); 00515 declareObject(Leaf(EventModel::Dst::DstMdcDedxCol, MdcDedxCnv::classID(), "Event", "m_mdcDedxCol")); 00516 declareObject(Leaf(EventModel::Dst::Event, DstCnv::classID(), "Event", "")); 00517 declareObject(Leaf(EventModel::Digi::EmcDigiCol, EmcDigiCnv::classID(), "Event", "m_emcDigiCol")); 00518 declareObject(Leaf(EventModel::MC::EmcMcHitCol, EmcMcHitCnv::classID(), "Event", "m_emcMcHitCol")); 00519 declareObject(Leaf(EventModel::Dst::DstEmcShowerCol, EmcTrackCnv::classID(), "Event", "m_emcTrackCol")); 00520 00521 declareObject(Leaf("/Event", EventCnv::classID(), "", "")); 00522 declareObject(Leaf(EventModel::EventHeader, EvtHeaderCnv::classID(), "Event", "m_runId:m_eventId:m_time:m_eventTag:m_flag1:m_flag2")); 00523 declareObject(Leaf(EventModel::Navigator, EvtNavigatorCnv::classID(), "Event", "m_mcMdcMcHits:m_mcMdcTracks:m_mcEmcMcHits:m_mcEmcRecShowers")); 00524 declareObject(Leaf(EventModel::Dst::DstExtTrackCol, ExtTrackCnv::classID(), "Event", "m_extTrackCol")); 00525 declareObject(Leaf(EventModel::MC::Event, McCnv::classID(), "Event", "")); 00526 declareObject(Leaf(EventModel::MC::McParticleCol, McParticleCnv::classID(), "Event", "m_mcParticleCol")); 00527 declareObject(Leaf(EventModel::Digi::MdcDigiCol, MdcDigiCnv::classID(), "Event", "m_mdcDigiCol")); 00528 declareObject(Leaf(EventModel::Dst::DstMdcKalTrackCol, MdcKalTrackCnv::classID(), "Event", "m_mdcKalTrackCol")); 00529 declareObject(Leaf(EventModel::MC::MdcMcHitCol, MdcMcHitCnv::classID(), "Event", "m_mdcMcHitCol")); 00530 declareObject(Leaf(EventModel::Dst::DstMdcTrackCol, MdcTrackCnv::classID(), "Event", "m_mdcTrackCol")); 00531 declareObject(Leaf(EventModel::Digi::MucDigiCol, MucDigiCnv::classID(), "Event", "m_mucDigiCol")); 00532 declareObject(Leaf(EventModel::MC::MucMcHitCol, MucMcHitCnv::classID(), "Event", "m_mucMcHitCol")); 00533 declareObject(Leaf(EventModel::Dst::DstMucTrackCol, MucTrackCnv::classID(), "Event", "m_mucTrackCol")); 00534 declareObject(Leaf(EventModel::Digi::Event, DigiCnv::classID(), "Event", "m_fromMc")); 00535 declareObject(Leaf(EventModel::Digi::TofDigiCol, TofDigiCnv::classID(), "Event", "m_tofDigiCol")); 00536 declareObject(Leaf(EventModel::MC::TofMcHitCol, TofMcHitCnv::classID(), "Event", "m_tofMcHitCol")); 00537 declareObject(Leaf(EventModel::Dst::DstTofTrackCol, TofTrackCnv::classID(), "Event", "m_tofTrackCol")); 00538 //declareObject(Leaf("/Event/Digi/LumiDigiCol", LumiDigiCnv::classID(), "Event", "m_lumiDigiCol")); 00539 declareObject(Leaf(EventModel::Digi::LumiDigiCol, LumiDigiCnv::classID(), "Event", "m_lumiDigiCol")); 00540 00541 declareObject(Leaf(EventModel::Trig::Event, TrigCnv::classID(), "Event", "")); 00542 declareObject(Leaf(EventModel::Trig::TrigData, TrigDataCnv::classID(), "Event", "m_trigData")); 00543 00544 declareObject(Leaf(EventModel::Hlt::Event, HltCnv::classID(), "Event", "")); 00545 declareObject(Leaf(EventModel::Hlt::HltRawCol, HltRawCnv::classID(), "Event", "m_hltRawCol")); 00546 declareObject(Leaf(EventModel::Hlt::HltInf, HltInfCnv::classID(), "Event", "m_hltInf")); 00547 declareObject(Leaf(EventModel::Hlt::DstHltInf, DstHltInfCnv::classID(), "Event", "m_dstHltInf")); 00548 00549 declareObject(Leaf(EventModel::Recon::Event, RecTrackCnv::classID(), "Event", "")); 00550 00551 declareObject(Leaf(EventModel::Recon::RecMdcTrackCol, RecMdcTrackCnv::classID(), "Event", "m_recMdcTrackCol")); 00552 declareObject(Leaf(EventModel::Recon::RecMdcHitCol, RecMdcHitCnv::classID(), "Event", "m_recMdcHitCol")); 00553 declareObject(Leaf(EventModel::Recon::RecMdcKalTrackCol, RecMdcKalTrackCnv::classID(),"Event", "m_recMdcKalTrackCol")); 00554 declareObject(Leaf(EventModel::Recon::RecMdcKalHelixSegCol, RecMdcKalHelixSegCnv::classID(),"Event", "m_recMdcKalHelixSegCol")); 00555 declareObject(Leaf(EventModel::Recon::RecMdcDedxCol, RecMdcDedxCnv::classID(),"Event", "m_recMdcDedxCol")); 00556 declareObject(Leaf(EventModel::Recon::RecMdcDedxHitCol, RecMdcDedxHitCnv::classID(),"Event", "m_recMdcDedxHitCol")); 00557 00558 declareObject(Leaf(EventModel::Recon::RecEsTimeCol, RecEvTimeCnv::classID(),"Event", "m_recEvTimeCol")); 00559 declareObject(Leaf(EventModel::Recon::RecTofTrackCol, RecTofTrackCnv::classID(), "Event", "m_recTofTrackCol")); 00560 declareObject(Leaf(EventModel::Recon::RecBTofCalHitCol, RecBTofCalHitCnv::classID(), "Event", "m_recBTofCalHitCol")); 00561 declareObject(Leaf(EventModel::Recon::RecETofCalHitCol, RecETofCalHitCnv::classID(), "Event", "m_recETofCalHitCol")); 00562 declareObject(Leaf(EventModel::Recon::RecEmcHitCol, RecEmcHitCnv::classID(), "Event", "m_recEmcHitCol")); 00563 declareObject(Leaf(EventModel::Recon::RecEmcClusterCol, RecEmcClusterCnv::classID(), "Event", "m_recEmcClusterCol")); 00564 declareObject(Leaf(EventModel::Recon::RecEmcShowerCol, RecEmcShowerCnv::classID(), "Event", "m_recEmcShowerCol")); 00565 declareObject(Leaf(EventModel::Recon::RecMucTrackCol, RecMucTrackCnv::classID(), "Event", "m_recMucTrackCol")); 00566 declareObject(Leaf(EventModel::Recon::MucRecHitCol, RecMucRecHitCnv::classID(), "Event", "m_recMucHitCol")); 00567 declareObject(Leaf(EventModel::Recon::RecExtTrackCol, RecExtTrackCnv::classID(),"Event", "m_recExtTrackCol")); 00568 declareObject(Leaf(EventModel::Recon::RecZddChannelCol, RecZddChannelCnv::classID(), "Event", "m_recZddChannelCol")); 00569 declareObject(Leaf(EventModel::EvtRec::Event, EvtRecCnv::classID(), "Event", "")); 00570 declareObject(Leaf(EventModel::EvtRec::EvtRecEvent, EvtRecEventCnv::classID(), "Event", "m_evtRecEvent")); 00571 declareObject(Leaf(EventModel::EvtRec::EvtRecTrackCol, EvtRecTrackCnv::classID(), "Event", "m_evtRecTrackCol")); 00572 declareObject(Leaf(EventModel::EvtRec::EvtRecPrimaryVertex, EvtRecPrimaryVertexCnv::classID(), "Event", "m_evtRecPrimaryVertex")); 00573 declareObject(Leaf(EventModel::EvtRec::EvtRecVeeVertexCol, EvtRecVeeVertexCnv::classID(), "Event", "m_evtRecVeeVertexCol")); 00574 declareObject(Leaf(EventModel::EvtRec::EvtRecPi0Col, EvtRecPi0Cnv::classID(), "Event", "m_evtRecPi0Col")); 00575 declareObject(Leaf(EventModel::EvtRec::EvtRecEtaToGGCol, EvtRecEtaToGGCnv::classID(), "Event", "m_evtRecEtaToGGCol")); 00576 declareObject(Leaf(EventModel::EvtRec::EvtRecDTagCol, EvtRecDTagCnv::classID(), "Event", "m_evtRecDTagCol")); 00577 00578 return StatusCode::SUCCESS; 00579 00580 }
StatusCode RootCnvSvc::commitOutput | ( | const std::string & | output, | |
bool | do_commit | |||
) | [virtual] |
Commit pending output (fill the TTrees).
Definition at line 397 of file RootCnvSvc.cxx.
References commonData::clear(), THltEvent::Clear(), TTrigEvent::Clear(), TEvtRecObject::Clear(), TRecTrackEvent::Clear(), TMcEvent::Clear(), TDstEvent::Clear(), TDigiEvent::Clear(), TEvtNavigator::Clear(), TEvtHeader::Clear(), calibUtil::ERROR, RootInterface::fillTrees(), HltCnv::getWriteObject(), TrigCnv::getWriteObject(), EvtRecCnv::getWriteObject(), RecTrackCnv::getWriteObject(), McCnv::getWriteObject(), DstCnv::getWriteObject(), DigiCnv::getWriteObject(), EvtNavigatorCnv::getWriteObject(), EvtHeaderCnv::getWriteObject(), Bes_Common::INFO, m_common, m_dCnv, m_dstCnv, m_evtheaderCnv, m_evtnavigatorCnv, m_evtRecCnv, m_hltCnv, m_mcCnv, m_rectrackCnv, m_rootInterface, m_trigCnv, and msgSvc().
00398 { 00399 00400 00401 00402 MsgStream log( msgSvc(), name() ); 00403 log << MSG::INFO << "RootCnvSvc::commitOutput starts." << endreq; 00404 00405 StatusCode sc=m_rootInterface->fillTrees(); 00406 if (sc.isFailure()) 00407 log << MSG::ERROR << "No Root tree was filled" << endreq; 00408 00409 // objects must be cleared after fill 00410 else{ 00411 TObject* oEvtHeader = m_evtheaderCnv->getWriteObject(); 00412 if (oEvtHeader) oEvtHeader->Clear(); 00413 TObject* oEvtNavigator = m_evtnavigatorCnv->getWriteObject(); 00414 if (oEvtNavigator) oEvtNavigator->Clear(); 00415 TObject* o=m_dCnv->getWriteObject(); 00416 if (o) o->Clear(); 00417 TObject* oDst=m_dstCnv->getWriteObject(); 00418 if (oDst) oDst->Clear(); 00419 TObject* oMc=m_mcCnv->getWriteObject(); 00420 if (oMc) oMc->Clear(); 00421 TObject* oRecTrack=m_rectrackCnv->getWriteObject(); 00422 if (oRecTrack) oRecTrack->Clear(); 00423 TObject* oEvtRecEvent = m_evtRecCnv->getWriteObject(); 00424 if (oEvtRecEvent) oEvtRecEvent->Clear(); 00425 TObject* oTrig = m_trigCnv->getWriteObject(); 00426 if(oTrig) oTrig->Clear(); 00427 TObject* oHlt = m_hltCnv->getWriteObject(); 00428 if(oHlt) oHlt->Clear(); 00429 } 00430 m_common.clear(); 00431 00432 return sc; 00433 }
StatusCode RootCnvSvc::createAddress | ( | std::string | path, | |
IOpaqueAddress *& | refpAddress | |||
) | [virtual] |
Definition at line 478 of file RootCnvSvc.cxx.
References RootEvtSelector::getRecId(), if(), m_evtsel, m_leaves, msgSvc(), ROOT_StorageType, and deljobs::string.
00478 { 00479 00480 // create address for this object 00481 MsgStream log(msgSvc(), name()); 00482 00483 StatusCode status; 00484 LeafMap::iterator itm = m_leaves.find(path); 00485 SmartIF<IDataManagerSvc> iaddrReg(dataProvider()); 00486 if ( itm != m_leaves.end() ) { 00487 Leaf* leaf = (*itm).second; 00488 if ( 0 != leaf ) { 00489 std::string spars[3] ; 00490 spars[0]=path; 00491 spars[1]=leaf->treename; 00492 spars[2]=leaf->branchname; 00493 00494 unsigned long ipars[2] = {0,0}; 00495 if (m_evtsel) ipars[0]=m_evtsel->getRecId(); 00496 status=addressCreator()->createAddress(ROOT_StorageType,leaf->clid,spars,ipars,newAddr); 00497 if ( status.isSuccess() ) { 00498 status = iaddrReg->registerAddress((IRegistry*)0,path, newAddr); 00499 if ( !status.isSuccess() ) { 00500 newAddr->release(); 00501 } 00502 } 00503 return StatusCode::SUCCESS; 00504 } 00505 } 00506 00507 00508 return StatusCode::FAILURE; 00509 }
StatusCode RootCnvSvc::createAddress | ( | DataObject * | obj, | |
IOpaqueAddress *& | refpAddress | |||
) | [virtual] |
Definition at line 435 of file RootCnvSvc.cxx.
References Bes_Common::DEBUG, RootEvtSelector::getRecId(), if(), m_evtsel, m_leaves, msgSvc(), ROOT_StorageType, and deljobs::string.
00435 { 00436 00437 // create address for this object 00438 MsgStream log(msgSvc(), name()); 00439 00440 00441 log << MSG::DEBUG << "RootCnvSvc::createAddress"<<endreq; 00442 00443 StatusCode status = INVALID_ADDRESS; 00444 IRegistry* ent = obj->registry(); 00445 00446 if ( 0 != ent ) { 00447 SmartIF<IDataManagerSvc> iaddrReg(dataProvider()); 00448 std::string path = ent->identifier(); 00449 LeafMap::iterator itm = m_leaves.find(path); 00450 00451 00452 if ( itm != m_leaves.end() ) { 00453 Leaf* leaf = (*itm).second; 00454 if ( 0 != leaf ) { 00455 std::string spars[3] ; 00456 spars[0]=path; 00457 spars[1]=leaf->treename; 00458 spars[2]=leaf->branchname; 00459 00460 00461 unsigned long ipars[2] ={0,0}; 00462 if (m_evtsel) ipars[0]=m_evtsel->getRecId(); 00463 00464 status=addressCreator()->createAddress(ROOT_StorageType,leaf->clid,spars,ipars,newAddr); 00465 if ( status.isSuccess() ) { 00466 status = iaddrReg->registerAddress((IRegistry*)0,path, newAddr); 00467 if ( !status.isSuccess() ) { 00468 newAddr->release(); 00469 } 00470 } 00471 return StatusCode::SUCCESS; 00472 } 00473 } 00474 } 00475 return status; 00476 }
StatusCode RootCnvSvc::createAddress | ( | long int | svc_type, | |
const CLID & | clid, | |||
const std::string * | par, | |||
const unsigned long * | ip, | |||
IOpaqueAddress *& | refpAddress | |||
) | [virtual] |
create address containing ROOT treename, branchname, entry number
Definition at line 372 of file RootCnvSvc.cxx.
References calibUtil::ERROR, msgSvc(), ROOT_StorageType, and deljobs::string.
Referenced by RootEventBaseCnv::createRep(), and updateServiceState().
00377 { 00378 MsgStream log( msgSvc(), name() ); 00379 00380 if (svc_type != repSvcType() ) { 00381 log << MSG::ERROR << "RootCnvSvc::bad storage type" << svc_type << endreq; 00382 return StatusCode::FAILURE; 00383 } 00384 00385 std::string path = spars[0]; 00386 std::string treename = spars[1]; 00387 std::string branchname = spars[2]; 00388 int entry=ipars[0]; 00389 if (path.size()==0) path="/Event"; 00390 refpAddress = new RootAddress(ROOT_StorageType, 00391 clid, 00392 path,treename,branchname,entry); 00393 return StatusCode::SUCCESS; 00394 }
StatusCode RootCnvSvc::declareObject | ( | const Leaf & | leaf | ) | [virtual] |
Associates a path on TDS with a particular converter.
Definition at line 297 of file RootCnvSvc.cxx.
References RootCnvSvc::Leaf::clid, Bes_Common::DEBUG, m_leaves, msgSvc(), RootCnvSvc::Leaf::path, and dchain::value_type().
Referenced by addConverters().
00297 { 00298 // Purpose and Method: Callback from each of the individual converters that allows 00299 // association of TDS path and converter. 00300 MsgStream log(msgSvc(), name()); 00301 log << MSG::DEBUG << "RootCnvSvc::declareObject " << leaf.path << " classid: " << leaf.clid << endreq; 00302 Leaf* ll = new Leaf(leaf); 00303 std::pair<LeafMap::iterator, bool> p = m_leaves.insert(LeafMap::value_type( leaf.path, ll) ); 00304 if( p.second ) { 00305 return StatusCode::SUCCESS; 00306 } 00307 delete ll; 00308 return StatusCode::FAILURE; 00309 }
StatusCode RootCnvSvc::finalize | ( | ) | [virtual] |
Definition at line 198 of file RootCnvSvc.cxx.
References Bes_Common::DEBUG, RootInterface::finalize(), m_leaves, m_rootInterface, and msgSvc().
00198 { 00199 MsgStream log(msgSvc(), name()); 00200 log << MSG::DEBUG << "RootCnvSvc::finalize" << endreq; 00201 00202 ConversionSvc::finalize(); 00203 // log << MSG::INFO<<"this is the end of RootCnvsvc finalize"<<endreq; 00204 for (LeafMap::iterator k = m_leaves.begin(); k != m_leaves.end(); k++ ) { 00205 delete (*k).second; 00206 } 00207 m_leaves.erase(m_leaves.begin(), m_leaves.end()); 00208 00209 return m_rootInterface->finalize(); 00210 }
DigiCnv* RootCnvSvc::getDigiCnv | ( | ) | [inline] |
Definition at line 151 of file RootCnvSvc.h.
References m_dCnv.
Referenced by TofDigiCnv::DataObjectToTObject(), MucDigiCnv::DataObjectToTObject(), MdcDigiCnv::DataObjectToTObject(), LumiDigiCnv::DataObjectToTObject(), EmcDigiCnv::DataObjectToTObject(), and BesVisAlg::producer().
00151 {return m_dCnv;}
DstCnv* RootCnvSvc::getDstCnv | ( | ) | [inline] |
Definition at line 152 of file RootCnvSvc.h.
References m_dstCnv.
Referenced by TofTrackCnv::DataObjectToTObject(), MucTrackCnv::DataObjectToTObject(), MdcTrackCnv::DataObjectToTObject(), MdcKalTrackCnv::DataObjectToTObject(), MdcDedxCnv::DataObjectToTObject(), ExtTrackCnv::DataObjectToTObject(), and EmcTrackCnv::DataObjectToTObject().
00152 {return m_dstCnv;}
EventCnv* RootCnvSvc::getEventCnv | ( | ) | [inline] |
EvtHeaderCnv* RootCnvSvc::getEvtHeaderCnv | ( | ) | [inline] |
Definition at line 171 of file RootCnvSvc.h.
References m_evtheaderCnv.
Referenced by BesVisAlg::producer().
00171 {return m_evtheaderCnv;}
EvtNavigatorCnv* RootCnvSvc::getEvtNavigatorCnv | ( | ) | [inline] |
Definition at line 172 of file RootCnvSvc.h.
References m_evtnavigatorCnv.
00172 {return m_evtnavigatorCnv;}
EvtRecCnv* RootCnvSvc::getEvtRecCnv | ( | ) | [inline] |
Definition at line 156 of file RootCnvSvc.h.
References m_evtRecCnv.
Referenced by EvtRecVeeVertexCnv::DataObjectToTObject(), EvtRecTrackCnv::DataObjectToTObject(), EvtRecPrimaryVertexCnv::DataObjectToTObject(), EvtRecPi0Cnv::DataObjectToTObject(), EvtRecEventCnv::DataObjectToTObject(), EvtRecEtaToGGCnv::DataObjectToTObject(), and EvtRecDTagCnv::DataObjectToTObject().
00156 { return m_evtRecCnv; } //zoujh
HltCnv* RootCnvSvc::getHltCnv | ( | ) | [inline] |
Definition at line 155 of file RootCnvSvc.h.
References m_hltCnv.
Referenced by HltRawCnv::DataObjectToTObject(), HltInfCnv::DataObjectToTObject(), and DstHltInfCnv::DataObjectToTObject().
00155 { return m_hltCnv; } //fucd
McCnv* RootCnvSvc::getMcCnv | ( | ) | [inline] |
Definition at line 153 of file RootCnvSvc.h.
References m_mcCnv.
Referenced by TofMcHitCnv::DataObjectToTObject(), MucMcHitCnv::DataObjectToTObject(), MdcMcHitCnv::DataObjectToTObject(), McParticleCnv::DataObjectToTObject(), and EmcMcHitCnv::DataObjectToTObject().
00153 {return m_mcCnv;}
RecTrackCnv* RootCnvSvc::getRecTrackCnv | ( | ) | [inline] |
Definition at line 170 of file RootCnvSvc.h.
References m_rectrackCnv.
Referenced by RecZddChannelCnv::DataObjectToTObject(), RecTofTrackCnv::DataObjectToTObject(), RecMucTrackCnv::DataObjectToTObject(), RecMdcTrackCnv::DataObjectToTObject(), RecMdcKalTrackCnv::DataObjectToTObject(), RecMdcKalHelixSegCnv::DataObjectToTObject(), RecMdcHitCnv::DataObjectToTObject(), RecMdcDedxHitCnv::DataObjectToTObject(), RecMdcDedxCnv::DataObjectToTObject(), RecExtTrackCnv::DataObjectToTObject(), RecEvTimeCnv::DataObjectToTObject(), RecEmcShowerCnv::DataObjectToTObject(), RecEmcHitCnv::DataObjectToTObject(), RecEmcClusterCnv::DataObjectToTObject(), and BesVisAlg::producer().
00170 {return m_rectrackCnv;} //*******liangyt
RootInterface* RootCnvSvc::getRootInterface | ( | ) | [inline] |
Definition at line 124 of file RootCnvSvc.h.
References m_rootInterface.
00124 {return m_rootInterface;}
TrigCnv* RootCnvSvc::getTrigCnv | ( | ) | [inline] |
Definition at line 154 of file RootCnvSvc.h.
References m_trigCnv.
Referenced by TrigDataCnv::DataObjectToTObject(), and BesVisAlg::producer().
00154 { return m_trigCnv; } //caogf
StatusCode RootCnvSvc::initFiles | ( | ) | [private] |
Definition at line 212 of file RootCnvSvc.cxx.
References RootInterface::addInput(), RootInterface::addOutput(), Bes_Common::DEBUG, genRecEmupikp::i, Bes_Common::INFO, m_dbufSize, m_dcompressionLevel, m_difileName, m_dofileName, m_dsplitMode, m_dtreeName, m_minSplit, m_rootInterface, msgSvc(), boss::pos, s, deljobs::string, and Bes_Common::WARNING.
Referenced by initialize().
00212 { 00213 MsgStream log(msgSvc(), name()); 00214 log << MSG::DEBUG << "RootCnvSvc::initFiles" << endreq; 00215 StatusCode sc=StatusCode::SUCCESS; 00216 00217 // Use the Job options service to set the Algorithm's parameters 00218 // This will retrieve parameters set in the job options file 00219 setProperties(); 00220 00221 //Read inpout files files from job options 00222 int nSize = m_difileName.size(); 00223 log<<MSG::INFO<<"Root Input files "<<nSize<<endreq; 00224 if(nSize == 0){ 00225 log<<MSG::INFO<<"Unable to find input file"<<endreq; 00226 //return StatusCode::FAILURE; 00227 } 00228 00229 for(int i = 0;i<nSize;i++){ 00230 facilities::Util::expandEnvVar(&m_difileName[i]); 00231 std::string s=m_difileName[i]; 00232 std::vector<int> wildcardPos; 00233 for(int pos=0;pos<s.size();pos++) { 00234 pos=s.find_first_of('?',pos); 00235 if(pos!=-1) { 00236 wildcardPos.push_back(pos); 00237 } 00238 else{ 00239 break; 00240 } 00241 } 00242 if(wildcardPos.size()!=0) { 00243 int nEnd=facilities::Util::catchOptionVal(&s)+1; 00244 int maxNo=pow(10.,(int)wildcardPos.size()); 00245 if(nEnd!=0&&nEnd<maxNo) maxNo=nEnd; 00246 int nStart=facilities::Util::catchOptionVal(&s,0,"&(",")"); 00247 int i=1; 00248 if(nStart!=-1) i=nStart; 00249 if(nStart>nEnd) log<<MSG::WARNING<<"file's StartNo>EndNo"<<endreq; 00250 for(;i<maxNo;i++){ 00251 std::vector<int>::iterator it=wildcardPos.end(); 00252 int id=i; 00253 while(it!=wildcardPos.begin()){ 00254 it--; 00255 char c=id%10+48; 00256 id /=10; 00257 s.replace((*it),1,1,c); 00258 } 00259 if(access(s.c_str(),0)!=-1) { 00260 sc = m_rootInterface->addInput(m_dtreeName,s); 00261 if (sc.isFailure()) return sc; 00262 } 00263 } 00264 } 00265 else { 00266 sc = m_rootInterface->addInput(m_dtreeName,m_difileName[i]); 00267 if (sc.isFailure()) return sc; 00268 } 00269 } 00270 00271 //facilities::Util::expandEnvVar(&m_difileName[0]); 00272 //sc = m_rootInterface->addInput(m_dtreeName,m_difileName[0]); 00273 //if (sc.isFailure()) return sc; 00274 00275 00276 //Digi 00277 //facilities::Util::expandEnvVar(&m_difileName); 00278 facilities::Util::expandEnvVar(&m_dofileName); 00279 // sc = m_rootInterface->addInput(m_dtreeName,m_difileName); 00280 // if (sc.isFailure()) return sc; 00281 00282 if (m_dsplitMode<m_minSplit) { 00283 log << MSG::WARNING << "RootCnvSvc::initFiles Recon splitlevel cant be lower than "<<m_minSplit<<", reset" << endreq; 00284 m_dsplitMode=m_minSplit; 00285 } 00286 00287 if( "" != m_dofileName ){ 00288 sc=m_rootInterface->addOutput(m_dtreeName,m_dofileName,m_dsplitMode,m_dbufSize,m_dcompressionLevel); 00289 }else{ 00290 log << MSG::WARNING << "No specified digiRootOutputFile!" << endreq; 00291 } 00292 00293 return sc; 00294 }
StatusCode RootCnvSvc::initialize | ( | ) | [virtual] |
Definition at line 143 of file RootCnvSvc.cxx.
References addConverters(), Bes_Common::DEBUG, calibUtil::ERROR, for, initFiles(), ganga-rec::j, m_leaves, m_rootInterface, m_selectFromTag, m_tagInputFile, msgSvc(), RootInterface::setSelectFromTag(), RootInterface::setTagInputFile(), and deljobs::string.
00143 { 00144 // Purpose and Method: Setup GLAST's Event Converter Service. 00145 // Associate RootCnvSvc with the EventDataSvc 00146 // Associate the list of known converters with this RootCnvSvc 00147 // configure map of leaves 00148 00149 MsgStream log(msgSvc(), name()); 00150 log << MSG::DEBUG << "RootCnvSvc::initialize" << endreq; 00151 StatusCode status = ConversionSvc::initialize(); 00152 if ( status.isSuccess() ) { 00153 // ISvcLocator* svclocator = serviceLocator(); [unused for now] 00154 IDataProviderSvc *pIDP = 0; 00155 // Set event data service 00156 status = service("EventDataSvc", pIDP, true); 00157 if ( status.isSuccess() ) { 00158 status = setDataProvider ( pIDP ); 00159 } 00160 else { 00161 return status; 00162 } 00163 00164 00165 // Add converters to the service 00166 status = addConverters(); 00167 if ( !status.isSuccess() ) { 00168 log << MSG::ERROR << "Unable to add converters to the service" << endreq; 00169 return status; 00170 } 00171 00172 00173 // Now we have to configure the map of leaves 00174 // Which should contain the association of converters with 00175 // paths on the TDS 00176 for (LeafMap::iterator k = m_leaves.begin(); k != m_leaves.end(); k++ ) { 00177 std::string path = (*k).first; 00178 for (LeafMap::iterator j = m_leaves.begin(); j != m_leaves.end(); j++ ) { 00179 std::string path2 = (*j).first; 00180 std::string pp = (*j).first.substr(0, (*j).first.rfind("/")); 00181 if ( path == pp && path != (*j).first ) { 00182 (*k).second->push_back((*j).second); 00183 } 00184 } 00185 } 00186 } 00187 00188 // get properties and tell RootInterface about files 00189 status=initFiles(); 00190 00191 m_rootInterface->setSelectFromTag(m_selectFromTag); 00192 m_rootInterface->setTagInputFile(m_tagInputFile); 00193 //m_rootInterface->setTagFileFormat(m_tagFileFormat); 00194 00195 return status; 00196 }
StatusCode RootCnvSvc::queryInterface | ( | const InterfaceID & | riid, | |
void ** | ppvInterface | |||
) | [virtual] |
Override inherited queryInterface due to enhanced interface.
Definition at line 359 of file RootCnvSvc.cxx.
References IID_IRootCnvSvc.
00359 { 00360 00361 if ( IID_IRootCnvSvc == riid ) { 00362 *ppvInterface = (RootCnvSvc*)this; 00363 } 00364 else { 00365 // Interface is not directly availible: try out a base class 00366 return ConversionSvc::queryInterface(riid, ppvInterface); 00367 } 00368 addRef(); 00369 return StatusCode::SUCCESS; 00370 }
void RootCnvSvc::setDigiCnv | ( | DigiCnv * | reccnv | ) | [inline] |
Definition at line 158 of file RootCnvSvc.h.
References m_dCnv.
Referenced by DigiCnv::initialize().
00158 {m_dCnv=reccnv;}
void RootCnvSvc::setDstCnv | ( | DstCnv * | dstcnv | ) | [inline] |
Definition at line 159 of file RootCnvSvc.h.
References m_dstCnv.
Referenced by DstCnv::initialize().
00159 {m_dstCnv=dstcnv;}
void RootCnvSvc::setEventCnv | ( | EventCnv * | eventCnv | ) | [inline] |
void RootCnvSvc::setEvtHeaderCnv | ( | EvtHeaderCnv * | evtheadercnv | ) | [inline] |
Definition at line 165 of file RootCnvSvc.h.
References m_evtheaderCnv.
Referenced by EvtHeaderCnv::initialize().
00165 {m_evtheaderCnv=evtheadercnv;}
void RootCnvSvc::setEvtNavigatorCnv | ( | EvtNavigatorCnv * | evtnavigatorcnv | ) | [inline] |
Definition at line 166 of file RootCnvSvc.h.
References m_evtnavigatorCnv.
Referenced by EvtNavigatorCnv::initialize().
00166 {m_evtnavigatorCnv=evtnavigatorcnv;}
void RootCnvSvc::setEvtRecCnv | ( | EvtRecCnv * | evtreccnv | ) | [inline] |
Definition at line 163 of file RootCnvSvc.h.
References m_evtRecCnv.
Referenced by EvtRecCnv::initialize().
00163 { m_evtRecCnv = evtreccnv; } //zoujh
void RootCnvSvc::setHltCnv | ( | HltCnv * | hltcnv | ) | [inline] |
Definition at line 162 of file RootCnvSvc.h.
References m_hltCnv.
Referenced by HltCnv::initialize().
00162 { m_hltCnv = hltcnv; } //fucd
void RootCnvSvc::setMcCnv | ( | McCnv * | mccnv | ) | [inline] |
Definition at line 160 of file RootCnvSvc.h.
References m_mcCnv.
Referenced by McCnv::initialize().
00160 {m_mcCnv=mccnv;}
void RootCnvSvc::setRecTrackCnv | ( | RecTrackCnv * | rectrackcnv | ) | [inline] |
Definition at line 164 of file RootCnvSvc.h.
References m_rectrackCnv.
Referenced by RecTrackCnv::initialize().
00164 {m_rectrackCnv=rectrackcnv;}
void RootCnvSvc::setTrigCnv | ( | TrigCnv * | trigcnv | ) | [inline] |
Definition at line 161 of file RootCnvSvc.h.
References m_trigCnv.
Referenced by TrigCnv::initialize().
00161 { m_trigCnv = trigcnv; } //caogf
StatusCode RootCnvSvc::updateServiceState | ( | IOpaqueAddress * | pAddress | ) | [virtual] |
Update state of the service.
Definition at line 312 of file RootCnvSvc.cxx.
References createAddress(), Bes_Common::DEBUG, RootEvtSelector::getRecId(), if(), ir, m_evtsel, m_leaves, msgSvc(), ROOT_StorageType, and deljobs::string.
00312 { 00313 00314 // not sure about the use of recid or bank... 00315 MsgStream log(msgSvc(), name()); 00316 00317 log << MSG::DEBUG << "RootCnvSvc::updateServiceState" << endreq; 00318 00319 StatusCode status = INVALID_ADDRESS; 00320 IRegistry* ent = pAddress->registry(); 00321 if ( 0 != ent ) { 00322 SmartIF<IDataManagerSvc> iaddrReg(dataProvider()); 00323 // if ( 0 != iaddrReg ) { 00324 status = StatusCode::SUCCESS; 00325 std::string path = ent->identifier(); 00326 LeafMap::iterator itm = m_leaves.find(path); 00327 if ( itm != m_leaves.end() ) { 00328 Leaf* leaf = (*itm).second; 00329 if ( 0 != leaf ) { 00330 for ( Leaf::iterator il = leaf->begin(); il != leaf->end(); il++ ) { 00331 IOpaqueAddress* newAddr = 0; 00332 unsigned long ipars[2] = {0, 0}; // 00333 if (m_evtsel) ipars[0]=m_evtsel->getRecId(); 00334 00335 std::string spars[3]={(*il)->path,(*il)->treename,(*il)->branchname}; 00336 00337 StatusCode ir =createAddress(ROOT_StorageType, 00338 (*il)->clid, 00339 spars, 00340 ipars, 00341 newAddr); 00342 log << MSG::DEBUG << "RootCnvSvc::updateService " << " ***** " << 00343 (*il)->clid << " ***** " << (*il)->path <<endreq; 00344 00345 if ( ir.isSuccess() ) { 00346 ir = iaddrReg->registerAddress((*il)->path, newAddr); 00347 if ( !ir.isSuccess() ) { 00348 newAddr->release(); 00349 status = ir; 00350 } 00351 } 00352 } 00353 } 00354 } 00355 } 00356 return StatusCode::SUCCESS; 00357 }
friend class SvcFactory< RootCnvSvc > [friend] |
Definition at line 42 of file RootCnvSvc.h.
commonData RootCnvSvc::m_common [private] |
relational maps to be cleared
Definition at line 118 of file RootCnvSvc.h.
Referenced by commitOutput().
int RootCnvSvc::m_dbufSize [private] |
buffer size for digi file
Definition at line 96 of file RootCnvSvc.h.
Referenced by initFiles(), and RootCnvSvc().
DigiCnv* RootCnvSvc::m_dCnv [private] |
pointers to top converters
Definition at line 105 of file RootCnvSvc.h.
Referenced by commitOutput(), getDigiCnv(), and setDigiCnv().
int RootCnvSvc::m_dcompressionLevel [private] |
compression level for digix file
Definition at line 99 of file RootCnvSvc.h.
Referenced by initFiles(), and RootCnvSvc().
std::vector<std::string> RootCnvSvc::m_difileName [private] |
digi input filename
Definition at line 86 of file RootCnvSvc.h.
Referenced by initFiles(), and RootCnvSvc().
std::string RootCnvSvc::m_dofileName [private] |
digi output filename
Definition at line 89 of file RootCnvSvc.h.
Referenced by initFiles(), and RootCnvSvc().
int RootCnvSvc::m_dsplitMode [private] |
digi split mode
Definition at line 93 of file RootCnvSvc.h.
Referenced by initFiles(), and RootCnvSvc().
DstCnv* RootCnvSvc::m_dstCnv [private] |
Definition at line 106 of file RootCnvSvc.h.
Referenced by commitOutput(), getDstCnv(), and setDstCnv().
std::string RootCnvSvc::m_dtreeName [private] |
digi treename
Definition at line 102 of file RootCnvSvc.h.
Referenced by initFiles(), and RootCnvSvc().
EventCnv* RootCnvSvc::m_eventCnv [private] |
EvtHeaderCnv* RootCnvSvc::m_evtheaderCnv [private] |
Definition at line 113 of file RootCnvSvc.h.
Referenced by commitOutput(), getEvtHeaderCnv(), and setEvtHeaderCnv().
EvtNavigatorCnv* RootCnvSvc::m_evtnavigatorCnv [private] |
Definition at line 114 of file RootCnvSvc.h.
Referenced by commitOutput(), getEvtNavigatorCnv(), and setEvtNavigatorCnv().
EvtRecCnv* RootCnvSvc::m_evtRecCnv [private] |
Definition at line 110 of file RootCnvSvc.h.
Referenced by commitOutput(), getEvtRecCnv(), and setEvtRecCnv().
RootEvtSelector* RootCnvSvc::m_evtsel [private] |
access to the EventSelector
Definition at line 76 of file RootCnvSvc.h.
Referenced by createAddress(), RootCnvSvc(), and updateServiceState().
HltCnv* RootCnvSvc::m_hltCnv [private] |
Definition at line 109 of file RootCnvSvc.h.
Referenced by commitOutput(), getHltCnv(), and setHltCnv().
LeafMap RootCnvSvc::m_leaves [private] |
Definition at line 79 of file RootCnvSvc.h.
Referenced by createAddress(), declareObject(), finalize(), initialize(), and updateServiceState().
McCnv* RootCnvSvc::m_mcCnv [private] |
Definition at line 107 of file RootCnvSvc.h.
Referenced by commitOutput(), getMcCnv(), and setMcCnv().
const int RootCnvSvc::m_minSplit [private] |
properties minimal split required
Definition at line 83 of file RootCnvSvc.h.
Referenced by initFiles(), and RootCnvSvc().
RecTrackCnv* RootCnvSvc::m_rectrackCnv [private] |
Definition at line 112 of file RootCnvSvc.h.
Referenced by commitOutput(), getRecTrackCnv(), and setRecTrackCnv().
RootInterface* RootCnvSvc::m_rootInterface [private] |
access to the RootInterface
Definition at line 74 of file RootCnvSvc.h.
Referenced by commitOutput(), finalize(), getRootInterface(), initFiles(), initialize(), and RootCnvSvc().
bool RootCnvSvc::m_selectFromTag [private] |
std::vector<std::string> RootCnvSvc::m_tagInputFile [private] |
TrigCnv* RootCnvSvc::m_trigCnv [private] |
Definition at line 108 of file RootCnvSvc.h.
Referenced by commitOutput(), getTrigCnv(), and setTrigCnv().