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

Root Event Conversion Service which coordinates all of our converters. More...

#include <RootCnvSvc.h>

Inheritance diagram for RootCnvSvc:

Classes

class  Leaf
 object regrouping CLID and pathname with treename/branchname More...

Public Member Functions

RootInterfacegetRootInterface ()
virtual StatusCode initialize ()
virtual StatusCode finalize ()
virtual StatusCode updateServiceState (IOpaqueAddress *pAddress)
 Update state of the service.
virtual StatusCode declareObject (const Leaf &leaf)
 Override inherited queryInterface due to enhanced interface.
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)
IConverter * createConverter (long typ, const CLID &wanted, const ICnvFactory *fac) override
DigiCnvgetDigiCnv ()
DstCnvgetDstCnv ()
McCnvgetMcCnv ()
TrigCnvgetTrigCnv ()
HltCnvgetHltCnv ()
EvtRecCnvgetEvtRecCnv ()
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)
RecTrackCnvgetRecTrackCnv ()
EvtHeaderCnvgetEvtHeaderCnv ()
EvtNavigatorCnvgetEvtNavigatorCnv ()
EventCnvgetEventCnv ()
 RootCnvSvc (const std::string &name, ISvcLocator *svc)
virtual ~RootCnvSvc ()
RootInterfacegetRootInterface ()
virtual StatusCode initialize ()
virtual StatusCode finalize ()
virtual StatusCode updateServiceState (IOpaqueAddress *pAddress)
virtual StatusCode declareObject (const Leaf &leaf)
 Override inherited queryInterface due to enhanced interface.
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)
IConverter * createConverter (long typ, const CLID &wanted, const ICnvFactory *fac) override
DigiCnvgetDigiCnv ()
DstCnvgetDstCnv ()
McCnvgetMcCnv ()
TrigCnvgetTrigCnv ()
HltCnvgetHltCnv ()
EvtRecCnvgetEvtRecCnv ()
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)
RecTrackCnvgetRecTrackCnv ()
EvtHeaderCnvgetEvtHeaderCnv ()
EvtNavigatorCnvgetEvtNavigatorCnv ()
EventCnvgetEventCnv ()
 RootCnvSvc (const std::string &name, ISvcLocator *svc)
virtual ~RootCnvSvc ()
RootInterfacegetRootInterface ()
virtual StatusCode initialize ()
virtual StatusCode finalize ()
virtual StatusCode updateServiceState (IOpaqueAddress *pAddress)
virtual StatusCode declareObject (const Leaf &leaf)
 Override inherited queryInterface due to enhanced interface.
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)
IConverter * createConverter (long typ, const CLID &wanted, const ICnvFactory *fac) override
DigiCnvgetDigiCnv ()
DstCnvgetDstCnv ()
McCnvgetMcCnv ()
TrigCnvgetTrigCnv ()
HltCnvgetHltCnv ()
EvtRecCnvgetEvtRecCnv ()
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)
RecTrackCnvgetRecTrackCnv ()
EvtHeaderCnvgetEvtHeaderCnv ()
EvtNavigatorCnvgetEvtNavigatorCnv ()
EventCnvgetEventCnv ()
 RootCnvSvc (const std::string &name, ISvcLocator *svc)
virtual ~RootCnvSvc ()

Friends

class SvcFactory< RootCnvSvc >

Detailed Description

Root Event Conversion Service which coordinates all of our converters.

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 43 of file Event/RootCnvSvc/include/RootCnvSvc/RootCnvSvc.h.

Constructor & Destructor Documentation

◆ RootCnvSvc() [1/3]

RootCnvSvc::RootCnvSvc ( const std::string & name,
ISvcLocator * svc )

Definition at line 99 of file RootCnvSvc.cxx.

100 : base_class( name, svc, ROOT_StorageType ), m_minSplit( 1 ), m_evtsel( 0 ) {
101
102 // Digi
103 declareProperty( "digiTreeName", m_dtreeName = "Event" ); //"Rec"->"Event"
104
105 declareProperty( "digiRootInputFile", m_difileName );
106 declareProperty( "digiRootOutputFile", m_dofileName = "" );
107
108 // Split mode for writing the TTree [0,99]
109 declareProperty( "digiSplitMode", m_dsplitMode = m_minSplit );
110 // Buffer size for writing ROOT data
111 declareProperty( "digiBufferSize", m_dbufSize = 3200000 );
112 // ROOT default compression
113 declareProperty( "digiCompressionLevel", m_dcompressionLevel = 1 );
114 declareProperty( "selectFromTag", m_selectFromTag = 0 );
115 declareProperty( "tagInputFile", m_tagInputFile );
116 // declareProperty("tagFileFormat", m_tagFileFormat=1);
117
118 declareProperty( "readETS", m_readETS = false );
119}
const long int ROOT_StorageType

Referenced by RootCnvSvc().

◆ ~RootCnvSvc() [1/3]

virtual RootCnvSvc::~RootCnvSvc ( )
inlinevirtual

Definition at line 181 of file Event/RootCnvSvc/include/RootCnvSvc/RootCnvSvc.h.

181{};

◆ RootCnvSvc() [2/3]

RootCnvSvc::RootCnvSvc ( const std::string & name,
ISvcLocator * svc )

◆ ~RootCnvSvc() [2/3]

virtual RootCnvSvc::~RootCnvSvc ( )
inlinevirtual

◆ RootCnvSvc() [3/3]

RootCnvSvc::RootCnvSvc ( const std::string & name,
ISvcLocator * svc )

◆ ~RootCnvSvc() [3/3]

virtual RootCnvSvc::~RootCnvSvc ( )
inlinevirtual

Member Function Documentation

◆ commitOutput() [1/3]

StatusCode RootCnvSvc::commitOutput ( const std::string & output,
bool do_commit )
virtual

Commit pending output (fill the TTrees).

Definition at line 398 of file RootCnvSvc.cxx.

