#include <MixRootEvtSelector.h>
Inheritance diagram for MixRootEvtSelector:
Definition at line 22 of file MixRootEvtSelector.h.
MixRootEvtSelector::MixRootEvtSelector | ( | const std::string & | name, | |
ISvcLocator * | svcloc | |||
) |
Definition at line 13 of file MixRootEvtSelector.cc.
00014 :Service(name,svcloc) 00015 ,RootIOEvtSelector(name,svcloc) 00016 ,m_reqSeqName(""), m_controlStream(0) 00017 { 00018 m_reqSeqName = DayaBay::RegistrationSequenceLocation::Default; 00019 declareProperty("ReqSeq",m_reqSeqName, 00020 "TES/TFile path where to find the RegistrationSequence"); 00021 }
MixRootEvtSelector::~MixRootEvtSelector | ( | ) | [virtual] |
StatusCode MixRootEvtSelector::initialize | ( | ) | [virtual] |
Reimplemented from RootIOEvtSelector.
Definition at line 29 of file MixRootEvtSelector.cc.
00030 { 00031 MsgStream log(msgSvc(), "MixRootEvtSelector"); 00032 log << MSG::INFO << "initializing @" << (void*)this << endreq; 00033 log << MSG::DEBUG << "called " << this->name() << endreq; 00034 StatusCode sc = this->Service::initialize(); 00035 if(sc.isFailure()) return sc; 00036 00037 IService* isvc=0; 00038 sc = serviceLocator()->service("MixRootIOCnvSvc", "RootIOCnvSvc", isvc, false); 00039 if(sc.isFailure()) 00040 { 00041 log << MSG::ERROR << "Conversion service MixRootIOCnvSvc" 00042 << " could not be retrieved" << endreq; 00043 return sc; 00044 } 00045 isvc->addRef(); 00046 00047 sc = isvc->queryInterface(IRootIOSvc::interfaceID(), (void**)&m_rioSvc); 00048 if(sc.isFailure()) 00049 { 00050 log << MSG::ERROR << "Conversion service RootIOCnvSvc" 00051 << " does not implement IRootIOCnvSvc" << endreq; 00052 return sc; 00053 } 00054 00055 log << MSG::INFO << "initialized @" << (void*)this 00056 << " got RootIOCnvSvc @" << (void*)m_rioSvc 00057 << endreq; 00058 00059 sc = isvc->queryInterface(IMixingSvc::interfaceID(), (void**)&m_mixSvc); 00060 if(sc.isFailure()) 00061 { 00062 log << MSG::ERROR << "Conversion service RootIOCnvSvc" 00063 << " does not implement IMixingSvc" << endreq; 00064 return sc; 00065 } 00066 00067 log << MSG::INFO << "initialized @" << (void*)this 00068 << " got RootIOCnvSvc @" << (void*)m_mixSvc 00069 << endreq; 00070 00071 return StatusCode::SUCCESS; 00072 }
StatusCode MixRootEvtSelector::setEntry | ( | RootIOEvtSelector::Context & | rc, | |
int | entry | |||
) | const [virtual] |
Reimplemented from RootIOEvtSelector.
StatusCode MixRootEvtSelector::createAddress | ( | const IEvtSelector::Context & | c, | |
IOpaqueAddress *& | iop | |||
) | const [virtual] |
Reimplemented from RootIOEvtSelector.
Definition at line 100 of file MixRootEvtSelector.cc.
00101 { 00102 MsgStream log(msgSvc(), "MixRootEvtSelector"); 00103 log << MSG::DEBUG << "createAddress" << endreq; 00104 const MixRootEvtSelector::Context* rc = dynamic_cast<const MixRootEvtSelector::Context*>(&c); 00105 if(!rc) 00106 { 00107 log << MSG::ERROR << "Failed to get MixRootIOEvtSelector::Context" << endreq; 00108 return StatusCode::FAILURE; 00109 } 00110 00111 RootInputAddress* ria = new RootInputAddress(DataObject::classID(),"/Event"); 00112 MixHeader mh = m_mixSvc->fetchMixHeader(); 00113 ria->setEntry(mh.entry); 00114 iop = ria; 00115 log << MSG::DEBUG << "createAddress for /Event" << endreq; 00116 return StatusCode::SUCCESS; 00117 }
std::string MixRootEvtSelector::m_reqSeqName [private] |
Definition at line 33 of file MixRootEvtSelector.h.
RootInputStream* MixRootEvtSelector::m_controlStream [mutable, private] |
Definition at line 34 of file MixRootEvtSelector.h.
IMixingSvc* MixRootEvtSelector::m_mixSvc [private] |
Definition at line 35 of file MixRootEvtSelector.h.