Loading [MathJax]/extensions/tex2jax.js
Go to the documentation of this file.
12 #include <initializer_list>
45 if ( !status.isSuccess() )
return status;
47 m_timerTool = tool<ISequencerTimerTool>(
"SequencerTimerTool" );
64 if ( !status.isSuccess() ) {
return Error(
"Can not initialize " + entry.algorithm()->name(), status ); }
100 verbose() <<
"Algorithm " << myAlg->
name() <<
" returned filter passed " << ( passed ?
"true" :
"false" )
102 if ( entry.reverse() ) passed = !passed;
119 if (
m_modeOR ? passed : !passed ) {
129 state.setState( AlgExecState::State::Done );
146 auto appMgr = service<IAlgManager>(
"ApplicationMgr" );
202 warning() << theName <<
" is not a Gaudi::Algorithm - failed dynamic_cast" <<
endmsg;
206 warning() <<
"Unable to find or create " << theName <<
endmsg;
214 msg <<
"Member list: ";
220 if (
alg->name() != typ ) os <<
"/" <<
alg->name();
261 if (
m_entries.size() > 1 ) os <<
"seq(";
263 const auto op =
m_modeOR ?
" | " :
" & ";
266 for (
auto iterator = first; iterator != last; ++iterator ) {
267 if ( iterator != first ) os << op;
268 if ( iterator->reverse() ) os <<
"~";
269 iterator->algorithm()->toControlFlowExpression( os );
287 [&](
const std::string& loc ) {
return this->exist<DataObject>(
evtSvc(), loc ); } );
297 [&](
const std::string& loc ) {
return this->exist<DataObject>(
evtSvc(), loc ); } );
StatusCode sysExecute(const EventContext &ctx) override
The actions to be performed by the algorithm on an event.
StatusCode decodeNames()
Decode a vector of string.
Gaudi::Algorithm * algorithm() const
ISequencerTimerTool * m_timerTool
Pointer to the timer tool.
SmartIF< IAlgContextSvc > & contextSvc() const
get Algorithm Context Service
StatusCode sysExecute(const EventContext &ctx) override
Gaudi::Property< std::vector< std::string > > m_names
const std::string & name() const override
The identifying name of the algorithm object.
StatusCode createSubAlgorithm(const std::string &type, const std::string &name, Algorithm *&pSubAlg)
Create a sub algorithm.
StatusCode setProperty(const std::string &name, const Gaudi::Details::PropertyBase &p) override
set the property from another property with a different name
Gaudi::Property< bool > m_invert
int m_timer
Timer number for the sequencer.
std::vector< AlgorithmEntry > m_entries
List of algorithms to process.
MSG::Level msgLevel() const
get the cached level (originally extracted from the embedded MsgStream)
Gaudi::Property< bool > m_shortCircuit
bool isEnabled() const override
Is this algorithm enabled or disabled?
Helper class to parse a string of format "type/name".
StatusCode execute(const EventContext &ctx) const override
Gaudi::Property< bool > m_modeOR
Gaudi::StateMachine::State FSMState() const override
returns the current state of the algorithm
double * begin(CLHEP::HepVector &v)
AlgExecState & execState(const EventContext &ctx) const override
reference to AlgExecState of Alg
Base class from which all concrete algorithm classes should be derived.
const ValueType & value() const
Gaudi::Property< bool > m_returnOK
MsgStream & endmsg(MsgStream &s)
MsgStream Modifier: endmsg. Calls the output method of the MsgStream.
StatusCode release(const IInterface *interface) const
Manual forced (and 'safe') release of the active tool or service.
const std::string & context() const
Returns the "context" string. Used to identify different processing states.
const StatusCode & ignore() const
Allow discarding a StatusCode without warning.
constexpr static const auto SUCCESS
SmartIF< IDataProviderSvc > & evtSvc() const
shortcut for method eventSvc
TYPE * get() const
Get interface pointer.
std::string typeName(const std::type_info &typ)
Gaudi::Property< std::vector< std::string > > m_requireObjs
Gaudi::Property< std::vector< std::string > > m_vetoObjs
const std::string & rootInTES() const
Returns the "rootInTES" string.
const std::vector< Algorithm * > * subAlgorithms() const
List of sub-algorithms. Returns a pointer to a vector of (sub) Algorithms.
bool filterPassed() const
std::ostream & toControlFlowExpression(std::ostream &os) const override
Produce string represention of the control flow expression.
Gaudi::Property< bool > m_measureTime
constexpr static const auto FAILURE
StatusCode initialize() override
bool registerContext() const
register for Algorithm Context Service?
void membershipHandler()
for asynchronous changes in the list of algorithms
StatusCode Error(std::string_view msg, const StatusCode st=StatusCode::FAILURE, const size_t mx=10) const
Print the error message and return with the given StatusCode.
Stream & ostream_joiner(Stream &os, Iterator first, Iterator last, Separator sep, OutputElement output=OutputElement{})
Gaudi::Property< bool > m_ignoreFilter
bool hasProperty(std::string_view name) const override
Return true if we have a property with the given name.