398 {
399
400 MsgStream log( msgSvc(), name() );
401 log << MSG::INFO << "RootCnvSvc::commitOutput starts." << endmsg;
402
403 StatusCode sc = m_rootInterface->fillTrees();
404 if ( sc.isFailure() ) log << MSG::ERROR << "No Root tree was filled" << endmsg;
405
406 // objects must be cleared after fill
407 else
408 {
409 TObject* oEvtHeader = m_evtheaderCnv->getWriteObject();
410 if ( oEvtHeader ) oEvtHeader->Clear();
411 TObject* oEvtNavigator = m_evtnavigatorCnv->getWriteObject();
412 if ( oEvtNavigator ) oEvtNavigator->Clear();
413 TObject* o = m_dCnv->getWriteObject();
414 if ( o ) o->Clear();
415 TObject* oDst = m_dstCnv->getWriteObject();
416 if ( oDst ) oDst->Clear();
417 TObject* oMc = m_mcCnv->getWriteObject();
418 if ( oMc ) oMc->Clear();
419 TObject* oRecTrack = m_rectrackCnv->getWriteObject();
420 if ( oRecTrack ) oRecTrack->Clear();
421 TObject* oEvtRecEvent = m_evtRecCnv->getWriteObject();
422 if ( oEvtRecEvent ) oEvtRecEvent->Clear();
423 TObject* oTrig = m_trigCnv->getWriteObject();
424 if ( oTrig ) oTrig->Clear();
425 TObject* oHlt = m_hltCnv->getWriteObject();
426 if ( oHlt ) oHlt->Clear();
427 }
428 m_common.clear();
429
430 return sc;
431}
IMessageSvc * msgSvc()

◆ commitOutput() [2/3]

virtual StatusCode RootCnvSvc::commitOutput ( const std::string & output,
bool do_commit )
virtual

Commit pending output (fill the TTrees).

◆ commitOutput() [3/3]

virtual StatusCode RootCnvSvc::commitOutput ( const std::string & output,
bool do_commit )
virtual

Commit pending output (fill the TTrees).

◆ createAddress() [1/9]

StatusCode RootCnvSvc::createAddress ( DataObject * obj,
IOpaqueAddress *& refpAddress )
virtual

Definition at line 433 of file RootCnvSvc.cxx.

433 {
434
435 // create address for this object
436 MsgStream log( msgSvc(), name() );
437
438 log << MSG::DEBUG << "RootCnvSvc::createAddress" << endmsg;
439
440 StatusCode status = StatusCode::FAILURE;
441 IRegistry* ent = obj->registry();
442
443 if ( 0 != ent )
444 {
445 SmartIF<IDataManagerSvc> iaddrReg( dataProvider() );
446 std::string path = ent->identifier();
447 LeafMap::iterator itm = m_leaves.find( path );
448
449 if ( itm != m_leaves.end() )
450 {
451 Leaf* leaf = ( *itm ).second;
452 if ( 0 != leaf )
453 {
454 std::string spars[3];
455 spars[0] = path;
456 spars[1] = leaf->treename;
457 spars[2] = leaf->branchname;
458
459 unsigned long ipars[2] = { 0, 0 };
460 if ( m_evtsel ) ipars[0] = m_evtsel->getRecId();
461
462 status = addressCreator()->createAddress( ROOT_StorageType, leaf->clid, spars, ipars,
463 newAddr );
464 if ( status.isSuccess() )
465 {
466 status = iaddrReg->registerAddress( (IRegistry*)0, path, newAddr );
467 if ( !status.isSuccess() ) { newAddr->release(); }
468 }
469 return StatusCode::SUCCESS;
470 }
471 }
472 else { log << MSG::ERROR << "Leaf not found for path: " << path << endmsg; }
473 }
474 return status;
475}
object regrouping CLID and pathname with treename/branchname

◆ createAddress() [2/9]

virtual StatusCode RootCnvSvc::createAddress ( DataObject * obj,
IOpaqueAddress *& refpAddress )
virtual

◆ createAddress() [3/9]

virtual StatusCode RootCnvSvc::createAddress ( DataObject * obj,
IOpaqueAddress *& refpAddress )
virtual

◆ createAddress() [4/9]

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 378 of file RootCnvSvc.cxx.

380 {
381 MsgStream log( msgSvc(), name() );
382
383 if ( svc_type != repSvcType() )
384 {
385 log << MSG::ERROR << "RootCnvSvc::bad storage type" << svc_type << endmsg;
386 return StatusCode::FAILURE;
387 }
388
389 std::string path = spars[0];
390 std::string treename = spars[1];
391 std::string branchname = spars[2];
392 int entry = ipars[0];
393 if ( path.size() == 0 ) path = "/Event";
394 refpAddress = new RootAddress( ROOT_StorageType, clid, path, treename, branchname, entry );
395 return StatusCode::SUCCESS;
396}

Referenced by updateServiceState().

◆ createAddress() [5/9]

virtual 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

◆ createAddress() [6/9]

virtual 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

◆ createAddress() [7/9]

StatusCode RootCnvSvc::createAddress ( std::string path,
IOpaqueAddress *& refpAddress )
virtual

Definition at line 477 of file RootCnvSvc.cxx.

477 {
478
479 // create address for this object
480 MsgStream log( msgSvc(), name() );
481
482 StatusCode status;
483 LeafMap::iterator itm = m_leaves.find( path );
484 SmartIF<IDataManagerSvc> iaddrReg( dataProvider() );
485 if ( itm != m_leaves.end() )
486 {
487 Leaf* leaf = ( *itm ).second;
488 if ( 0 != leaf )
489 {
490 std::string spars[3];
491 spars[0] = path;
492 spars[1] = leaf->treename;
493 spars[2] = leaf->branchname;
494
495 unsigned long ipars[2] = { 0, 0 };
496 if ( m_evtsel ) ipars[0] = m_evtsel->getRecId();
497 status = addressCreator()->createAddress( ROOT_StorageType, leaf->clid, spars, ipars,
498 newAddr );
499 if ( status.isSuccess() )
500 {
501 status = iaddrReg->registerAddress( (IRegistry*)0, path, newAddr );
502 if ( !status.isSuccess() ) { newAddr->release(); }
503 }
504 return StatusCode::SUCCESS;
505 }
506 }
507
508 return StatusCode::FAILURE;
509}

