#include <Sequencer.h>
Inheritance diagram for Sequencer:

Public Methods | |
| Sequencer ( const std::string& name, ISvcLocator* svcloc ) | |
| Constructor(s). More... | |
| virtual | ~Sequencer ( ) |
| Destructor. More... | |
| virtual StatusCode | initialize ( ) |
| Initialization of a sequencer. More... | |
| virtual StatusCode | execute ( ) |
| The actions to be performed by the sequencer on an event. More... | |
| virtual StatusCode | finalize ( ) |
| Sequencer finalization. More... | |
| StatusCode | resetExecuted ( ) |
| Reset the Sequencer executed state for the current event. More... | |
| virtual bool | branchFilterPassed ( ) const |
| Was the branch filter passed for the last event? More... | |
| virtual StatusCode | setBranchFilterPassed ( bool state ) |
| Set the branch filter passed flag for the last event. More... | |
| virtual bool | isStopOverride ( ) const |
| Has the StopOverride mode been set? More... | |
| StatusCode | append ( Algorithm* pAlgorithm ) |
| Append an algorithm to the sequencer. More... | |
| StatusCode | appendToBranch ( Algorithm* pAlgorithm ) |
| Append an algorithm to the sequencer branch. More... | |
| StatusCode | createAndAppend ( const std::string& type, const std::string& name, Algorithm*& pAlgorithm ) |
| Create a algorithm and append it to the sequencer. More... | |
| StatusCode | createAndAppendToBranch ( const std::string& type, const std::string& name, Algorithm*& pAlgorithm ) |
| Create a algorithm and append it to the sequencer branch. More... | |
| StatusCode | remove ( Algorithm* pAlgorithm ) |
| Remove the specified algorithm from the sequencer. More... | |
| StatusCode | remove ( const std::string& name ) |
| StatusCode | removeFromBranch ( Algorithm* pAlgorithm ) |
| StatusCode | removeFromBranch ( const std::string& name ) |
| std::vector<Algorithm*>* | branchAlgorithms ( ) const |
| List of branch algorithms. More... | |
| StatusCode | decodeMemberNames ( ) |
| Decode Member Name list. More... | |
| void | membershipHandler ( Property& theProp ) |
| "Members" property handler. More... | |
| StatusCode | decodeBranchMemberNames ( ) |
| Decode branch member naem list. More... | |
| void | branchMembershipHandler ( Property& theProp ) |
| "BranchMembers" propertry handler. More... | |
Protected Methods | |
| StatusCode | append ( Algorithm* pAlgorithm, std::vector<Algorithm*>* theAlgs ) |
| Append an algorithm to the sequencer. More... | |
| StatusCode | createAndAppend ( const std::string& type, const std::string& name, Algorithm*& pAlgorithm, std::vector<Algorithm*>* theAlgs ) |
| Create a algorithm and append it to the sequencer. More... | |
| StatusCode | decodeNames ( StringArrayProperty& theNames, std::vector<Algorithm*>* theAlgs, std::vector<bool>& theLogic ) |
| Decode algorithm names, creating or appending algorithms as appropriate. More... | |
| StatusCode | execute ( std::vector<Algorithm*>* theAlgs, std::vector<bool>& theLogic, Algorithm*& lastAlgorithm, unsigned int first = 0 ) |
| Execute the members in the specified list. More... | |
| StatusCode | executeMember ( Algorithm* theAlgorithm ) |
| Execute member algorithm. More... | |
| StatusCode | remove ( const std::string& algname, std::vector<Algorithm*>* theAlgs ) |
| Remove the specified algorithm from the sequencer. More... | |
Private Methods | |
| Sequencer ( const Sequencer& a ) | |
| Private Copy constructor: NO COPY ALLOWED. | |
| Sequencer& | operator= ( const Sequencer& rhs ) |
| Private asignment operator: NO ASSIGNMENT ALLOWED. | |
Private Attributes | |
| StringArrayProperty | m_names |
| std::vector<bool> | m_isInverted |
| StringArrayProperty | m_branchNames |
| std::vector<Algorithm*>* | m_branchAlgs |
| std::vector<bool> | m_isBranchInverted |
| BooleanProperty | m_stopOverride |
| bool | m_branchFilterPassed |
Description: A Sequencer 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 Sequencer assumes the same filtered state as the last member.
Definition at line 24 of file Sequencer.h.
|
|
Constructor(s).
Definition at line 25 of file Sequencer.cpp. |
|
|
Destructor.
Definition at line 47 of file Sequencer.cpp. |
|
|
Private Copy constructor: NO COPY ALLOWED.
|
|
|
Append an algorithm to the sequencer.
Definition at line 300 of file Sequencer.cpp. |
|
|
Append an algorithm to the sequencer.
Definition at line 186 of file Sequencer.cpp. Referenced by appendToBranch(), and decodeNames(). |
|
|
Append an algorithm to the sequencer branch.
Definition at line 193 of file Sequencer.cpp. |
|
|
List of branch algorithms. These are the algorithms that would get executed if a filter algorithm indicated a failure. The branch is located within the main sequence by the first element, which is the filter algorithm. Definition at line 248 of file Sequencer.cpp. Referenced by appendToBranch(), createAndAppendToBranch(), decodeBranchMemberNames(), execute(), finalize(), removeFromBranch(), and resetExecuted(). |
|
|
Was the branch filter passed for the last event?
Definition at line 167 of file Sequencer.cpp. |
|
|
"BranchMembers" propertry handler.
Definition at line 290 of file Sequencer.cpp. |
|
|
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 322 of file Sequencer.cpp. |
|
|
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 200 of file Sequencer.cpp. Referenced by createAndAppendToBranch(), and decodeNames(). |
|
|
Create a algorithm and append it to the sequencer branch. 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 209 of file Sequencer.cpp. |
|
|
Decode branch member naem list.
Definition at line 273 of file Sequencer.cpp. Referenced by branchMembershipHandler(), and initialize(). |
|
|
Decode Member Name list.
Definition at line 253 of file Sequencer.cpp. Referenced by initialize(), and membershipHandler(). |
|
|
Decode algorithm names, creating or appending algorithms as appropriate.
Definition at line 349 of file Sequencer.cpp. Referenced by decodeBranchMemberNames(), and decodeMemberNames(). |
|
|
Execute the members in the specified list.
Definition at line 450 of file Sequencer.cpp. |
|
|
The actions to be performed by the sequencer on an event. This method is invoked once per event. Definition at line 73 of file Sequencer.cpp. |
|
|
Execute member algorithm.
Definition at line 490 of file Sequencer.cpp. Referenced by execute(). |
|
|
Sequencer finalization.
Definition at line 122 of file Sequencer.cpp. |
|
|
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 53 of file Sequencer.cpp. |
|
|
Has the StopOverride mode been set?
Definition at line 180 of file Sequencer.cpp. Referenced by execute(). |
|
|
"Members" property handler.
Definition at line 267 of file Sequencer.cpp. |
|
|
Private asignment operator: NO ASSIGNMENT ALLOWED.
|
|
|
Remove the specified algorithm from the sequencer.
Definition at line 506 of file Sequencer.cpp. |
|
|
Definition at line 226 of file Sequencer.cpp. |
|
|
Remove the specified algorithm from the sequencer.
Definition at line 218 of file Sequencer.cpp. Referenced by remove(), and removeFromBranch(). |
|
|
Definition at line 241 of file Sequencer.cpp. |
|
|
Definition at line 233 of file Sequencer.cpp. |
|
|
Reset the Sequencer executed state for the current event.
Definition at line 138 of file Sequencer.cpp. |
|
|
Set the branch filter passed flag for the last event.
Definition at line 173 of file Sequencer.cpp. Referenced by execute(). |
|
|
Definition at line 222 of file Sequencer.h. |
|
|
Definition at line 225 of file Sequencer.h. |
|
|
Definition at line 221 of file Sequencer.h. |
|
|
Definition at line 223 of file Sequencer.h. |
|
|
Definition at line 220 of file Sequencer.h. |
|
|
Definition at line 219 of file Sequencer.h. |
|
|
Definition at line 224 of file Sequencer.h. |
1.2.3 written by Dimitri van Heesch,
© 1997-2000