|
Gaudi Framework, version v24r2 |
| Home | Generated: Wed Dec 4 2013 |
Sequencer for executing several algorithms, stopping when one is faulty. More...
#include <GaudiSequencer.h>


Classes | |
| class | AlgorithmEntry |
Public Member Functions | |
| GaudiSequencer (const std::string &name, ISvcLocator *pSvcLocator) | |
| Standard constructor. | |
| virtual | ~GaudiSequencer () |
| Destructor. | |
| virtual StatusCode | initialize () |
| Algorithm initialization. | |
| virtual StatusCode | execute () |
| Algorithm execution. | |
| virtual StatusCode | finalize () |
| Algorithm finalization. | |
| virtual StatusCode | beginRun () |
| Algorithm beginRun. | |
| virtual StatusCode | endRun () |
| Algorithm endRun. | |
| void | resetExecuted () |
| Called before an event processing. | |
| void | membershipHandler (Property &theProp) |
| for asynchronous changes in the list of algorithms | |
Public Member Functions inherited from GaudiAlgorithm | |
| virtual StatusCode | sysExecute () |
| the generic actions for the execution. | |
| void | put (IDataProviderSvc *svc, DataObject *object, const std::string &address, const bool useRootInTES=true) const |
| Register a data object or container into Gaudi Event Transient Store. | |
| void | put (DataObject *object, const std::string &address, const bool useRootInTES=true) const |
| Register a data object or container into Gaudi Event Transient Store. | |
| template<class TYPE > | |
| Gaudi::Utils::GetData< TYPE > ::return_type | get (IDataProviderSvc *svc, const std::string &location, const bool useRootInTES=true) const |
| Templated access to the data in Gaudi Transient Store. | |
| template<class TYPE > | |
| Gaudi::Utils::GetData< TYPE > ::return_type | getIfExists (IDataProviderSvc *svc, const std::string &location, const bool useRootInTES=true) const |
| Templated access to the data in Gaudi Transient Store. | |
| template<class TYPE > | |
| Gaudi::Utils::GetData< TYPE > ::return_type | get (const std::string &location, const bool useRootInTES=true) const |
| Templated access to the data from Gaudi Event Transient Store. | |
| template<class TYPE > | |
| Gaudi::Utils::GetData< TYPE > ::return_type | getIfExists (const std::string &location, const bool useRootInTES=true) const |
| Templated access to the data in Gaudi Transient Store. | |
| template<class TYPE > | |
| TYPE * | getDet (IDataProviderSvc *svc, const std::string &location) const |
| Templated access to the detector data from the Gaudi Detector Transient Store. | |
| template<class TYPE > | |
| Gaudi::Utils::GetData< TYPE > ::return_type | getDetIfExists (IDataProviderSvc *svc, const std::string &location) const |
| Templated access to the detector data from the Gaudi Detector Transient Store. | |
| template<class TYPE > | |
| TYPE * | getDet (const std::string &location) const |
| Templated access to the detector data from the Gaudi Detector Transient Store. | |
| template<class TYPE > | |
| Gaudi::Utils::GetData< TYPE > ::return_type | getDetIfExists (const std::string &location) const |
| Templated access to the detector data from the Gaudi Detector Transient Store. | |
| template<class TYPE > | |
| bool | exist (IDataProviderSvc *svc, const std::string &location, const bool useRootInTES=true) const |
| Check the existence of a data object or container in the Gaudi Transient Event Store. | |
| template<class TYPE > | |
| bool | exist (const std::string &location, const bool useRootInTES=true) const |
| Check the existence of a data object or container in the Gaudi Transient Event Store. | |
| template<class TYPE > | |
| bool | existDet (IDataProviderSvc *svc, const std::string &location) const |
| Check the existence of detector objects in the Gaudi Transient Detector Store. | |
| template<class TYPE > | |
| bool | existDet (const std::string &location) const |
| Check the existence of detector objects in the Gaudi Transient Detector Store. | |
| template<class TYPE , class TYPE2 > | |
| Gaudi::Utils::GetData< TYPE > ::return_type | getOrCreate (IDataProviderSvc *svc, const std::string &location, const bool useRootInTES=true) const |
| Get the existing data object from Gaudi Event Transient store. | |
| template<class TYPE , class TYPE2 > | |
| Gaudi::Utils::GetData< TYPE > ::return_type | getOrCreate (const std::string &location, const bool useRootInTES=true) const |
| Get the existing data object from Gaudi Event Transient store. | |
| GaudiAlgorithm (const std::string &name, ISvcLocator *pSvcLocator) | |
| Standard constructor (protected) | |
| virtual | ~GaudiAlgorithm () |
| destructor, virtual and protected | |
| SmartIF< INTupleSvc > & | evtColSvc () const |
| Access the standard event collection service. | |
Public Member Functions inherited from GaudiCommon< Algorithm > | |
| Gaudi::Utils::GetData< TYPE > ::return_type | get (IDataProviderSvc *svc, const std::string &location, const bool useRootInTES=true) const |
| Templated access to the data in Gaudi Transient Store. | |
| Gaudi::Utils::GetData< TYPE > ::return_type | getIfExists (IDataProviderSvc *svc, const std::string &location, const bool useRootInTES=true) const |
| Quicker version of the get function which bypasses the check on the retrieved data. | |
| bool | exist (IDataProviderSvc *svc, const std::string &location, const bool useRootInTES=true) const |
| Check the existence of a data object or container in the Gaudi Transient Event Store. | |
| Gaudi::Utils::GetData< TYPE > ::return_type | getOrCreate (IDataProviderSvc *svc, const std::string &location, const bool useRootInTES=true) const |
| Get the existing data object from Gaudi Event Transient store. | |
| DataObject * | put (IDataProviderSvc *svc, DataObject *object, const std::string &location, const bool useRootInTES=true) const |
| Register a data object or container into Gaudi Event Transient Store. | |
| TOOL * | tool (const std::string &type, const std::string &name, const IInterface *parent=0, bool create=true) const |
| Useful method for the easy location of tools. | |
| TOOL * | tool (const std::string &type, const IInterface *parent=0, bool create=true) const |
| A useful method for the easy location of tools. | |
| SmartIF< SERVICE > | svc (const std::string &name, const bool create=true) const |
| A useful method for the easy location of services. | |
| IUpdateManagerSvc * | updMgrSvc () const |
| Short-cut to locate the Update Manager Service. | |
| StatusCode | Error (const std::string &msg, const StatusCode st=StatusCode::FAILURE, const size_t mx=10) const |
| Print the error message and return with the given StatusCode. | |
| StatusCode | Warning (const std::string &msg, const StatusCode st=StatusCode::FAILURE, const size_t mx=10) const |
| Print the warning message and return with the given StatusCode. | |
| StatusCode | Info (const std::string &msg, const StatusCode st=StatusCode::SUCCESS, const size_t mx=10) const |
| Print the info message and return with the given StatusCode. | |
| StatusCode | Print (const std::string &msg, const StatusCode st=StatusCode::SUCCESS, const MSG::Level lev=MSG::INFO) const |
| Print the message and return with the given StatusCode. | |
| void | Assert (const bool ok, const std::string &message="", const StatusCode sc=StatusCode(StatusCode::FAILURE, true)) const |
| Assertion - throw exception if the given condition is not fulfilled. | |
| void | Assert (const bool ok, const char *message, const StatusCode sc=StatusCode(StatusCode::FAILURE, true)) const |
| Assertion - throw exception if the given condition is not fulfilled. | |
| void | Exception (const std::string &msg, const GaudiException &exc, const StatusCode sc=StatusCode(StatusCode::FAILURE, true)) const |
| Create and (re)-throw a given GaudiException. | |
| void | Exception (const std::string &msg, const std::exception &exc, const StatusCode sc=StatusCode(StatusCode::FAILURE, true)) const |
| Create and (re)-throw a given exception. | |
| void | Exception (const std::string &msg="no message", const StatusCode sc=StatusCode(StatusCode::FAILURE, true)) const |
| Create and throw an exception with the given message. | |
| MsgStream & | msgStream (const MSG::Level level) const |
| Predefined configurable message stream for the efficient printouts. | |
| MsgStream & | always () const |
| shortcut for the method msgStream ( MSG::ALWAYS ) | |
| MsgStream & | fatal () const |
| shortcut for the method msgStream ( MSG::FATAL ) | |
| MsgStream & | err () const |
| shortcut for the method msgStream ( MSG::ERROR ) | |
| MsgStream & | error () const |
| shortcut for the method msgStream ( MSG::ERROR ) | |
| MsgStream & | warning () const |
| shortcut for the method msgStream ( MSG::WARNING ) | |
| MsgStream & | info () const |
| shortcut for the method msgStream ( MSG::INFO ) | |
| MsgStream & | debug () const |
| shortcut for the method msgStream ( MSG::DEBUG ) | |
| MsgStream & | verbose () const |
| shortcut for the method msgStream ( MSG::VERBOSE ) | |
| MsgStream & | msg () const |
| shortcut for the method msgStream ( MSG::INFO ) | |
| const Statistics & | counters () const |
| accessor to all counters | |
| StatEntity & | counter (const std::string &tag) const |
| accessor to certain counter by name | |
| MSG::Level | msgLevel () const |
| The current message service output level. | |
| bool | msgLevel (const MSG::Level level) const |
| Test the output level. | |
| void | resetMsgStream () const |
| Reset (delete) the current message stream object. | |
| bool | typePrint () const |
| Insert the actual C++ type of the algorithm/tool in the messages ? | |
| bool | propsPrint () const |
| Print properties at initialization ? | |
| bool | statPrint () const |
| Print statistical counters at finalization ? | |
| bool | errorsPrint () const |
| Print error counters at finalization ? | |
| long | printStat (const MSG::Level level=MSG::ALWAYS) const |
| perform the actual printout of statistical counters | |
| long | printErrors (const MSG::Level level=MSG::ALWAYS) const |
| perform the actual printout of error counters | |
| long | printProps (const MSG::Level level=MSG::ALWAYS) const |
| perform the actual printout of properties | |
| void | registerCondition (const std::string &condition, StatusCode(CallerClass::*mf)()=NULL) |
| register the current instance to the UpdateManagerSvc as a consumer for a condition. | |
| void | registerCondition (const std::string &condition, CondType *&condPtrDest, StatusCode(CallerClass::*mf)()=NULL) |
| register the current instance to the UpdateManagerSvc as a consumer for a condition. | |
| void | registerCondition (char *condition, StatusCode(CallerClass::*mf)()=NULL) |
| just to avoid conflicts with the version using a pointer to a template class. | |
| void | registerCondition (TargetClass *condition, StatusCode(CallerClass::*mf)()=NULL) |
| register the current instance to the UpdateManagerSvc as a consumer for a condition. | |
| StatusCode | runUpdate () |
| asks the UpdateManagerSvc to perform an update of the instance (if needed) without waiting the next BeginEvent incident. | |
| GaudiCommon (const std::string &name, ISvcLocator *pSvcLocator) | |
| Algorithm constructor. | |
| GaudiCommon (const std::string &type, const std::string &name, const IInterface *parent) | |
| Tool constructor. | |
| StatusCode | release (const IInterface *interface) const |
| Manual forced (and 'safe') release of the active tool or service. | |
| virtual unsigned long | release () |
| Un-hide IInterface::release (ICC warning #1125) | |
| const AlgTools & | tools () const |
| get the list of aquired tools | |
| const Services & | services () const |
| get the list of aquired services | |
| const std::string & | context () const |
| Returns the "context" string. Used to identify different processing states. | |
| const std::string & | rootInTES () const |
| Returns the "rootInTES" string. | |
| double | globalTimeOffset () const |
| Returns the "globalTimeOffset" double. | |
| const std::string | fullTESLocation (const std::string &location, const bool useRootInTES) const |
| Returns the full correct event location given the rootInTes settings. | |
Public Member Functions inherited from Algorithm | |
| Algorithm (const std::string &name, ISvcLocator *svcloc, const std::string &version=PACKAGE_VERSION) | |
| Constructor. | |
| virtual | ~Algorithm () |
| Destructor. | |
| virtual StatusCode | sysStart () |
| Reinitialization method invoked by the framework. | |
| virtual StatusCode | sysInitialize () |
| Initialization method invoked by the framework. | |
| virtual StatusCode | sysReinitialize () |
| Reinitialization method invoked by the framework. | |
| virtual StatusCode | sysRestart () |
| Restart method invoked by the framework. | |
| virtual StatusCode | sysStop () |
| System stop. | |
| virtual StatusCode | sysFinalize () |
| System finalization. | |
| virtual StatusCode | sysBeginRun () |
| beginRun method invoked by the framework. | |
| virtual StatusCode | sysEndRun () |
| endRun method invoked by the framework. | |
| virtual const std::string & | name () const |
| The identifying name of the algorithm object. | |
| virtual const std::string & | version () const |
| virtual StatusCode | configure () |
| Dummy implementation of IStateful::configure() method. | |
| virtual StatusCode | terminate () |
| Dummy implementation of IStateful::terminate() method. | |
| virtual StatusCode | start () |
| the default (empty) implementation of IStateful::start() method | |
| virtual StatusCode | stop () |
| the default (empty) implementation of IStateful::stop() method | |
| virtual StatusCode | reinitialize () |
| the default (empty) implementation of IStateful::reinitialize() method | |
| virtual StatusCode | restart () |
| the default (empty) implementation of IStateful::restart() method | |
| virtual bool | isExecuted () const |
| Has this algorithm been executed since the last reset? | |
| virtual void | setExecuted (bool state) |
| Set the executed flag to the specified state. | |
| virtual Gaudi::StateMachine::State | FSMState () const |
| returns the current state of the algorithm | |
| virtual Gaudi::StateMachine::State | targetFSMState () const |
| returns the state the algorithm will be in after the ongoing transition | |
| virtual bool | isEnabled () const |
| Is this algorithm enabled or disabled? | |
| virtual bool | filterPassed () const |
| Did this algorithm pass or fail its filter criterion for the last event? | |
| virtual void | setFilterPassed (bool state) |
| Set the filter passed flag to the specified state. | |
| 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. | |
| 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. | |
| 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") | |
| void | setOutputLevel (int level) |
| Set the output level for current algorithm. | |
| SmartIF< IAuditorSvc > & | auditorSvc () const |
| The standard auditor service.May not be invoked before sysInitialize() has been invoked. | |
| SmartIF< IChronoStatSvc > & | chronoSvc () const |
| The standard Chrono & Stat service, Return a pointer to the service if present. | |
| SmartIF< IChronoStatSvc > & | chronoStatService () const |
| Obsoleted name, kept due to the backwards compatibility. | |
| SmartIF< IDataProviderSvc > & | detSvc () const |
| The standard detector data service. | |
| SmartIF< IDataProviderSvc > & | detDataService () const |
| Obsoleted name, kept due to the backwards compatibility. | |
| SmartIF< IConversionSvc > & | detCnvSvc () const |
| The standard detector data persistency conversion service. | |
| SmartIF< IConversionSvc > & | detDataCnvService () const |
| Obsoleted name, kept due to the backwards compatibility. | |
| SmartIF< IDataProviderSvc > & | eventSvc () const |
| The standard event data service. | |
| SmartIF< IDataProviderSvc > & | evtSvc () const |
| shortcut for method eventSvc | |
| SmartIF< IDataProviderSvc > & | eventDataService () const |
| Obsoleted name, kept due to the backwards compatibility. | |
| SmartIF< IConversionSvc > & | eventCnvSvc () const |
| The standard event data persistency conversion service. | |
| SmartIF< IConversionSvc > & | eventDataCnvService () const |
| Obsoleted name, kept due to the backwards compatibility. | |
| SmartIF< IHistogramSvc > & | histoSvc () const |
| The standard histogram service. | |
| SmartIF< IHistogramSvc > & | histogramDataService () const |
| Obsoleted name, kept due to the backwards compatibility. | |
| SmartIF< IMessageSvc > & | msgSvc () const |
| The standard message service. | |
| SmartIF< IMessageSvc > & | messageService () const |
| Obsoleted name, kept due to the backwards compatibility. | |
| SmartIF< INTupleSvc > & | ntupleSvc () const |
| The standard N tuple service. | |
| SmartIF< INTupleSvc > & | ntupleService () const |
| Obsoleted name, kept due to the backwards compatibility. | |
| SmartIF< IRndmGenSvc > & | randSvc () const |
| AIDA-based NTuple service Returns a pointer to the AIDATuple service if present. | |
| SmartIF< IToolSvc > & | toolSvc () const |
| The standard ToolSvc service, Return a pointer to the service if present. | |
| SmartIF< IExceptionSvc > & | exceptionSvc () const |
| Get the exception Service. | |
| SmartIF< IAlgContextSvc > & | contextSvc () const |
| get Algorithm Context Service | |
| SmartIF< ISvcLocator > & | serviceLocator () const |
| The standard service locator. | |
| SmartIF< ISvcLocator > & | svcLoc () const |
| shortcut for method serviceLocator | |
| bool | registerContext () const |
| register for Algorithm Context Service? | |
| StatusCode | createSubAlgorithm (const std::string &type, const std::string &name, Algorithm *&pSubAlg) |
| Create a sub algorithm. | |
| std::vector< Algorithm * > * | subAlgorithms () const |
| List of sub-algorithms. Returns a pointer to a vector of (sub) Algorithms. | |
| virtual StatusCode | setProperty (const Property &p) |
| Implementation of IProperty::setProperty. | |
| virtual StatusCode | setProperty (const std::string &s) |
| Implementation of IProperty::setProperty. | |
| virtual StatusCode | setProperty (const std::string &n, const std::string &v) |
| Implementation of IProperty::setProperty. | |
| virtual StatusCode | getProperty (Property *p) const |
| Implementation of IProperty::getProperty. | |
| virtual const Property & | getProperty (const std::string &name) const |
| Implementation of IProperty::getProperty. | |
| virtual StatusCode | getProperty (const std::string &n, std::string &v) const |
| Implementation of IProperty::getProperty. | |
| virtual const std::vector < Property * > & | getProperties () const |
| Implementation of IProperty::getProperties. | |
| StatusCode | setProperties () |
| Set the algorithm's properties. | |
| template<class T > | |
| Property * | declareProperty (const std::string &name, T &property, const std::string &doc="none") const |
| Declare the named property. | |
| Property * | declareRemoteProperty (const std::string &name, IProperty *rsvc, const std::string &rname="") const |
| Declare remote named properties. | |
| SmartIF< IMonitorSvc > & | monitorSvc () const |
| Access the monitor service. | |
| template<class T > | |
| void | declareInfo (const std::string &name, const T &var, const std::string &desc) const |
| Declare monitoring information. | |
| 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) | |
| template<class TYPE > | |
| StatusCode | setProperty (const std::string &name, const TYPE &value) |
| set the property form the value | |
Protected Member Functions | |
| StatusCode | decodeNames () |
| Decode a vector of string. | |
Private Member Functions | |
| GaudiSequencer (const GaudiSequencer &a) | |
| Private copy, copy not allowed. | |
| GaudiSequencer & | operator= (const GaudiSequencer &a) |
| Private assignment operator: This is not allowed. | |
Private Attributes | |
| StringArrayProperty | m_names |
| Input string, list of algorithms. | |
| std::vector< AlgorithmEntry > | m_entries |
| List of algorithms to process. | |
| bool | m_modeOR |
| Indicates that the OR is wanted instead of AND. | |
| bool | m_shortCircuit |
| Indicates whether to stop processing as soon as possible, or to always execute all subalgorithms. | |
| bool | m_ignoreFilter |
| True if one continues always. | |
| bool | m_isInitialized |
| Indicate that we are ready. | |
| bool | m_measureTime |
| Flag to measure time. | |
| bool | m_returnOK |
| Forces the sequencer to return a good status. | |
| ISequencerTimerTool * | m_timerTool |
| Pointer to the timer tool. | |
| int | m_timer |
| Timer number for the sequencer. | |
Additional Inherited Members | |
Public Types inherited from implements3< IAlgorithm, IProperty, IStateful > | |
| typedef implements3 | base_class |
| Typedef to this class. | |
| typedef extend_interfaces3 < IAlgorithm, IProperty, IStateful > | extend_interfaces_base |
| Typedef to the base of this class. | |
| typedef extend_interfaces_base::ext_iids | interfaces |
| MPL set of all the implemented interfaces. | |
Protected Types inherited from GaudiCommon< Algorithm > | |
| typedef std::map< std::string, StatEntity > | Statistics |
| the actual type of general counters | |
| typedef std::map< std::string, unsigned int > | Counter |
| the actual type error/warning counter | |
| typedef std::vector< IAlgTool * > | AlgTools |
| storage for active tools | |
| typedef GaudiUtils::HashMap < std::string, SmartIF < IService > > | Services |
| storage for active services | |
Protected Attributes inherited from GaudiCommon< Algorithm > | |
| ICounterSummarySvc * | m_counterSummarySvc |
| a pointer to the CounterSummarySvc | |
| std::vector< std::string > | m_counterList |
| list of counters to declare. Set by property CounterList. This can be a regular expression. | |
| std::vector< std::string > | m_statEntityList |
Static Protected Attributes inherited from GaudiCommon< Algorithm > | |
| static const bool | IgnoreRootInTES |
| Simple definition to be used with the new useRootInTES argument get<TYPE> and put methods. | |
| static const bool | UseRootInTES |
| Simple definition to be used with the new useRootInTES argument get<TYPE> and put methods. | |
Sequencer for executing several algorithms, stopping when one is faulty.
Default behaviour (ModeOR=False) is to execute all algorithms until one returns filterPassed() = False. If ShortCircuit is set to False, then all algorithms will be executed.
In OR mode, the logic is opposite. All algorithms until one returns filterPassed() = True. To then exit one must onter-intuitively set ShortCircuit to False. If the default value ShortCircuit=True is left then all algorithms will be executed.
Definition at line 27 of file GaudiSequencer.h.
| GaudiSequencer::GaudiSequencer | ( | const std::string & | name, |
| ISvcLocator * | pSvcLocator | ||
| ) |
Standard constructor.
Definition at line 20 of file GaudiSequencer.cpp.
|
virtual |
|
private |
Private copy, copy not allowed.
|
virtual |
Algorithm beginRun.
Reimplemented from Algorithm.
Definition at line 160 of file GaudiSequencer.cpp.
|
protected |
Decode a vector of string.
Definition at line 199 of file GaudiSequencer.cpp.
|
virtual |
Algorithm endRun.
Reimplemented from Algorithm.
Definition at line 171 of file GaudiSequencer.cpp.
|
virtual |
Algorithm execution.
Reimplemented from GaudiAlgorithm.
Definition at line 82 of file GaudiSequencer.cpp.
|
virtual |
Algorithm finalization.
Reimplemented from GaudiAlgorithm.
Definition at line 151 of file GaudiSequencer.cpp.
|
virtual |
Algorithm initialization.
Reimplemented from GaudiAlgorithm.
Definition at line 42 of file GaudiSequencer.cpp.
| void GaudiSequencer::membershipHandler | ( | Property & | theProp | ) |
for asynchronous changes in the list of algorithms
Definition at line 371 of file GaudiSequencer.cpp.
|
private |
Private assignment operator: This is not allowed.
|
virtual |
Called before an event processing.
Reimplemented from Algorithm.
Definition at line 182 of file GaudiSequencer.cpp.
|
private |
List of algorithms to process.
Definition at line 82 of file GaudiSequencer.h.
|
private |
True if one continues always.
Definition at line 87 of file GaudiSequencer.h.
|
private |
Indicate that we are ready.
Definition at line 88 of file GaudiSequencer.h.
|
private |
Flag to measure time.
Definition at line 89 of file GaudiSequencer.h.
|
private |
Indicates that the OR is wanted instead of AND.
Definition at line 83 of file GaudiSequencer.h.
|
private |
Input string, list of algorithms.
Definition at line 81 of file GaudiSequencer.h.
|
private |
Forces the sequencer to return a good status.
Definition at line 90 of file GaudiSequencer.h.
|
private |
Indicates whether to stop processing as soon as possible, or to always execute all subalgorithms.
In MOdeOR=True the behaviour is the exact opposite.
Definition at line 84 of file GaudiSequencer.h.
|
private |
Timer number for the sequencer.
Definition at line 92 of file GaudiSequencer.h.
|
private |
Pointer to the timer tool.
Definition at line 91 of file GaudiSequencer.h.