◆ createAddress() [8/9]

virtual StatusCode RootCnvSvc::createAddress ( std::string path,
IOpaqueAddress *& refpAddress )
virtual

◆ createAddress() [9/9]

virtual StatusCode RootCnvSvc::createAddress ( std::string path,
IOpaqueAddress *& refpAddress )
virtual

◆ createConverter() [1/3]

IConverter * RootCnvSvc::createConverter ( long typ,
const CLID & wanted,
const ICnvFactory * fac )
override

Definition at line 636 of file RootCnvSvc.cxx.

637 {
638 if ( wanted == MdcDedxCnv::classID() ) return new MdcDedxCnv( serviceLocator().get() );
639 if ( wanted == DstCnv::classID() ) return new DstCnv( serviceLocator().get() );
640 if ( wanted == EmcDigiCnv::classID() ) return new EmcDigiCnv( serviceLocator().get() );
641 if ( wanted == EmcMcHitCnv::classID() ) return new EmcMcHitCnv( serviceLocator().get() );
642 if ( wanted == EmcTrackCnv::classID() ) return new EmcTrackCnv( serviceLocator().get() );
643 if ( wanted == EventCnv::classID() ) return new EventCnv( serviceLocator().get() );
644 if ( wanted == EvtHeaderCnv::classID() ) return new EvtHeaderCnv( serviceLocator().get() );
645 if ( wanted == EvtNavigatorCnv::classID() )
646 return new EvtNavigatorCnv( serviceLocator().get() );
647 if ( wanted == ExtTrackCnv::classID() ) return new ExtTrackCnv( serviceLocator().get() );
648 if ( wanted == McCnv::classID() ) return new McCnv( serviceLocator().get() );
649 if ( wanted == McParticleCnv::classID() ) return new McParticleCnv( serviceLocator().get() );
650 if ( wanted == MdcDigiCnv::classID() ) return new MdcDigiCnv( serviceLocator().get() );
651 if ( wanted == MdcKalTrackCnv::classID() )
652 return new MdcKalTrackCnv( serviceLocator().get() );
653 if ( wanted == MdcMcHitCnv::classID() ) return new MdcMcHitCnv( serviceLocator().get() );
654 if ( wanted == MdcTrackCnv::classID() ) return new MdcTrackCnv( serviceLocator().get() );
655 if ( wanted == MucDigiCnv::classID() ) return new MucDigiCnv( serviceLocator().get() );
656 if ( wanted == MucMcHitCnv::classID() ) return new MucMcHitCnv( serviceLocator().get() );
657 if ( wanted == MucTrackCnv::classID() ) return new MucTrackCnv( serviceLocator().get() );
658 if ( wanted == DigiCnv::classID() ) return new DigiCnv( serviceLocator().get() );
659 if ( wanted == TofDigiCnv::classID() ) return new TofDigiCnv( serviceLocator().get() );
660 if ( wanted == TofMcHitCnv::classID() ) return new TofMcHitCnv( serviceLocator().get() );
661 if ( wanted == TofTrackCnv::classID() ) return new TofTrackCnv( serviceLocator().get() );
662 if ( wanted == LumiDigiCnv::classID() ) return new LumiDigiCnv( serviceLocator().get() );
663 if ( wanted == TrigCnv::classID() ) return new TrigCnv( serviceLocator().get() );
664 if ( wanted == TrigDataCnv::classID() ) return new TrigDataCnv( serviceLocator().get() );
665 if ( wanted == HltCnv::classID() ) return new HltCnv( serviceLocator().get() );
666 if ( wanted == HltRawCnv::classID() ) return new HltRawCnv( serviceLocator().get() );
667 if ( wanted == HltInfCnv::classID() ) return new HltInfCnv( serviceLocator().get() );
668 if ( wanted == DstHltInfCnv::classID() ) return new DstHltInfCnv( serviceLocator().get() );
669 if ( wanted == RecTrackCnv::classID() ) return new RecTrackCnv( serviceLocator().get() );
670 if ( wanted == RecMdcTrackCnv::classID() )
671 return new RecMdcTrackCnv( serviceLocator().get() );
672 if ( wanted == RecMdcHitCnv::classID() ) return new RecMdcHitCnv( serviceLocator().get() );
673 if ( wanted == RecMdcKalTrackCnv::classID() )
674 return new RecMdcKalTrackCnv( serviceLocator().get() );
675 if ( wanted == RecMdcKalHelixSegCnv::classID() )
676 return new RecMdcKalHelixSegCnv( serviceLocator().get() );
677 if ( wanted == RecMdcDedxCnv::classID() ) return new RecMdcDedxCnv( serviceLocator().get() );
678 if ( wanted == RecMdcDedxHitCnv::classID() )
679 return new RecMdcDedxHitCnv( serviceLocator().get() );
680 if ( wanted == RecEvTimeCnv::classID() ) return new RecEvTimeCnv( serviceLocator().get() );
681 if ( wanted == RecTofTrackCnv::classID() )
682 return new RecTofTrackCnv( serviceLocator().get() );
683 if ( wanted == RecBTofCalHitCnv::classID() )
684 return new RecBTofCalHitCnv( serviceLocator().get() );
685 if ( wanted == RecETofCalHitCnv::classID() )
686 return new RecETofCalHitCnv( serviceLocator().get() );
687 if ( wanted == RecEmcHitCnv::classID() ) return new RecEmcHitCnv( serviceLocator().get() );
688 if ( wanted == RecEmcClusterCnv::classID() )
689 return new RecEmcClusterCnv( serviceLocator().get() );
690 if ( wanted == RecEmcShowerCnv::classID() )
691 return new RecEmcShowerCnv( serviceLocator().get() );
692 if ( wanted == RecMucTrackCnv::classID() )
693 return new RecMucTrackCnv( serviceLocator().get() );
694 if ( wanted == RecMucRecHitCnv::classID() )
695 return new RecMucRecHitCnv( serviceLocator().get() );
696 if ( wanted == RecExtTrackCnv::classID() )
697 return new RecExtTrackCnv( serviceLocator().get() );
698 if ( wanted == RecZddChannelCnv::classID() )
699 return new RecZddChannelCnv( serviceLocator().get() );
700 if ( wanted == EvtRecCnv::classID() ) return new EvtRecCnv( serviceLocator().get() );
701 if ( wanted == EvtRecEventCnv::classID() )
702 return new EvtRecEventCnv( serviceLocator().get() );
703 if ( wanted == EvtRecTrackCnv::classID() )
704 return new EvtRecTrackCnv( serviceLocator().get() );
705 if ( wanted == EvtRecPrimaryVertexCnv::classID() )
706 return new EvtRecPrimaryVertexCnv( serviceLocator().get() );
707 if ( wanted == EvtRecVeeVertexCnv::classID() )
708 return new EvtRecVeeVertexCnv( serviceLocator().get() );
709 if ( wanted == EvtRecPi0Cnv::classID() ) return new EvtRecPi0Cnv( serviceLocator().get() );
710 if ( wanted == EvtRecEtaToGGCnv::classID() )
711 return new EvtRecEtaToGGCnv( serviceLocator().get() );
712 if ( wanted == EvtRecDTagCnv::classID() ) return new EvtRecDTagCnv( serviceLocator().get() );
713
714 return ConversionSvc::createConverter( typ, wanted, fac );
715}

