30 using Gaudi::Sequence::Sequence;
79 const std::string&
name,
93 const std::string&
name,
136 const std::string&
name,
138 std::vector<Gaudi::Algorithm*>& theAlgs );
144 std::vector<Gaudi::Algorithm*>& theAlgs, std::vector<bool>& theLogic );
151 std::size_t first = 0 )
const;
162 StatusCode remove(
const std::string& algname, std::vector<Gaudi::Algorithm*>& theAlgs );
178 this->decodeMemberNames().
ignore();
181 "vector<Algorithm>" };
187 this->decodeBranchMemberNames().
ignore();
189 "branch member names",
190 "vector<Algorithm>" };
199 this,
"VetoObjects", {},
"skip execute if one or more of these TES objects exist" };
201 this,
"RequireObjects", {},
"execute only if one or more of these TES objects exist" };
This class represents an entry point to all the event specific data.
Base class from which all concrete algorithm classes should be derived.
const std::string & name() const override
The identifying name of the algorithm object.
const std::string & type() const override
The type of the algorithm object.
bool isInitialized() const override
Has the Algorithm already been initialized?
Implementation of property with value of concrete type.
Gaudi::Property< bool > m_modeOR
std::ostream & toControlFlowExpression(std::ostream &os) const override
Produce string representation of the control flow expression.
Gaudi::Property< bool > m_sequential
void setBranchFilterPassed(const EventContext &ctx, bool state) const
Set the branch filter passed flag for the last event.
Gaudi::Property< std::vector< std::string > > m_branchNames
StatusCode execute(const EventContext &ctx) const override
The actions to be performed by the sequencer on an event.
StatusCode remove(Gaudi::Algorithm *pAlgorithm)
Remove the specified algorithm from the sequencer.
StatusCode decodeBranchMemberNames()
Decode branch member name list.
Gaudi::Property< std::vector< std::string > > m_names
Gaudi::Property< bool > m_shortCircuit
StatusCode finalize() override
Sequencer finalization.
StatusCode createAndAppendToBranch(const std::string &type, const std::string &name, Gaudi::Algorithm *&pAlgorithm)
Create a algorithm and append it to the sequencer branch.
StatusCode start() override
Sequencer finalization.
StatusCode decodeNames(Gaudi::Property< std::vector< std::string > > &theNames, std::vector< Gaudi::Algorithm * > &theAlgs, std::vector< bool > &theLogic)
Decode algorithm names, creating or appending algorithms as appropriate.
std::vector< bool > m_isBranchInverted
StatusCode createAndAppend(const std::string &type, const std::string &name, Gaudi::Algorithm *&pAlgorithm)
Create a algorithm and append it to the sequencer.
StatusCode reinitialize() override
Sequencer Reinitialization.
Sequencer & operator=(const Sequencer &rhs)=delete
Gaudi::Property< bool > m_invert
std::mutex m_branchFilterMutex
Sequencer(const Sequencer &a)=delete
const std::vector< Gaudi::Algorithm * > & branchAlgorithms() const
List of branch algorithms.
std::map< EventContext::ContextID_t, bool > m_branchFilterPassed
StatusCode executeMember(Gaudi::Algorithm *theAlgorithm, const EventContext &context) const
Execute member algorithm.
StatusCode initialize() override
Initialization of a sequencer.
std::vector< bool > m_isInverted
Gaudi::Property< std::vector< std::string > > m_requireObjs
std::vector< Gaudi::Algorithm * > m_branchAlgs
StatusCode append(Gaudi::Algorithm *pAlgorithm)
Append an algorithm to the sequencer.
bool branchFilterPassed(const EventContext &ctx) const
Was the branch filter passed for the last event?
StatusCode stop() override
Sequencer stop.
StatusCode decodeMemberNames()
Decode Member Name list.
StatusCode removeFromBranch(Gaudi::Algorithm *pAlgorithm)
Gaudi::Property< bool > m_ignoreFilter
StatusCode appendToBranch(Gaudi::Algorithm *pAlgorithm)
Append an algorithm to the sequencer branch.
Gaudi::Property< std::vector< std::string > > m_vetoObjs
This class is used for returning status codes from appropriate routines.
const StatusCode & ignore() const
Allow discarding a StatusCode without warning.
This file provides a Grammar for the type Gaudi::Accumulators::Axis It allows to use that type from p...