![]() |
ATLAS Offline Software
|
ClassName: AthSequencer. More...
#include <AthSequencer.h>
Public Member Functions | |
| AthSequencer (const std::string &name, ISvcLocator *svcloc) | |
| Constructor(s) | |
| virtual | ~AthSequencer () |
| Destructor. | |
| virtual StatusCode | initialize () override |
| Initialization of a sequencer. | |
| virtual StatusCode | reinitialize () override |
| AthSequencer Reinitialization. | |
| virtual StatusCode | execute (const EventContext &ctx) const override |
| The actions to be performed by the sequencer on an event. | |
| virtual StatusCode | start () override |
| Start (from INITIALIZED to RUNNING). | |
| virtual StatusCode | stop () override |
| Stop (from RUNNING to INITIALIZED). | |
| virtual void | resetExecuted (const EventContext &ctx) const |
| Reset the AthSequencer executed state for the current event. | |
| virtual bool | isStopOverride () const |
| Has the StopOverride mode been set? | |
| StatusCode | append (Gaudi::Algorithm *pAlgorithm) |
| Append an algorithm to the sequencer. | |
| StatusCode | createAndAppend (const std::string &type, const std::string &name, Gaudi::Algorithm *&pAlgorithm) |
| Create a algorithm and append it to the sequencer. | |
| StatusCode | remove (Gaudi::Algorithm *pAlgorithm) |
| Remove the specified algorithm from the sequencer. | |
| StatusCode | remove (const std::string &name) |
| StatusCode | decodeMemberNames () |
| Decode Member Name list. | |
| void | membershipHandler (Gaudi::Details::PropertyBase &theProp) |
| "Members" property handler | |
| StatusCode | decodeBranchMemberNames () |
| Decode branch member naem list. | |
| void | branchMembershipHandler (Gaudi::Details::PropertyBase &theProp) |
| "BranchMembers" propertry handler | |
| ServiceHandle< StoreGateSvc > & | evtStore () |
The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc. | |
| const ServiceHandle< StoreGateSvc > & | detStore () const |
The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc. | |
| virtual StatusCode | sysInitialize () override |
| Perform system initialization for an algorithm. | |
| virtual StatusCode | sysStart () override |
| Handle START transition. | |
| virtual std::vector< Gaudi::DataHandle * > | inputHandles () const override |
| Return this algorithm's input handles. | |
| virtual std::vector< Gaudi::DataHandle * > | outputHandles () const override |
| Return this algorithm's output handles. | |
| Gaudi::Details::PropertyBase & | declareProperty (Gaudi::Property< T, V, H > &t) |
| void | updateVHKA (Gaudi::Details::PropertyBase &) |
| MsgStream & | msg () const |
| bool | msgLvl (const MSG::Level lvl) const |
Protected Member Functions | |
| StatusCode | append (Gaudi::Algorithm *pAlgorithm, std::vector< Gaudi::Algorithm * > *theAlgs) |
| Append an algorithm to the sequencer. | |
| StatusCode | createAndAppend (const std::string &type, const std::string &name, Gaudi::Algorithm *&pAlgorithm, std::vector< Gaudi::Algorithm * > *theAlgs) |
| Create a algorithm and append it to the sequencer. | |
| StatusCode | decodeNames (Gaudi::Property< std::vector< std::string > > &theNames, std::vector< Gaudi::Algorithm * > *theAlgs) |
| Decode algorithm names, creating or appending algorithms as appropriate. | |
| StatusCode | remove (const std::string &algname, std::vector< Gaudi::Algorithm * > *theAlgs) |
| Remove the specified algorithm from the sequencer. | |
| void | renounceArray (SG::VarHandleKeyArray &handlesArray) |
| remove all handles from I/O resolution | |
| std::enable_if_t< std::is_void_v< std::result_of_t< decltype(&T::renounce)(T)> > &&!std::is_base_of_v< SG::VarHandleKeyArray, T > &&std::is_base_of_v< Gaudi::DataHandle, T >, void > | renounce (T &h) |
| void | extraDeps_update_handler (Gaudi::Details::PropertyBase &ExtraDeps) |
| Add StoreName to extra input/output deps as needed. | |
Private Types | |
| typedef ServiceHandle< StoreGateSvc > | StoreGateSvc_t |
Private Member Functions | |
| StatusCode | executeAlgorithm (Gaudi::Algorithm *theAlgorithm, const EventContext &ctx) const |
| Run one algorithm. | |
| Gaudi::Details::PropertyBase & | declareGaudiProperty (Gaudi::Property< T, V, H > &hndl, const SG::VarHandleKeyType &) |
| specialization for handling Gaudi::Property<SG::VarHandleKey> | |
Private Attributes | |
| Gaudi::Property< std::vector< std::string > > | m_names |
| Gaudi::Property< bool > | m_modeOR |
| Gaudi::Property< bool > | m_ignoreFilter |
| Gaudi::Property< bool > | m_invert |
| Gaudi::Property< bool > | m_stopOverride |
| Gaudi::Property< bool > | m_sequential |
| Gaudi::Property< std::vector< std::string > > | m_undeclaredOutputData |
| Gaudi::Property< bool > | m_runPostInitialize |
| ServiceHandle< IClassIDSvc > | m_clidSvc |
| const unsigned int | m_maxPass {100} |
| StoreGateSvc_t | m_evtStore |
| Pointer to StoreGate (event store by default) | |
| StoreGateSvc_t | m_detStore |
| Pointer to StoreGate (detector store by default) | |
| std::vector< SG::VarHandleKeyArray * > | m_vhka |
| bool | m_varHandleArraysDeclared |
Description: An AthSequencer is essentially a list of Algorithms and is responsible for their management. Note that Sequences may themselves contain other Sequences. The default execute( ) implementation loops over the members of the sequence, calling their execute( ) methods. However, this can be modified if a member is disabled, has already been executed, or a member indicates that it's filter fails. The the former two cases the execution of the member is bypassed. In the latter case, the loop is terminated and the AthSequencer assumes the same filtered state as the last member.
Definition at line 38 of file AthSequencer.h.
|
privateinherited |
Definition at line 388 of file AthCommonDataStore.h.
| AthSequencer::AthSequencer | ( | const std::string & | name, |
| ISvcLocator * | svcloc ) |
Constructor(s)
Definition at line 27 of file AthSequencer.cxx.
|
virtual |
| StatusCode AthSequencer::append | ( | Gaudi::Algorithm * | pAlgorithm | ) |
Append an algorithm to the sequencer.
Definition at line 224 of file AthSequencer.cxx.
|
protected |
Append an algorithm to the sequencer.
Protected Member Functions.
Definition at line 267 of file AthSequencer.cxx.
| void AthSequencer::branchMembershipHandler | ( | Gaudi::Details::PropertyBase & | theProp | ) |
"BranchMembers" propertry handler
| StatusCode AthSequencer::createAndAppend | ( | const std::string & | type, |
| const std::string & | name, | ||
| Gaudi::Algorithm *& | pAlgorithm ) |
Create a algorithm and append it to the sequencer.
A call to this method creates a child algorithm object. Note that the returned pointer is to Algorithm (as opposed to IAlgorithm), and thus the methods of IProperty are also available for the direct setting of the algorithm's properties. Using this mechanism instead of creating algorithms directly via the new operator is preferred since then the framework may take care of all of the necessary book-keeping.
Definition at line 230 of file AthSequencer.cxx.
|
protected |
Create a algorithm and append it to the sequencer.
A call to this method creates a child algorithm object. Note that the returned pointer is to Algorithm (as opposed to IAlgorithm), and thus the methods of IProperty are also available for the direct setting of the algorithm's properties. Using this mechanism instead of creating algorithms directly via the new operator is preferred since then the framework may take care of all of the necessary book-keeping.
Definition at line 287 of file AthSequencer.cxx.
|
inlineprivateinherited |
specialization for handling Gaudi::Property<SG::VarHandleKey>
Definition at line 156 of file AthCommonDataStore.h.
|
inlineinherited |
Definition at line 145 of file AthCommonDataStore.h.
| StatusCode AthSequencer::decodeBranchMemberNames | ( | ) |
Decode branch member naem list.
| StatusCode AthSequencer::decodeMemberNames | ( | ) |
Definition at line 250 of file AthSequencer.cxx.
|
protected |
Decode algorithm names, creating or appending algorithms as appropriate.
Definition at line 303 of file AthSequencer.cxx.
|
inlineinherited |
The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.
Definition at line 95 of file AthCommonDataStore.h.
|
inlineinherited |
The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.
Definition at line 85 of file AthCommonDataStore.h.
|
overridevirtual |
The actions to be performed by the sequencer on an event.
This method is invoked once per event.
Definition at line 98 of file AthSequencer.cxx.
|
private |
Run one algorithm.
Definition at line 166 of file AthSequencer.cxx.
|
protectedinherited |
Add StoreName to extra input/output deps as needed.
use the logic of the VarHandleKey to parse the DataObjID keys supplied via the ExtraInputs and ExtraOuputs Properties to add the StoreName if it's not explicitly given
|
overridevirtual |
Initialization of a sequencer.
Typically things like histogram creation, setting up of data structures etc, should be done here. If a sequence has properties specified in the job options file, they will be set to the requested values BEFORE the initialize() method is invoked.
Definition at line 42 of file AthSequencer.cxx.
|
overridevirtualinherited |
Return this algorithm's input handles.
We override this to include handle instances from key arrays if they have not yet been declared. See comments on updateVHKA.
|
virtual |
Has the StopOverride mode been set?
Definition at line 218 of file AthSequencer.cxx.
| void AthSequencer::membershipHandler | ( | Gaudi::Details::PropertyBase & | theProp | ) |
"Members" property handler
Definition at line 257 of file AthSequencer.cxx.
|
inlineinherited |
Definition at line 24 of file AthCommonMsg.h.
|
inlineinherited |
Definition at line 30 of file AthCommonMsg.h.
|
overridevirtualinherited |
Return this algorithm's output handles.
We override this to include handle instances from key arrays if they have not yet been declared. See comments on updateVHKA.
|
overridevirtual |
AthSequencer Reinitialization.
Definition at line 75 of file AthSequencer.cxx.
|
protected |
Remove the specified algorithm from the sequencer.
Definition at line 375 of file AthSequencer.cxx.
| StatusCode AthSequencer::remove | ( | const std::string & | name | ) |
Definition at line 244 of file AthSequencer.cxx.
| StatusCode AthSequencer::remove | ( | Gaudi::Algorithm * | pAlgorithm | ) |
Remove the specified algorithm from the sequencer.
Definition at line 238 of file AthSequencer.cxx.
|
inlineprotectedinherited |
Definition at line 380 of file AthCommonDataStore.h.
|
inlineprotectedinherited |
remove all handles from I/O resolution
Definition at line 364 of file AthCommonDataStore.h.
|
virtual |
Reset the AthSequencer executed state for the current event.
Definition at line 206 of file AthSequencer.cxx.
|
overridevirtual |
Start (from INITIALIZED to RUNNING).
IStateful::start
Definition at line 174 of file AthSequencer.cxx.
|
overridevirtual |
Stop (from RUNNING to INITIALIZED).
Definition at line 190 of file AthSequencer.cxx.
|
overridevirtualinherited |
Perform system initialization for an algorithm.
We override this to declare all the elements of handle key arrays at the end of initialization. See comments on updateVHKA.
|
overridevirtualinherited |
Handle START transition.
We override this in order to make sure that conditions handle keys can cache a pointer to the conditions container.
|
inlineinherited |
Definition at line 308 of file AthCommonDataStore.h.
|
private |
Definition at line 203 of file AthSequencer.h.
|
privateinherited |
Pointer to StoreGate (detector store by default)
Definition at line 393 of file AthCommonDataStore.h.
|
privateinherited |
Pointer to StoreGate (event store by default)
Definition at line 390 of file AthCommonDataStore.h.
|
private |
Definition at line 184 of file AthSequencer.h.
|
private |
Definition at line 187 of file AthSequencer.h.
|
private |
Definition at line 205 of file AthSequencer.h.
|
private |
Definition at line 181 of file AthSequencer.h.
|
private |
Definition at line 178 of file AthSequencer.h.
|
private |
Definition at line 199 of file AthSequencer.h.
|
private |
Definition at line 193 of file AthSequencer.h.
|
private |
Definition at line 190 of file AthSequencer.h.
|
private |
Definition at line 196 of file AthSequencer.h.
|
privateinherited |
Definition at line 399 of file AthCommonDataStore.h.
|
privateinherited |
Definition at line 398 of file AthCommonDataStore.h.