◆ createConverter() [2/3]

IConverter * RootCnvSvc::createConverter ( long typ,
const CLID & wanted,
const ICnvFactory * fac )
override

◆ createConverter() [3/3]

IConverter * RootCnvSvc::createConverter ( long typ,
const CLID & wanted,
const ICnvFactory * fac )
override

◆ declareObject() [1/3]

StatusCode RootCnvSvc::declareObject ( const Leaf & leaf)
virtual

Override inherited queryInterface due to enhanced interface.

Associates a path on TDS with a particular converter

Definition at line 301 of file RootCnvSvc.cxx.

301 {
302 // Purpose and Method: Callback from each of the individual converters that allows
303 // association of TDS path and converter.
304 MsgStream log( msgSvc(), name() );
305 log << MSG::DEBUG << "RootCnvSvc::declareObject " << leaf.path << " classid: " << leaf.clid
306 << endmsg;
307 Leaf* ll = new Leaf( leaf );
308 std::pair<LeafMap::iterator, bool> p =
309 m_leaves.insert( LeafMap::value_type( leaf.path, ll ) );
310 if ( p.second ) { return StatusCode::SUCCESS; }
311 delete ll;
312 return StatusCode::FAILURE;
313}

◆ declareObject() [2/3]

virtual StatusCode RootCnvSvc::declareObject ( const Leaf & leaf)
virtual

Override inherited queryInterface due to enhanced interface.

Associates a path on TDS with a particular converter

◆ declareObject() [3/3]

virtual StatusCode RootCnvSvc::declareObject ( const Leaf & leaf)
virtual

Override inherited queryInterface due to enhanced interface.

Associates a path on TDS with a particular converter

◆ finalize() [1/3]

StatusCode RootCnvSvc::finalize ( )
virtual

Definition at line 192 of file RootCnvSvc.cxx.

192 {
193 MsgStream log( msgSvc(), name() );
194 log << MSG::DEBUG << "RootCnvSvc::finalize" << endmsg;
195
196 ConversionSvc::finalize();
197 // log << MSG::INFO<<"this is the end of RootCnvsvc finalize"<<endmsg;
198 for ( LeafMap::iterator k = m_leaves.begin(); k != m_leaves.end(); k++ )
199 { delete ( *k ).second; }
200 m_leaves.erase( m_leaves.begin(), m_leaves.end() );
201
202 return m_rootInterface->finalize();
203}

◆ finalize() [2/3]

virtual StatusCode RootCnvSvc::finalize ( )
virtual

◆ finalize() [3/3]

virtual StatusCode RootCnvSvc::finalize ( )
virtual

◆ getDigiCnv() [1/3]

DigiCnv * RootCnvSvc::getDigiCnv ( )
inline

Definition at line 153 of file Event/RootCnvSvc/include/RootCnvSvc/RootCnvSvc.h.

153{ return m_dCnv; }

◆ getDigiCnv() [2/3]

DigiCnv * RootCnvSvc::getDigiCnv ( )
inline

Definition at line 153 of file InstallArea/x86_64-el9-gcc13-dbg/include/RootCnvSvc/RootCnvSvc.h.

153{ return m_dCnv; }

◆ getDigiCnv() [3/3]

DigiCnv * RootCnvSvc::getDigiCnv ( )
inline

Definition at line 153 of file InstallArea/x86_64-el9-gcc13-opt/include/RootCnvSvc/RootCnvSvc.h.

153{ return m_dCnv; }

◆ getDstCnv() [1/3]

DstCnv * RootCnvSvc::getDstCnv ( )
inline

Definition at line 154 of file Event/RootCnvSvc/include/RootCnvSvc/RootCnvSvc.h.

154{ return m_dstCnv; }

◆ getDstCnv() [2/3]

DstCnv * RootCnvSvc::getDstCnv ( )
inline

Definition at line 154 of file InstallArea/x86_64-el9-gcc13-dbg/include/RootCnvSvc/RootCnvSvc.h.

154{ return m_dstCnv; }

◆ getDstCnv() [3/3]

DstCnv * RootCnvSvc::getDstCnv ( )
inline

Definition at line 154 of file InstallArea/x86_64-el9-gcc13-opt/include/RootCnvSvc/RootCnvSvc.h.

