|
ATLAS Offline Software
|
a triple selector/context/store defines a stream
More...
#include <PileUpStream.h>
|
std::string | m_nm |
| Message source name. More...
|
|
boost::thread_specific_ptr< MsgStream > | m_msg_tls |
| MsgStream instance (a std::cout like with print-out levels) More...
|
|
std::atomic< IMessageSvc * > | m_imsg { nullptr } |
| MessageSvc pointer. More...
|
|
std::atomic< MSG::Level > | m_lvl { MSG::NIL } |
| Current logging level. More...
|
|
std::atomic_flag m_initialized | ATLAS_THREAD_SAFE = ATOMIC_FLAG_INIT |
| Messaging initialized (initMessaging) More...
|
|
a triple selector/context/store defines a stream
Definition at line 30 of file PileUpStream.h.
◆ EvtIterator
◆ PileUpStream() [1/6]
PileUpStream::PileUpStream |
( |
| ) |
|
◆ PileUpStream() [2/6]
◆ PileUpStream() [3/6]
◆ PileUpStream() [4/6]
PileUpStream::PileUpStream |
( |
const std::string & |
name, |
|
|
IEvtSelector * |
sel, |
|
|
StoreGateSvc * |
store |
|
) |
| |
◆ PileUpStream() [5/6]
PileUpStream::PileUpStream |
( |
const std::string & |
name, |
|
|
ISvcLocator * |
svcLoc, |
|
|
const std::string & |
selecName |
|
) |
| |
Definition at line 88 of file PileUpStream.cxx.
103 const std::string errMsg(
"PileUpStream: can not create stream");
105 throw std::runtime_error(errMsg);
◆ PileUpStream() [6/6]
PileUpStream::PileUpStream |
( |
const std::string & |
name, |
|
|
ISvcLocator * |
svcLoc, |
|
|
IEvtSelector * |
sel |
|
) |
| |
Definition at line 69 of file PileUpStream.cxx.
82 const std::string errMsg(
"PileUpStream:: can not create stream");
84 throw std::runtime_error(errMsg);
◆ ~PileUpStream()
PileUpStream::~PileUpStream |
( |
| ) |
|
|
virtual |
◆ finalize()
StatusCode PileUpStream::finalize |
( |
| ) |
|
finalize and release store. To be called on ... finalize()
Definition at line 255 of file PileUpStream.cxx.
259 #ifdef GAUDIKERNEL_STATEMACHINE_H_
260 if (
m_ownStore && Gaudi::StateMachine::INITIALIZED ==
store().FSMState()) {
261 sc = this->
store().sysFinalize();
266 this->
store().release();
◆ hasRing()
bool PileUpStream::hasRing |
( |
| ) |
const |
|
inline |
◆ initMessaging()
void AthMessaging::initMessaging |
( |
| ) |
const |
|
privateinherited |
Initialize our message level and MessageSvc.
This method should only be called once.
Definition at line 39 of file AthMessaging.cxx.
◆ iterator() [1/2]
◆ iterator() [2/2]
◆ loadStore()
bool PileUpStream::loadStore |
( |
| ) |
|
|
private |
clear store and load new proxies
Definition at line 202 of file PileUpStream.cxx.
206 IOpaqueAddress* paddr(0);
◆ msg() [1/2]
MsgStream & AthMessaging::msg |
( |
| ) |
const |
|
inlineinherited |
The standard message stream.
Returns a reference to the default message stream May not be invoked before sysInitialize() has been invoked.
Definition at line 164 of file AthMessaging.h.
◆ msg() [2/2]
MsgStream & AthMessaging::msg |
( |
const MSG::Level |
lvl | ) |
const |
|
inlineinherited |
The standard message stream.
Returns a reference to the default message stream May not be invoked before sysInitialize() has been invoked.
Definition at line 179 of file AthMessaging.h.
180 {
return msg() << lvl; }
◆ msgLvl()
bool AthMessaging::msgLvl |
( |
const MSG::Level |
lvl | ) |
const |
|
inlineinherited |
Test the output level.
- Parameters
-
lvl | The message level to test against |
- Returns
- boolean Indicating if messages at given level will be printed
- Return values
-
true | Messages at level "lvl" will be printed |
Definition at line 151 of file AthMessaging.h.
◆ name()
const std::string& PileUpStream::name |
( |
| ) |
|
|
inline |
◆ nextEventPre()
return next Event, load store with next Event
Definition at line 216 of file PileUpStream.cxx.
219 else if (readRecord) {
226 ATH_MSG_INFO (
"nextEventPre(): end of the loop. No more events in the selection" );
231 if (readRecord and xAODEventInfo) {
233 << xAODEventInfo->eventNumber()
234 <<
" run " << xAODEventInfo->runNumber()
235 <<
" into store " << this->store().name() );
238 return xAODEventInfo;
◆ nextEventPre_Passive()
bool PileUpStream::nextEventPre_Passive |
( |
bool |
readRecord | ) |
|
like nextEventPre, but doesn't actually load anything
Definition at line 241 of file PileUpStream.cxx.
243 else if (readRecord) {
249 ATH_MSG_INFO (
"nextEventPre_Passive(): end of the loop. No more events in the selection" );
◆ nextRecordPre()
StatusCode PileUpStream::nextRecordPre |
( |
| ) |
|
|
private |
increment event iterator before loading store
Definition at line 187 of file PileUpStream.cxx.
192 StatusCode::SUCCESS :
◆ nextRecordPre_Passive()
StatusCode PileUpStream::nextRecordPre_Passive |
( |
| ) |
|
|
private |
increment event iterator
Definition at line 177 of file PileUpStream.cxx.
181 return (this->
store().clearStore().isSuccess() &&
183 StatusCode::SUCCESS :
◆ operator=() [1/2]
◆ operator=() [2/2]
◆ originalIRing()
unsigned int PileUpStream::originalIRing |
( |
| ) |
const |
|
inline |
index of the ring for which this stream was used originally
Definition at line 86 of file PileUpStream.h.
◆ resetUsed()
void PileUpStream::resetUsed |
( |
| ) |
|
|
inline |
◆ selector() [1/2]
IEvtSelector& PileUpStream::selector |
( |
| ) |
|
|
inline |
◆ selector() [2/2]
const IEvtSelector& PileUpStream::selector |
( |
| ) |
const |
|
inline |
◆ serviceLocator()
ISvcLocator* PileUpStream::serviceLocator |
( |
| ) |
|
|
inlineprivate |
◆ setActiveStore()
void PileUpStream::setActiveStore |
( |
| ) |
|
|
private |
◆ setLevel()
void AthMessaging::setLevel |
( |
MSG::Level |
lvl | ) |
|
|
inherited |
◆ setOriginalIRing()
void PileUpStream::setOriginalIRing |
( |
unsigned int |
iR | ) |
|
|
inline |
◆ setupStore() [1/2]
bool PileUpStream::setupStore |
( |
| ) |
|
setup input and overlay selectors and iters
Definition at line 113 of file PileUpStream.cxx.
118 std::string storeName(
name() +
"_SG");
129 SmartIF<StoreGateSvc> pIS(
serviceLocator()->service(
"StoreGateSvc"));
130 rc = (pIS.isValid() &&
136 rc = (
m_SG->sysInitialize()).isSuccess();
143 SmartIF<IAddressProvider> pIAP(
m_sel);
144 if (pIAP.isValid()) {
145 const std::string PPSName(
name() +
"_PPS");
146 SmartIF<IProxyProviderSvc> pPPSvc(
serviceLocator()->service(PPSName));
148 if ( pISM.isValid() &&
149 pISM->declareSvcType(PPSName,
"ProxyProviderSvc").isSuccess() &&
152 pPPSvc->addProvider(pIAP);
153 SmartIF<IAddressProvider> pAthPoolAddProv(
serviceLocator()->service(
"AthenaPoolAddressProviderSvc"));
154 if (pAthPoolAddProv.isValid()) {
155 pPPSvc->addProvider(pAthPoolAddProv);
157 ATH_MSG_WARNING (
"could not add AthenaPoolAddressProviderSvc as AddresssProvider for "<< PPSName );
159 SmartIF<IAddressProvider> pAddrRemap(
serviceLocator()->service(
"AddressRemappingSvc"));
160 if (pAddrRemap.isValid()) {
161 pPPSvc->addProvider(pAddrRemap);
163 ATH_MSG_WARNING (
"could not add AddressRemappingSvc as AddresssProvider for "<< PPSName );
165 m_SG->setProxyProviderSvc(pPPSvc);
◆ setupStore() [2/2]
bool PileUpStream::setupStore |
( |
bool |
| ) |
|
|
inline |
◆ setUsed()
void PileUpStream::setUsed |
( |
| ) |
|
|
inline |
◆ store() [1/2]
◆ store() [2/2]
◆ used()
bool PileUpStream::used |
( |
| ) |
const |
|
inline |
has this stream already be used in this event?
Definition at line 81 of file PileUpStream.h.
◆ ATLAS_THREAD_SAFE
std::atomic_flag m_initialized AthMessaging::ATLAS_THREAD_SAFE = ATOMIC_FLAG_INIT |
|
mutableprivateinherited |
◆ m_hasRing
bool PileUpStream::m_hasRing |
|
private |
has this stream already been used? (for the current event)
Definition at line 133 of file PileUpStream.h.
◆ m_imsg
std::atomic<IMessageSvc*> AthMessaging::m_imsg { nullptr } |
|
mutableprivateinherited |
◆ m_iOriginalRing
unsigned int PileUpStream::m_iOriginalRing |
|
private |
◆ m_lvl
std::atomic<MSG::Level> AthMessaging::m_lvl { MSG::NIL } |
|
mutableprivateinherited |
◆ m_mergeSvc
◆ m_msg_tls
boost::thread_specific_ptr<MsgStream> AthMessaging::m_msg_tls |
|
mutableprivateinherited |
MsgStream instance (a std::cout like with print-out levels)
Definition at line 132 of file AthMessaging.h.
◆ m_name
std::string PileUpStream::m_name |
|
private |
◆ m_neverLoaded
bool PileUpStream::m_neverLoaded |
|
private |
do we own p_iter?
Private message stream member
Definition at line 129 of file PileUpStream.h.
◆ m_nm
std::string AthMessaging::m_nm |
|
privateinherited |
◆ m_ownEvtIterator
bool PileUpStream::m_ownEvtIterator |
|
private |
◆ m_ownStore
bool PileUpStream::m_ownStore |
|
private |
has an event been loaded into this stream?
Definition at line 130 of file PileUpStream.h.
◆ m_sel
SmartIF<IEvtSelector> PileUpStream::m_sel |
|
private |
◆ m_SG
◆ m_used
bool PileUpStream::m_used |
|
private |
is m_SG a store we cloned from the master one?
Definition at line 132 of file PileUpStream.h.
◆ p_iter
◆ p_svcLoc
ISvcLocator* PileUpStream::p_svcLoc |
|
private |
The documentation for this class was generated from the following files:
std::atomic< MSG::Level > m_lvl
Current logging level.
void setActiveStore()
set ActiveStore
void makeCurrent()
The current store is becoming the active store.
StatusCode nextRecordPre()
increment event iterator before loading store
std::string m_name
Stream name.
std::atomic< IMessageSvc * > m_imsg
MessageSvc pointer.
bool m_hasRing
has this stream already been used? (for the current event)
IMessageSvc * getMessageSvc(bool quiet=false)
the preferred mechanism to access information from the different event stores in a pileup job.
IEvtSelector & selector()
AthMessaging()
Default constructor:
The Athena Transient Store API.
ISvcLocator * p_svcLoc
ServiceLocator.
bool m_used
is m_SG a store we cloned from the master one?
bool m_ownStore
has an event been loaded into this stream?
bool setupStore()
setup input and overlay selectors and iters
::StatusCode StatusCode
StatusCode definition for legacy code.
StatusCode loadEventProxies()
load proxies at begin event
unsigned int m_iOriginalRing
const std::string & name()
StatusCode nextRecordPre_Passive()
increment event iterator
bool loadStore()
clear store and load new proxies
bool m_neverLoaded
do we own p_iter?
MsgStream & msg() const
The standard message stream.
ISvcLocator * serviceLocator()
StatusCode recordAddress(const std::string &skey, IOpaqueAddress *pAddress, bool clearAddressFlag=true)
Create a proxy object using an IOpaqueAddress and a transient key.
Class describing the basic event information.
StatusCode clone(const IService *parent, const std::string &childName, Service *&child)
given a reference to a parent svc sets a reference to a cloned child
#define ATH_MSG_WARNING(x)
std::string m_nm
Message source name.
SmartIF< PileUpMergeSvc > m_mergeSvc
SmartIF< IEvtSelector > m_sel
Selector.
void initMessaging() const
Initialize our message level and MessageSvc.
EvtIterator * p_iter
Input Iterators.
boost::thread_specific_ptr< MsgStream > m_msg_tls
MsgStream instance (a std::cout like with print-out levels)
SmartIF< StoreGateSvc > m_SG
StoreGateSvc;.