The Gaudi Framework
master (37c0b60a)
|
#include </builds/gaudi/Gaudi/GaudiKernel/include/Gaudi/Sequence.h>
Public Member Functions | |
bool | isSequence () const override final |
Are we a Sequence? More... | |
StatusCode | createSubAlgorithm (const std::string &type, const std::string &name, Algorithm *&pSubAlg) |
Create a sub algorithm. More... | |
const std::vector< Algorithm * > * | subAlgorithms () const |
List of sub-algorithms. Returns a pointer to a vector of (sub) Algorithms. More... | |
std::vector< Algorithm * > * | subAlgorithms () |
List of sub-algorithms. Returns a pointer to a vector of (sub) Algorithms. More... | |
StatusCode | start () override |
System start. More... | |
StatusCode | initialize () override |
Initialization method invoked by the framework. More... | |
StatusCode | reinitialize () override |
Reinitialization method invoked by the framework. More... | |
StatusCode | restart () override |
Restart method invoked by the framework. More... | |
StatusCode | stop () override |
System stop. More... | |
StatusCode | finalize () override |
System finalization. More... | |
void | acceptDHVisitor (IDataHandleVisitor *) const override |
Algorithm (std::string name, ISvcLocator *svcloc, std::string version=PACKAGE_VERSION) | |
Constructor. More... | |
Public Member Functions inherited from Gaudi::Algorithm | |
Algorithm (std::string name, ISvcLocator *svcloc, std::string version=PACKAGE_VERSION) | |
Constructor. More... | |
StatusCode | sysStart () override |
Reinitialization method invoked by the framework. More... | |
StatusCode | sysInitialize () override |
Initialization method invoked by the framework. More... | |
StatusCode | sysReinitialize () override |
Reinitialization method invoked by the framework. More... | |
StatusCode | sysRestart () override |
Restart method invoked by the framework. More... | |
StatusCode | sysExecute (const EventContext &ctx) override |
The actions to be performed by the algorithm on an event. More... | |
StatusCode | sysStop () override |
System stop. More... | |
StatusCode | sysFinalize () override |
System finalization. More... | |
const std::string & | name () const override |
The identifying name of the algorithm object. More... | |
const Gaudi::StringKey & | nameKey () const override |
const std::string & | type () const override |
The type of the algorithm object. More... | |
void | setType (std::string type) override |
const std::string & | version () const override |
unsigned int | index () const override |
StatusCode | configure () override |
Dummy implementation of IStateful::configure() method. More... | |
StatusCode | terminate () override |
Dummy implementation of IStateful::terminate() method. More... | |
StatusCode | initialize () override |
the default (empty) implementation of IStateful::initialize() method More... | |
StatusCode | start () override |
the default (empty) implementation of IStateful::start() method More... | |
StatusCode | stop () override |
the default (empty) implementation of IStateful::stop() method More... | |
StatusCode | finalize () override |
the default (empty) implementation of IStateful::finalize() method More... | |
StatusCode | reinitialize () override |
the default (empty) implementation of IStateful::reinitialize() method More... | |
StatusCode | restart () override |
the default (empty) implementation of IStateful::restart() method More... | |
Gaudi::StateMachine::State | FSMState () const override |
returns the current state of the algorithm More... | |
Gaudi::StateMachine::State | targetFSMState () const override |
returns the state the algorithm will be in after the ongoing transition More... | |
bool | isEnabled () const override |
Is this algorithm enabled or disabled? More... | |
bool | isSequence () const override |
Are we a Sequence? More... | |
unsigned int | errorCount () const |
Get the number of failures of the algorithm. More... | |
template<class T > | |
StatusCode | service (std::string_view name, T *&psvc, bool createIf=true) const |
Access a service by name, creating it if it doesn't already exist. More... | |
template<class T > | |
StatusCode | service (std::string_view svcType, std::string_view svcName, T *&psvc) const |
Access a service by name and type, creating it if it doesn't already exist. More... | |
SmartIF< IService > | service (std::string_view name, const bool createIf=true, const bool quiet=false) const |
Return a pointer to the service identified by name (or "type/name") More... | |
template<class T > | |
SmartIF< T > | service (std::string_view name, bool createIf=true, bool quiet=false) const |
SmartIF< IAuditorSvc > & | auditorSvc () const |
The standard auditor service.May not be invoked before sysInitialize() has been invoked. More... | |
SmartIF< IChronoStatSvc > & | chronoSvc () const |
The standard Chrono & Stat service, Return a pointer to the service if present. More... | |
SmartIF< IDataProviderSvc > & | detSvc () const |
The standard detector data service. More... | |
SmartIF< IConversionSvc > & | detCnvSvc () const |
The standard detector data persistency conversion service. More... | |
SmartIF< IDataProviderSvc > & | eventSvc () const |
The standard event data service. More... | |
SmartIF< IDataProviderSvc > & | evtSvc () const |
shortcut for method eventSvc More... | |
SmartIF< IConversionSvc > & | eventCnvSvc () const |
The standard event data persistency conversion service. More... | |
SmartIF< IHistogramSvc > & | histoSvc () const |
The standard histogram service. More... | |
SmartIF< INTupleSvc > & | ntupleSvc () const |
The standard N tuple service. More... | |
SmartIF< IRndmGenSvc > & | randSvc () const |
The standard RandomGen service, Return a pointer to the service if present. More... | |
SmartIF< IToolSvc > & | toolSvc () const |
The standard ToolSvc service, Return a pointer to the service if present. More... | |
SmartIF< IExceptionSvc > & | exceptionSvc () const |
Get the exception Service. More... | |
SmartIF< IAlgContextSvc > & | contextSvc () const |
get Algorithm Context Service More... | |
SmartIF< ITimelineSvc > & | timelineSvc () const |
SmartIF< ISvcLocator > & | serviceLocator () const override |
The standard service locator. More... | |
SmartIF< ISvcLocator > & | svcLoc () const |
shortcut for method serviceLocator More... | |
SmartIF< IHiveWhiteBoard > & | whiteboard () const |
SmartIF< IAlgExecStateSvc > & | algExecStateSvc () const |
bool | registerContext () const |
register for Algorithm Context Service? More... | |
template<class T > | |
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, ToolHandle< T > &hndl, const std::string &doc="none") |
template<class T > | |
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, ToolHandleArray< T > &hndlArr, const std::string &doc="none") |
SmartIF< IMonitorSvc > & | monitorSvc () const |
Access the monitor service. More... | |
template<class T > | |
void | declareInfo (const std::string &name, const T &var, const std::string &desc) const |
Declare monitoring information. More... | |
void | declareInfo (const std::string &name, const std::string &format, const void *var, int size, const std::string &desc) const |
Declare monitoring information (special case) More... | |
void | acceptDHVisitor (IDataHandleVisitor *) const override |
void | registerTool (IAlgTool *tool) const |
void | deregisterTool (IAlgTool *tool) const |
template<class T > | |
StatusCode | declareTool (ToolHandle< T > &handle, bool createIf=true) |
template<class T > | |
StatusCode | declareTool (ToolHandle< T > &handle, const std::string &toolTypeAndName, bool createIf=true) |
template<class T > | |
void | addToolsArray (ToolHandleArray< T > &hndlArr) |
const std::vector< IAlgTool * > & | tools () const |
bool | isAsynchronous () const |
void | setAsynchronous (bool value) |
unsigned int | cardinality () const override |
Return the cardinality. More... | |
const std::vector< std::string > & | neededResources () const override |
AlgExecState & | execState (const EventContext &ctx) const override |
reference to AlgExecState of Alg More... | |
std::ostream & | toControlFlowExpression (std::ostream &os) const override |
Produce string represention of the control flow expression. More... | |
Public Member Functions inherited from DataHandleHolderBase< PropertyHolder< CommonMessaging< implements< IAlgorithm, IDataHandleHolder, IProperty, IStateful > > > > | |
std::vector< Gaudi::DataHandle * > | inputHandles () const override |
std::vector< Gaudi::DataHandle * > | outputHandles () const override |
virtual const DataObjIDColl & | extraInputDeps () const override |
virtual const DataObjIDColl & | extraOutputDeps () const override |
void | declare (Gaudi::DataHandle &handle) override |
void | renounce (Gaudi::DataHandle &handle) override |
bool | renounceInput (const DataObjID &id) override |
const DataObjIDColl & | inputDataObjs () const override |
const DataObjIDColl & | outputDataObjs () const override |
void | addDependency (const DataObjID &id, const Gaudi::DataHandle::Mode &mode) override |
Public Member Functions inherited from extends< PropertyHolder< CommonMessaging< implements< IAlgorithm, IDataHandleHolder, IProperty, IStateful > > >, IDataHandleHolder > | |
void * | i_cast (const InterfaceID &tid) const override |
Implementation of IInterface::i_cast. More... | |
StatusCode | queryInterface (const InterfaceID &ti, void **pp) override |
Implementation of IInterface::queryInterface. More... | |
std::vector< std::string > | getInterfaceNames () const override |
Implementation of IInterface::getInterfaceNames. More... | |
Public Member Functions inherited from PropertyHolder< CommonMessaging< implements< IAlgorithm, IDataHandleHolder, IProperty, IStateful > > > | |
PropertyHolder ()=default | |
Gaudi::Details::PropertyBase & | declareProperty (Gaudi::Details::PropertyBase &prop) |
Declare a property. More... | |
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, TYPE &value, const std::string &doc="none") |
Helper to wrap a regular data member and use it as a regular property. More... | |
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, Gaudi::Property< TYPE, VERIFIER, HANDLERS > &prop, const std::string &doc="none") |
Declare a PropertyBase instance setting name and documentation. More... | |
Gaudi::Details::PropertyBase * | declareRemoteProperty (const std::string &name, IProperty *rsvc, const std::string &rname="") |
Declare a remote property. More... | |
StatusCode | setProperty (const std::string &name, const Gaudi::Details::PropertyBase &p) override |
set the property from another property with a different name More... | |
StatusCode | setProperty (const std::string &s) override |
set the property from the formatted string More... | |
StatusCode | setProperty (const Gaudi::Details::PropertyBase &p) |
Set the property from a property. More... | |
virtual StatusCode | setProperty (const std::string &name, const Gaudi::Details::PropertyBase &p)=0 |
Set the property from a property with a different name. More... | |
virtual StatusCode | setProperty (const std::string &s)=0 |
Set the property by string. More... | |
StatusCode | setProperty (const std::string &name, const char *v) |
Special case for string literals. More... | |
StatusCode | setProperty (const std::string &name, const std::string &v) |
Special case for std::string. More... | |
StatusCode | setProperty (const std::string &name, const TYPE &value) |
set the property form the value More... | |
StatusCode | setPropertyRepr (const std::string &n, const std::string &r) override |
set the property from name and value string representation More... | |
StatusCode | getProperty (Gaudi::Details::PropertyBase *p) const override |
get the property More... | |
const Gaudi::Details::PropertyBase & | getProperty (std::string_view name) const override |
get the property by name More... | |
StatusCode | getProperty (std::string_view n, std::string &v) const override |
convert the property to the string More... | |
const std::vector< Gaudi::Details::PropertyBase * > & | getProperties () const override |
get all properties More... | |
bool | hasProperty (std::string_view name) const override |
Return true if we have a property with the given name. More... | |
Gaudi::Details::PropertyBase * | property (std::string_view name) const |
\fixme property and bindPropertiesTo should be protected More... | |
void | bindPropertiesTo (Gaudi::Interfaces::IOptionsSvc &optsSvc) |
PropertyHolder (const PropertyHolder &)=delete | |
PropertyHolder & | operator= (const PropertyHolder &)=delete |
Public Member Functions inherited from CommonMessaging< implements< IAlgorithm, IDataHandleHolder, IProperty, IStateful > > | |
MSG::Level | msgLevel () const |
get the cached level (originally extracted from the embedded MsgStream) More... | |
bool | msgLevel (MSG::Level lvl) const |
get the output level from the embedded MsgStream More... | |
Private Attributes | |
std::vector< Algorithm * > | m_subAlgms |
Sub algorithms. More... | |
Definition at line 18 of file Sequence.h.
|
override |
Definition at line 96 of file Sequence.cpp.
|
inline |
Constructor.
name | The algorithm object's name |
svcloc | A pointer to a service location service |
Definition at line 101 of file Algorithm.h.
StatusCode Sequence::createSubAlgorithm | ( | const std::string & | type, |
const std::string & | name, | ||
Algorithm *& | pSubAlg | ||
) |
Create a sub algorithm.
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 sub-algorithm's properties. Using this mechanism instead of creating daughter algorithms directly via the new operator is prefered since then the framework may take care of all of the necessary book-keeping.
type | The concrete algorithm class of the sub algorithm |
name | The name to be given to the sub algorithm |
pSubAlg | Set to point to the newly created algorithm object |
Definition at line 107 of file Sequence.cpp.
|
override |
System finalization.
This method invokes the finalize() method of a concrete algorithm and the finalize() methods of all of that algorithm's sub algorithms.
Definition at line 36 of file Sequence.cpp.
|
override |
Initialization method invoked by the framework.
This method is responsible for any bookkeeping of initialization required by the framework itself. It will in turn invoke the initialize() method of the derived algorithm, and of any sub-algorithms which it creates.
Definition at line 24 of file Sequence.cpp.
|
inlinefinaloverride |
|
override |
Reinitialization method invoked by the framework.
This method is responsible for any reinitialization required by the framework itself. It will in turn invoke the reinitialize() method of the derived algorithm, and of any sub-algorithms which it creates.
Definition at line 76 of file Sequence.cpp.
|
override |
Restart method invoked by the framework.
It will in turn invoke the restart() method of the derived algorithm, and of any sub-algorithms which it creates.
Definition at line 86 of file Sequence.cpp.
|
override |
System start.
This method invokes the start() method of a concrete algorithm and the start() methods of all of that algorithm's sub algorithms.
Definition at line 54 of file Sequence.cpp.
|
override |
System stop.
This method invokes the stop() method of a concrete algorithm and the stop() methods of all of that algorithm's sub algorithms.
Definition at line 66 of file Sequence.cpp.
std::vector< Gaudi::Algorithm * > * Sequence::subAlgorithms | ( | ) |
List of sub-algorithms. Returns a pointer to a vector of (sub) Algorithms.
Definition at line 105 of file Sequence.cpp.
const std::vector< Gaudi::Algorithm * > * Sequence::subAlgorithms | ( | ) | const |
List of sub-algorithms. Returns a pointer to a vector of (sub) Algorithms.
Definition at line 103 of file Sequence.cpp.
|
private |
Sub algorithms.
Definition at line 84 of file Sequence.h.