154{ return m_dstCnv; }

◆ getEventCnv() [1/3]

EventCnv * RootCnvSvc::getEventCnv ( )
inline

Definition at line 176 of file Event/RootCnvSvc/include/RootCnvSvc/RootCnvSvc.h.

176{ return m_eventCnv; }

◆ getEventCnv() [2/3]

EventCnv * RootCnvSvc::getEventCnv ( )
inline

Definition at line 176 of file InstallArea/x86_64-el9-gcc13-dbg/include/RootCnvSvc/RootCnvSvc.h.

176{ return m_eventCnv; }

◆ getEventCnv() [3/3]

EventCnv * RootCnvSvc::getEventCnv ( )
inline

Definition at line 176 of file InstallArea/x86_64-el9-gcc13-opt/include/RootCnvSvc/RootCnvSvc.h.

176{ return m_eventCnv; }

◆ getEvtHeaderCnv() [1/3]

EvtHeaderCnv * RootCnvSvc::getEvtHeaderCnv ( )
inline

Definition at line 174 of file Event/RootCnvSvc/include/RootCnvSvc/RootCnvSvc.h.

174{ return m_evtheaderCnv; }

◆ getEvtHeaderCnv() [2/3]

EvtHeaderCnv * RootCnvSvc::getEvtHeaderCnv ( )
inline

Definition at line 174 of file InstallArea/x86_64-el9-gcc13-dbg/include/RootCnvSvc/RootCnvSvc.h.

174{ return m_evtheaderCnv; }

◆ getEvtHeaderCnv() [3/3]

EvtHeaderCnv * RootCnvSvc::getEvtHeaderCnv ( )
inline

Definition at line 174 of file InstallArea/x86_64-el9-gcc13-opt/include/RootCnvSvc/RootCnvSvc.h.

174{ return m_evtheaderCnv; }

◆ getEvtNavigatorCnv() [1/3]

EvtNavigatorCnv * RootCnvSvc::getEvtNavigatorCnv ( )
inline

Definition at line 175 of file Event/RootCnvSvc/include/RootCnvSvc/RootCnvSvc.h.

175{ return m_evtnavigatorCnv; }

◆ getEvtNavigatorCnv() [2/3]

EvtNavigatorCnv * RootCnvSvc::getEvtNavigatorCnv ( )
inline

Definition at line 175 of file InstallArea/x86_64-el9-gcc13-dbg/include/RootCnvSvc/RootCnvSvc.h.

175{ return m_evtnavigatorCnv; }

◆ getEvtNavigatorCnv() [3/3]

EvtNavigatorCnv * RootCnvSvc::getEvtNavigatorCnv ( )
inline

Definition at line 175 of file InstallArea/x86_64-el9-gcc13-opt/include/RootCnvSvc/RootCnvSvc.h.

175{ return m_evtnavigatorCnv; }

◆ getEvtRecCnv() [1/3]

EvtRecCnv * RootCnvSvc::getEvtRecCnv ( )
inline

Definition at line 158 of file Event/RootCnvSvc/include/RootCnvSvc/RootCnvSvc.h.

158{ return m_evtRecCnv; } // zoujh

◆ getEvtRecCnv() [2/3]

EvtRecCnv * RootCnvSvc::getEvtRecCnv ( )
inline

Definition at line 158 of file InstallArea/x86_64-el9-gcc13-dbg/include/RootCnvSvc/RootCnvSvc.h.

158{ return m_evtRecCnv; } // zoujh

◆ getEvtRecCnv() [3/3]

EvtRecCnv * RootCnvSvc::getEvtRecCnv ( )
inline

Definition at line 158 of file InstallArea/x86_64-el9-gcc13-opt/include/RootCnvSvc/RootCnvSvc.h.

158{ return m_evtRecCnv; } // zoujh

◆ getHltCnv() [1/3]

HltCnv * RootCnvSvc::getHltCnv ( )
inline

Definition at line 157 of file Event/RootCnvSvc/include/RootCnvSvc/RootCnvSvc.h.

157{ return m_hltCnv; } // fucd

◆ getHltCnv() [2/3]

HltCnv * RootCnvSvc::getHltCnv ( )
inline

Definition at line 157 of file InstallArea/x86_64-el9-gcc13-dbg/include/RootCnvSvc/RootCnvSvc.h.

157{ return m_hltCnv; } // fucd

◆ getHltCnv() [3/3]

HltCnv * RootCnvSvc::getHltCnv ( )
inline

Definition at line 157 of file InstallArea/x86_64-el9-gcc13-opt/include/RootCnvSvc/RootCnvSvc.h.

157{ return m_hltCnv; } // fucd

◆ getMcCnv() [1/3]

McCnv * RootCnvSvc::getMcCnv ( )
inline

Definition at line 155 of file Event/RootCnvSvc/include/RootCnvSvc/RootCnvSvc.h.

155{ return m_mcCnv; }

◆ getMcCnv() [2/3]

McCnv * RootCnvSvc::getMcCnv ( )
inline

Definition at line 155 of file InstallArea/x86_64-el9-gcc13-dbg/include/RootCnvSvc/RootCnvSvc.h.

155{ return m_mcCnv; }

◆ getMcCnv() [3/3]

McCnv * RootCnvSvc::getMcCnv ( )
inline

Definition at line 155 of file InstallArea/x86_64-el9-gcc13-opt/include/RootCnvSvc/RootCnvSvc.h.

155{ return m_mcCnv; }

◆ getRecTrackCnv() [1/3]

RecTrackCnv * RootCnvSvc::getRecTrackCnv ( )
inline

Definition at line 173 of file Event/RootCnvSvc/include/RootCnvSvc/RootCnvSvc.h.

173{ return m_rectrackCnv; } //*******liangyt

◆ getRecTrackCnv() [2/3]

RecTrackCnv * RootCnvSvc::getRecTrackCnv ( )
inline

