|
| Algorithm (const std::string &name, ISvcLocator *svcloc, const 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...
|
|
StatusCode | sysBeginRun () override |
| beginRun method invoked by the framework. More...
|
|
StatusCode | sysEndRun () override |
| endRun method invoked by the framework. 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 (const 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 | isExecuted () const override |
| Has this algorithm been executed since the last reset? More...
|
|
void | setExecuted (bool state) const override |
| Set the executed flag to the specified state. More...
|
|
void | resetExecuted () override |
| Reset the executed state of the Algorithm for the duration of the current event. More...
|
|
StatusCode | beginRun () override |
| Algorithm begin run. More...
|
|
StatusCode | endRun () override |
| Algorithm end run. This method is called at the end of the event loop. More...
|
|
bool | isEnabled () const override |
| Is this algorithm enabled or disabled? More...
|
|
bool | isSequence () const override |
| Are we a Sequence? More...
|
|
bool | filterPassed () const override |
| Did this algorithm pass or fail its filter criterion for the last event? More...
|
|
void | setFilterPassed (bool state) const override |
| Set the filter passed flag to the specified state. More...
|
|
unsigned int | errorCount () const |
| Get the number of failures of the algorithm. More...
|
|
template<class T > |
StatusCode | service (const std::string &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 (const std::string &svcType, const std::string &svcName, T *&psvc) const |
| Access a service by name and type, creating it if it doesn't already exist. More...
|
|
SmartIF< IService > | service (const std::string &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 (const std::string &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< IChronoStatSvc > & | chronoStatService () const |
|
SmartIF< IDataProviderSvc > & | detSvc () const |
| The standard detector data service. More...
|
|
SmartIF< IDataProviderSvc > & | detDataService () const |
|
SmartIF< IConversionSvc > & | detCnvSvc () const |
| The standard detector data persistency conversion service. More...
|
|
SmartIF< IConversionSvc > & | detDataCnvService () const |
|
SmartIF< IDataProviderSvc > & | eventSvc () const |
| The standard event data service. More...
|
|
SmartIF< IDataProviderSvc > & | evtSvc () const |
| shortcut for method eventSvc More...
|
|
SmartIF< IDataProviderSvc > & | eventDataService () const |
|
SmartIF< IConversionSvc > & | eventCnvSvc () const |
| The standard event data persistency conversion service. More...
|
|
SmartIF< IConversionSvc > & | eventDataCnvService () const |
|
SmartIF< IHistogramSvc > & | histoSvc () const |
| The standard histogram service. More...
|
|
SmartIF< IHistogramSvc > & | histogramDataService () const |
|
SmartIF< INTupleSvc > & | ntupleSvc () const |
| The standard N tuple service. More...
|
|
SmartIF< INTupleSvc > & | ntupleService () const |
|
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...
|
|
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 | setProperties () |
| Set the algorithm's properties. 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...
|
|
const EventContext & | getContext () const override |
| get the context More...
|
|
virtual void | acceptDHVisitor (IDataHandleVisitor *) const override |
|
void | commitHandles () override |
|
void | registerTool (IAlgTool *tool) const |
|
void | deregisterTool (IAlgTool *tool) const |
|
template<class T > |
StatusCode | declareTool (ToolHandle< T > &handle, std::string toolTypeAndName, bool createIf=true) |
|
template<class T > |
void | addToolsArray (ToolHandleArray< T > &hndlArr) |
|
const std::vector< IAlgTool * > & | tools () const |
|
bool | isIOBound () const |
|
void | setIOBound (bool value) |
|
unsigned int | cardinality () const override |
| Return the cardinality. More...
|
|
const std::vector< std::string > & | neededResources () const override |
|
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 |
|
const DataObjIDColl & | inputDataObjs () const override |
|
const DataObjIDColl & | outputDataObjs () const override |
|
void | addDependency (const DataObjID &id, const Gaudi::DataHandle::Mode &mode) override |
|
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...
|
|
| ~extends () override=default |
| Virtual destructor. More...
|
|
| PropertyHolder ()=default |
|
| ~PropertyHolder () override=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, TYPE &value, const std::string &doc="none") const |
|
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 Gaudi::Details::PropertyBase &p) override |
| set the property form another property More...
|
|
StatusCode | setProperty (const std::string &s) override |
| set the property from the formatted string More...
|
|
StatusCode | setProperty (const std::string &n, const std::string &v) override |
| set the property from name and the value More...
|
|
StatusCode | setProperty (const std::string &name, const TYPE &value) |
| set the property form the value More...
|
|
StatusCode | getProperty (Gaudi::Details::PropertyBase *p) const override |
| get the property More...
|
|
const Gaudi::Details::PropertyBase & | getProperty (const std::string &name) const override |
| get the property by name More...
|
|
StatusCode | getProperty (const std::string &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 (const std::string &name) const override |
| Return true if we have a property with the given name. More...
|
|
| PropertyHolder (const PropertyHolder &)=delete |
|
PropertyHolder & | operator= (const PropertyHolder &)=delete |
|
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, GaudiHandleBase &ref, const std::string &doc="none") |
| Specializations for various GaudiHandles. More...
|
|
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, GaudiHandleArrayBase &ref, const std::string &doc="none") |
|
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, DataObjectHandleBase &ref, const std::string &doc="none") |
|
virtual | ~CommonMessagingBase ()=default |
| Virtual destructor. More...
|
|
SmartIF< IMessageSvc > & | msgSvc () const |
| The standard message service. More...
|
|
MsgStream & | msgStream () const |
| Return an uninitialized MsgStream. More...
|
|
MsgStream & | msgStream (const MSG::Level level) const |
| Predefined configurable message stream for the efficient printouts. More...
|
|
MsgStream & | always () const |
| shortcut for the method msgStream(MSG::ALWAYS) More...
|
|
MsgStream & | fatal () const |
| shortcut for the method msgStream(MSG::FATAL) More...
|
|
MsgStream & | err () const |
| shortcut for the method msgStream(MSG::ERROR) More...
|
|
MsgStream & | error () const |
| shortcut for the method msgStream(MSG::ERROR) More...
|
|
MsgStream & | warning () const |
| shortcut for the method msgStream(MSG::WARNING) More...
|
|
MsgStream & | info () const |
| shortcut for the method msgStream(MSG::INFO) More...
|
|
MsgStream & | debug () const |
| shortcut for the method msgStream(MSG::DEBUG) More...
|
|
MsgStream & | verbose () const |
| shortcut for the method msgStream(MSG::VERBOSE) More...
|
|
MsgStream & | msg () const |
| shortcut for the method msgStream(MSG::INFO) More...
|
|
MSG::Level | msgLevel () const |
| get the output level from the embedded MsgStream More...
|
|
MSG::Level | outputLevel () const __attribute__((deprecated)) |
| Backward compatibility function for getting the output level. More...
|
|
bool | msgLevel (MSG::Level lvl) const |
| get the output level from the embedded MsgStream More...
|
|
| ~extend_interfaces () override=default |
| Virtual destructor. More...
|
|
|
Gaudi::StringKey | m_name |
| Algorithm's name for identification. More...
|
|
std::string | m_type |
| Algorithm's type. More...
|
|
std::string | m_version |
| Algorithm's version. More...
|
|
unsigned int | m_index |
| Algorithm's index. More...
|
|
EventContext | m_event_context |
|
std::vector< Algorithm * > | m_subAlgms |
| Sub algorithms. More...
|
|
std::vector< IAlgTool * > | m_tools |
|
std::vector< BaseToolHandle * > | m_toolHandles |
|
std::vector< GaudiHandleArrayBase * > | m_toolHandleArrays |
|
SmartIF< IMessageSvc > | m_MS |
| Message service. More...
|
|
SmartIF< IDataProviderSvc > | m_EDS |
| Event data service. More...
|
|
SmartIF< IHiveWhiteBoard > | m_WB |
| Event data service (whiteboard) More...
|
|
SmartIF< IConversionSvc > | m_ECS |
| Event conversion service. More...
|
|
SmartIF< IDataProviderSvc > | m_DDS |
| Detector data service. More...
|
|
SmartIF< IConversionSvc > | m_DCS |
| Detector conversion service. More...
|
|
SmartIF< IHistogramSvc > | m_HDS |
| Histogram data service. More...
|
|
SmartIF< INTupleSvc > | m_NTS |
| N tuple service. More...
|
|
SmartIF< IChronoStatSvc > | m_CSS |
| Chrono & Stat Service. More...
|
|
SmartIF< IRndmGenSvc > | m_RGS |
| Random Number Generator Service. More...
|
|
SmartIF< IExceptionSvc > | m_EXS |
| Exception Handler Service. More...
|
|
SmartIF< IAuditorSvc > | m_pAuditorSvc |
| Auditor Service. More...
|
|
SmartIF< IToolSvc > | m_ptoolSvc |
| ToolSvc Service. More...
|
|
SmartIF< IMonitorSvc > | m_pMonitorSvc |
| Online Monitoring Service. More...
|
|
SmartIF< IAlgContextSvc > | m_contextSvc |
| Algorithm Context Service. More...
|
|
SmartIF< ITimelineSvc > | m_timelineSvc |
| Timeline Service. More...
|
|
SmartIF< IAlgExecStateSvc > | m_aess |
| Alg execution state mgr. More...
|
|
SmartIF< ISvcLocator > | m_pSvcLocator |
| Pointer to service locator service. More...
|
|
Gaudi::Property< int > | m_outputLevel {this, "OutputLevel", MSG::NIL, "output level"} |
|
Gaudi::Property< bool > | m_isEnabled {this, "Enable", true, "should the algorithm be executed or not"} |
|
Gaudi::Property< unsigned int > | m_errorMax {this, "ErrorMax", 1, "[[deprecated]] max number of errors"} |
|
Gaudi::Property< bool > | m_auditInit {this, "AuditAlgorithms", false, "[[deprecated]] unused"} |
|
Gaudi::Property< bool > | m_auditorInitialize {this, "AuditInitialize", false, "trigger auditor on initialize()"} |
|
Gaudi::Property< bool > | m_auditorReinitialize {this, "AuditReinitialize", false, "trigger auditor on reinitialize()"} |
|
Gaudi::Property< bool > | m_auditorRestart {this, "AuditRestart", false, "trigger auditor on restart()"} |
|
Gaudi::Property< bool > | m_auditorExecute {this, "AuditExecute", false, "trigger auditor on execute()"} |
|
Gaudi::Property< bool > | m_auditorFinalize {this, "AuditFinalize", false, "trigger auditor on finalize()"} |
|
Gaudi::Property< bool > | m_auditorBeginRun {this, "AuditBeginRun", false, "trigger auditor on beginRun()"} |
|
Gaudi::Property< bool > | m_auditorEndRun {this, "AuditEndRun", false, "trigger auditor on endRun()"} |
|
Gaudi::Property< bool > | m_auditorStart {this, "AuditStart", false, "trigger auditor on start()"} |
|
Gaudi::Property< bool > | m_auditorStop {this, "AuditStop", false, "trigger auditor on stop()"} |
|
Gaudi::Property< bool > | m_doTimeline {this, "Timeline", true, "send events to TimelineSvc"} |
|
Gaudi::Property< std::string > | m_monitorSvcName |
|
Gaudi::Property< bool > | m_registerContext |
|
Gaudi::Property< int > | m_cardinality {this, "Cardinality", 1, "how many clones to create - 0 means algo is reentrant"} |
|
Gaudi::Property< std::vector< std::string > > | m_neededResources |
|
Gaudi::Property< bool > | m_isIOBound |
|
Gaudi::Property< bool > | m_filterCircDeps |
|
std::mutex | m_lock |
| for re-entrant Algs More...
|
|
bool | m_filterPassed = true |
| Filter passed flag. More...
|
|
bool | m_isExecuted = false |
| Algorithm is executed flag. More...
|
|
bool | m_toolHandlesInit = false |
|
Gaudi::StateMachine::State | m_state = Gaudi::StateMachine::CONFIGURED |
| flag indicating whether ToolHandle tools have been added to m_tools More...
|
|
Gaudi::StateMachine::State | m_targetState = Gaudi::StateMachine::CONFIGURED |
| Algorithm has been initialized flag. More...
|
|
bool | m_isFinalized |
| Algorithm has been finalized flag. More...
|
|
Base class from which all concrete algorithm classes should be derived.
In order for a concrete algorithm class to do anything useful the methods initialize(), execute() and finalize() should be overridden.
The base class provides utility methods for accessing standard services (event data service etc.); for declaring properties which may be configured by the job options service; and for creating sub algorithms. The only base class functionality which may be used in the constructor of a concrete algorithm is the declaration of member variables as properties. All other functionality, i.e. the use of services and the creation of sub-algorithms, may be used only in initialize() and afterwards (see the Gaudi user guide).
- Author
- Paul Maley
-
Pere Mato
-
David Quarrie
- Date
- 1998
Definition at line 78 of file Algorithm.h.