11 #include "GaudiKernel/Service.h"
12 #include "GaudiKernel/ISvcLocator.h"
13 #include "GaudiKernel/ISvcManager.h"
29 m_name(
"INVALID"), p_svcLoc(0), p_sel(0), p_SG(0), p_iter(0),
30 p_mergeSvc(nullptr), m_ownEvtIterator(false),
31 m_neverLoaded(true), m_ownStore(false),
32 m_used(false), m_hasRing(false), m_iOriginalRing(0)
38 m_name(rhs.m_name), p_svcLoc(rhs.p_svcLoc), p_sel(rhs.p_sel),
39 p_SG(rhs.p_SG), p_iter(rhs.p_iter), p_mergeSvc(rhs.p_mergeSvc), m_ownEvtIterator(rhs.m_ownEvtIterator),
40 m_neverLoaded(rhs.m_neverLoaded), m_ownStore(rhs.m_ownStore),
41 m_used(rhs.m_used), m_hasRing(rhs.m_hasRing), m_iOriginalRing(rhs.m_iOriginalRing)
44 rhs.m_ownEvtIterator=
false;
58 rhs.m_ownEvtIterator=
false;
73 m_name(
name), p_svcLoc(svcLoc), p_sel(
sel), p_SG(0), p_iter(0),
74 m_ownEvtIterator(false),
75 m_neverLoaded(true), m_ownStore(false),
76 m_used(false), m_hasRing(false), m_iOriginalRing(0)
83 const std::string errMsg(
"PileUpStream:: can not create stream");
85 throw std::runtime_error(errMsg);
91 const std::string& selecName):
93 m_name(
name), p_svcLoc(svcLoc), p_sel(0), p_SG(0), p_iter(0),
94 m_ownEvtIterator(false),
95 m_neverLoaded(true), m_ownStore(false),
96 m_used(false), m_hasRing(false), m_iOriginalRing(0)
103 const std::string errMsg(
"PileUpStream: can not create stream");
105 throw std::runtime_error(errMsg);
118 std::string storeName(
name() +
"_SG");
121 const bool DONOTCREATE(
false);
131 rc = ((
serviceLocator()->getService(
"StoreGateSvc", pIS)).isSuccess() &&
137 rc = (
p_SG->sysInitialize()).isSuccess();
147 std::string PPSName(
name() +
"_PPS");
150 (pISM->declareSvcType(PPSName,
"ProxyProviderSvc")).isSuccess() &&
154 true)).isSuccess()) {
156 IService* pSAthPoolAddProv(0);
158 if (
serviceLocator()->service(
"AthenaPoolAddressProviderSvc", pSAthPoolAddProv).isSuccess() &&
159 0 != (pAthPoolAddProv =
dynamic_cast<IAddressProvider*
>(pSAthPoolAddProv))) {
162 ATH_MSG_WARNING (
"could not add AthenaPoolAddressProviderSvc as AddresssProvider for "<< PPSName );
164 IService* pSAddrRemap(0);
166 if (
serviceLocator()->service(
"AddressRemappingSvc", pSAddrRemap).isSuccess() &&
170 ATH_MSG_WARNING (
"could not add AddressRemappingSvc as AddresssProvider for "<< PPSName );
188 return (this->
store().clearStore().isSuccess() &&
190 StatusCode::SUCCESS :
199 StatusCode::SUCCESS :
213 IOpaqueAddress* paddr(0);
226 else if (readRecord) {
233 ATH_MSG_INFO (
"nextEventPre(): end of the loop. No more events in the selection" );
238 if (readRecord and xAODEventInfo) {
240 << xAODEventInfo->eventNumber()
241 <<
" run " << xAODEventInfo->runNumber()
242 <<
" into store " << this->store().name() );
245 return xAODEventInfo;
250 else if (readRecord) {
256 ATH_MSG_INFO (
"nextEventPre_Passive(): end of the loop. No more events in the selection" );
266 #ifdef GAUDIKERNEL_STATEMACHINE_H_
267 if (
m_ownStore && Gaudi::StateMachine::INITIALIZED ==
store().FSMState()) {
268 sc = this->
store().sysFinalize();
273 this->
store().release();