Definition at line 173 of file InstallArea/x86_64-el9-gcc13-dbg/include/RootCnvSvc/RootCnvSvc.h.

173{ return m_rectrackCnv; } //*******liangyt

◆ getRecTrackCnv() [3/3]

RecTrackCnv * RootCnvSvc::getRecTrackCnv ( )
inline

Definition at line 173 of file InstallArea/x86_64-el9-gcc13-opt/include/RootCnvSvc/RootCnvSvc.h.

173{ return m_rectrackCnv; } //*******liangyt

◆ getRootInterface() [1/3]

RootInterface * RootCnvSvc::getRootInterface ( )
inline

Definition at line 126 of file Event/RootCnvSvc/include/RootCnvSvc/RootCnvSvc.h.

126{ return m_rootInterface; }

◆ getRootInterface() [2/3]

RootInterface * RootCnvSvc::getRootInterface ( )
inline

Definition at line 126 of file InstallArea/x86_64-el9-gcc13-dbg/include/RootCnvSvc/RootCnvSvc.h.

126{ return m_rootInterface; }

◆ getRootInterface() [3/3]

RootInterface * RootCnvSvc::getRootInterface ( )
inline

Definition at line 126 of file InstallArea/x86_64-el9-gcc13-opt/include/RootCnvSvc/RootCnvSvc.h.

126{ return m_rootInterface; }

◆ getTrigCnv() [1/3]

TrigCnv * RootCnvSvc::getTrigCnv ( )
inline

Definition at line 156 of file Event/RootCnvSvc/include/RootCnvSvc/RootCnvSvc.h.

156{ return m_trigCnv; } // caogf

◆ getTrigCnv() [2/3]

TrigCnv * RootCnvSvc::getTrigCnv ( )
inline

Definition at line 156 of file InstallArea/x86_64-el9-gcc13-dbg/include/RootCnvSvc/RootCnvSvc.h.

156{ return m_trigCnv; } // caogf

◆ getTrigCnv() [3/3]

TrigCnv * RootCnvSvc::getTrigCnv ( )
inline

Definition at line 156 of file InstallArea/x86_64-el9-gcc13-opt/include/RootCnvSvc/RootCnvSvc.h.

156{ return m_trigCnv; } // caogf

◆ initialize() [1/3]

StatusCode RootCnvSvc::initialize ( )
virtual

Definition at line 121 of file RootCnvSvc.cxx.

121 {
122 // Purpose and Method: Setup GLAST's Event Converter Service.
123 // Associate RootCnvSvc with the EventDataSvc
124 // Associate the list of known converters with this RootCnvSvc
125 // configure map of leaves
126
127 MsgStream log( msgSvc(), name() );
128
129 StatusCode sc;
130 log << MSG::DEBUG << "RootCnvSvc::initialize" << endmsg;
131
132 IService* isvc = 0;
133 sc = serviceLocator()->getService( "RootEvtSelector", isvc, false );
134 if ( !sc.isSuccess() ) sc = serviceLocator()->getService( "EventSelector", isvc, false );
135 if ( sc.isSuccess() )
136 { sc = isvc->queryInterface( IID_IRootEvtSelector, (void**)&m_evtsel ); }
137 if ( sc.isFailure() )
138 {
139 log << MSG::WARNING << "Unable to start event selector service within RootCnvSvc"
140 << endmsg;
141 }
142
143 m_rootInterface = RootInterface::Instance( name() );
144 if ( !m_rootInterface )
145 log << MSG::ERROR << "Unable to start Root service within RootCnvSvc" << endmsg;
146
147 StatusCode status = ConversionSvc::initialize();
148 if ( status.isSuccess() )
149 {
150 // ISvcLocator* svclocator = serviceLocator(); [unused for now]
151 IDataProviderSvc* pIDP = 0;
152 // Set event data service
153 status = service( "EventDataSvc", pIDP, true );
154 if ( status.isSuccess() ) { status = setDataProvider( pIDP ); }
155 else { return status; }
156
157 // Add converters to the service
158 status = addConverters();
159 if ( !status.isSuccess() )
160 {
161 log << MSG::ERROR << "Unable to add converters to the service" << endmsg;
162 return status;
163 }
164
165 // Now we have to configure the map of leaves
166 // Which should contain the association of converters with
167 // paths on the TDS
168 for ( LeafMap::iterator k = m_leaves.begin(); k != m_leaves.end(); k++ )
169 {
170 std::string path = ( *k ).first;
171 for ( LeafMap::iterator j = m_leaves.begin(); j != m_leaves.end(); j++ )
172 {
173 std::string path2 = ( *j ).first;
174 std::string pp = ( *j ).first.substr( 0, ( *j ).first.rfind( "/" ) );
175 if ( path == pp && path != ( *j ).first )
176 { ( *k ).second->push_back( ( *j ).second ); }
177 }
178 }
179 }
180
181 // get properties and tell RootInterface about files
182 status = initFiles();
183
184 m_rootInterface->setSelectFromTag( m_selectFromTag );
185 if ( m_selectFromTag && m_tagInputFile.empty() ) { m_tagInputFile = m_difileName; }
186 m_rootInterface->setTagInputFile( m_tagInputFile );
187 // m_rootInterface->setTagFileFormat(m_tagFileFormat);
188
189 return status;
190}
static RootInterface * Instance(const std::string &name)
singleton behaviour

◆ initialize() [2/3]

virtual StatusCode RootCnvSvc::initialize ( )
virtual

◆ initialize() [3/3]

virtual StatusCode RootCnvSvc::initialize ( )
virtual

◆ setDigiCnv() [1/3]

void RootCnvSvc::setDigiCnv ( DigiCnv * reccnv)
inline

Definition at line 160 of file Event/RootCnvSvc/include/RootCnvSvc/RootCnvSvc.h.

160{ m_dCnv = reccnv; }

◆ setDigiCnv() [2/3]

void RootCnvSvc::setDigiCnv ( DigiCnv * reccnv)
inline

Definition at line 160 of file InstallArea/x86_64-el9-gcc13-dbg/include/RootCnvSvc/RootCnvSvc.h.

160{ m_dCnv = reccnv; }

◆ setDigiCnv() [3/3]

void RootCnvSvc::setDigiCnv ( DigiCnv * reccnv)
inline

Definition at line 160 of file InstallArea/x86_64-el9-gcc13-opt/include/RootCnvSvc/RootCnvSvc.h.

160{ m_dCnv = reccnv; }

◆ setDstCnv() [1/3]

void RootCnvSvc::setDstCnv ( DstCnv * dstcnv)
inline

Definition at line 161 of file Event/RootCnvSvc/include/RootCnvSvc/RootCnvSvc.h.

161{ m_dstCnv = dstcnv; }

◆ setDstCnv() [2/3]

void RootCnvSvc::setDstCnv ( DstCnv * dstcnv)
inline

Definition at line 161 of file InstallArea/x86_64-el9-gcc13-dbg/include/RootCnvSvc/RootCnvSvc.h.

161{ m_dstCnv = dstcnv; }

◆ setDstCnv() [3/3]

void RootCnvSvc::setDstCnv ( DstCnv * dstcnv)
inline

Definition at line 161 of file InstallArea/x86_64-el9-gcc13-opt/include/RootCnvSvc/RootCnvSvc.h.

161{ m_dstCnv = dstcnv; }

◆ setEventCnv() [1/3]

void RootCnvSvc::setEventCnv ( EventCnv * eventCnv)
inline

Definition at line 171 of file Event/RootCnvSvc/include/RootCnvSvc/RootCnvSvc.h.

171{ m_eventCnv = eventCnv; }

◆ setEventCnv() [2/3]

void RootCnvSvc::setEventCnv ( EventCnv * eventCnv)
inline

Definition at line 171 of file InstallArea/x86_64-el9-gcc13-dbg/include/RootCnvSvc/RootCnvSvc.h.

171{ m_eventCnv = eventCnv; }

◆ setEventCnv() [3/3]

void RootCnvSvc::setEventCnv ( EventCnv * eventCnv)
inline

Definition at line 171 of file InstallArea/x86_64-el9-gcc13-opt/include/RootCnvSvc/RootCnvSvc.h.

171{ m_eventCnv = eventCnv; }

◆ setEvtHeaderCnv() [1/3]

void RootCnvSvc::setEvtHeaderCnv ( EvtHeaderCnv * evtheadercnv)
inline

Definition at line 167 of file Event/RootCnvSvc/include/RootCnvSvc/RootCnvSvc.h.

167{ m_evtheaderCnv = evtheadercnv; }

◆ setEvtHeaderCnv() [2/3]

void RootCnvSvc::setEvtHeaderCnv ( EvtHeaderCnv * evtheadercnv)
inline

Definition at line 167 of file InstallArea/x86_64-el9-gcc13-dbg/include/RootCnvSvc/RootCnvSvc.h.

167{ m_evtheaderCnv = evtheadercnv; }

◆ setEvtHeaderCnv() [3/3]

void RootCnvSvc::setEvtHeaderCnv ( EvtHeaderCnv * evtheadercnv)
inline

Definition at line 167 of file InstallArea/x86_64-el9-gcc13-opt/include/RootCnvSvc/RootCnvSvc.h.

167{ m_evtheaderCnv = evtheadercnv; }

◆ setEvtNavigatorCnv() [1/3]

void RootCnvSvc::setEvtNavigatorCnv ( EvtNavigatorCnv * evtnavigatorcnv)
inline

Definition at line 168 of file Event/RootCnvSvc/include/RootCnvSvc/RootCnvSvc.h.

168 {
169 m_evtnavigatorCnv = evtnavigatorcnv;
170 }

◆ setEvtNavigatorCnv() [2/3]

void RootCnvSvc::setEvtNavigatorCnv ( EvtNavigatorCnv * evtnavigatorcnv)
inline

Definition at line 168 of file InstallArea/x86_64-el9-gcc13-dbg/include/RootCnvSvc/RootCnvSvc.h.

168 {
169 m_evtnavigatorCnv = evtnavigatorcnv;
170 }

◆ setEvtNavigatorCnv() [3/3]

void RootCnvSvc::setEvtNavigatorCnv ( EvtNavigatorCnv * evtnavigatorcnv)
inline

Definition at line 168 of file InstallArea/x86_64-el9-gcc13-opt/include/RootCnvSvc/RootCnvSvc.h.

168 {
169 m_evtnavigatorCnv = evtnavigatorcnv;
170 }

◆ setEvtRecCnv() [1/3]

void RootCnvSvc::setEvtRecCnv ( EvtRecCnv * evtreccnv)
inline

Definition at line 165 of file Event/RootCnvSvc/include/RootCnvSvc/RootCnvSvc.h.

165{ m_evtRecCnv = evtreccnv; } // zoujh

◆ setEvtRecCnv() [2/3]

void RootCnvSvc::setEvtRecCnv ( EvtRecCnv * evtreccnv)
inline

Definition at line 165 of file InstallArea/x86_64-el9-gcc13-dbg/include/RootCnvSvc/RootCnvSvc.h.

165{ m_evtRecCnv = evtreccnv; } // zoujh

◆ setEvtRecCnv() [3/3]

void RootCnvSvc::setEvtRecCnv ( EvtRecCnv * evtreccnv)
inline

Definition at line 165 of file InstallArea/x86_64-el9-gcc13-opt/include/RootCnvSvc/RootCnvSvc.h.

165{ m_evtRecCnv = evtreccnv; } // zoujh

◆ setHltCnv() [1/3]

void RootCnvSvc::setHltCnv ( HltCnv * hltcnv)
inline

Definition at line 164 of file Event/RootCnvSvc/include/RootCnvSvc/RootCnvSvc.h.

164{ m_hltCnv = hltcnv; } // fucd

◆ setHltCnv() [2/3]

void RootCnvSvc::setHltCnv ( HltCnv * hltcnv)
inline

Definition at line 164 of file InstallArea/x86_64-el9-gcc13-dbg/include/RootCnvSvc/RootCnvSvc.h.

164{ m_hltCnv = hltcnv; } // fucd

◆ setHltCnv() [3/3]

void RootCnvSvc::setHltCnv ( HltCnv * hltcnv)
inline

Definition at line 164 of file InstallArea/x86_64-el9-gcc13-opt/include/RootCnvSvc/RootCnvSvc.h.

164{ m_hltCnv = hltcnv; } // fucd

◆ setMcCnv() [1/3]

void RootCnvSvc::setMcCnv ( McCnv * mccnv)
inline

Definition at line 162 of file Event/RootCnvSvc/include/RootCnvSvc/RootCnvSvc.h.

162{ m_mcCnv = mccnv; }

◆ setMcCnv() [2/3]

void RootCnvSvc::setMcCnv ( McCnv * mccnv)
inline

Definition at line 162 of file InstallArea/x86_64-el9-gcc13-dbg/include/RootCnvSvc/RootCnvSvc.h.

162{ m_mcCnv = mccnv; }

◆ setMcCnv() [3/3]

void RootCnvSvc::setMcCnv ( McCnv * mccnv)
inline

Definition at line 162 of file InstallArea/x86_64-el9-gcc13-opt/include/RootCnvSvc/RootCnvSvc.h.

162{ m_mcCnv = mccnv; }

◆ setRecTrackCnv() [1/3]

void RootCnvSvc::setRecTrackCnv ( RecTrackCnv * rectrackcnv)
inline

Definition at line 166 of file Event/RootCnvSvc/include/RootCnvSvc/RootCnvSvc.h.

166{ m_rectrackCnv = rectrackcnv; }

◆ setRecTrackCnv() [2/3]

void RootCnvSvc::setRecTrackCnv ( RecTrackCnv * rectrackcnv)
inline

Definition at line 166 of file InstallArea/x86_64-el9-gcc13-dbg/include/RootCnvSvc/RootCnvSvc.h.

166{ m_rectrackCnv = rectrackcnv; }

◆ setRecTrackCnv() [3/3]

void RootCnvSvc::setRecTrackCnv ( RecTrackCnv * rectrackcnv)
inline

Definition at line 166 of file InstallArea/x86_64-el9-gcc13-opt/include/RootCnvSvc/RootCnvSvc.h.

166{ m_rectrackCnv = rectrackcnv; }

◆ setTrigCnv() [1/3]

void RootCnvSvc::setTrigCnv ( TrigCnv * trigcnv)
inline

Definition at line 163 of file Event/RootCnvSvc/include/RootCnvSvc/RootCnvSvc.h.

163{ m_trigCnv = trigcnv; } // caogf

◆ setTrigCnv() [2/3]

void RootCnvSvc::setTrigCnv ( TrigCnv * trigcnv)
inline

Definition at line 163 of file InstallArea/x86_64-el9-gcc13-dbg/include/RootCnvSvc/RootCnvSvc.h.

163{ m_trigCnv = trigcnv; } // caogf

◆ setTrigCnv() [3/3]

void RootCnvSvc::setTrigCnv ( TrigCnv * trigcnv)
inline

Definition at line 163 of file InstallArea/x86_64-el9-gcc13-opt/include/RootCnvSvc/RootCnvSvc.h.

163{ m_trigCnv = trigcnv; } // caogf

◆ updateServiceState() [1/3]

StatusCode RootCnvSvc::updateServiceState ( IOpaqueAddress * pAddress)
virtual

Update state of the service.

Definition at line 316 of file RootCnvSvc.cxx.

316 {
317
318 // not sure about the use of recid or bank...
319 MsgStream log( msgSvc(), name() );
320
321 log << MSG::DEBUG << "RootCnvSvc::updateServiceState" << endmsg;
322
323 StatusCode status = StatusCode::FAILURE;
324 IRegistry* ent = pAddress->registry();
325 if ( 0 != ent )
326 {
327 SmartIF<IDataManagerSvc> iaddrReg( dataProvider() );
328 // if ( 0 != iaddrReg ) {
329 status = StatusCode::SUCCESS;
330 std::string path = ent->identifier();
331 LeafMap::iterator itm = m_leaves.find( path );
332 if ( itm != m_leaves.end() )
333 {
334 Leaf* leaf = ( *itm ).second;
335 if ( 0 != leaf )
336 {
337 for ( Leaf::iterator il = leaf->begin(); il != leaf->end(); il++ )
338 {
339 IOpaqueAddress* newAddr = 0;
340 unsigned long ipars[2] = { 0, 0 }; //
341 if ( m_evtsel ) ipars[0] = m_evtsel->getRecId();
342
343 std::string spars[3] = { ( *il )->path, ( *il )->treename, ( *il )->branchname };
344
345 StatusCode ir =
346 createAddress( ROOT_StorageType, ( *il )->clid, spars, ipars, newAddr );
347 log << MSG::DEBUG << "RootCnvSvc::updateService "
348 << " ***** " << ( *il )->clid << " ***** " << ( *il )->path << endmsg;
349
350 if ( ir.isSuccess() )
351 {
352 ir = iaddrReg->registerAddress( ( *il )->path, newAddr );
353 if ( !ir.isSuccess() )
354 {
355 newAddr->release();
356 status = ir;
357 }
358 }
359 }
360 }
361 }
362 }
363 return StatusCode::SUCCESS;
364}
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

◆ updateServiceState() [2/3]

virtual StatusCode RootCnvSvc::updateServiceState ( IOpaqueAddress * pAddress)
virtual

◆ updateServiceState() [3/3]

virtual StatusCode RootCnvSvc::updateServiceState ( IOpaqueAddress * pAddress)
virtual

◆ SvcFactory< RootCnvSvc >

friend class SvcFactory< RootCnvSvc >
friend

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