![]() |
The Gaudi Framework
v30r4 (9b837755)
|
The useful base class for tools. More...
#include <GaudiTools/GaudiTool.h>


Public Member Functions | |
| StatusCode | initialize () override |
| standard initialization method More... | |
| StatusCode | finalize () override |
| standard finalization method More... | |
| INTupleSvc * | ntupleSvc () const |
| Access the standard N-Tuple. More... | |
| INTupleSvc * | evtColSvc () const |
| Access the standard event collection service. More... | |
| IDataProviderSvc * | detSvc () const |
| accessor to detector service More... | |
| IIncidentSvc * | incSvc () const |
| accessor to Incident Service More... | |
| IChronoStatSvc * | chronoSvc () const |
| accessor to Chrono & Stat Service More... | |
| IHistogramSvc * | histoSvc () const |
| acessor to the histogram service More... | |
| IAlgContextSvc * | contextSvc () const |
| acessor to the Algorithm Context Service More... | |
| 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. More... | |
| void | put (IDataProviderSvc *svc, std::unique_ptr< DataObject > object, const std::string &address, const bool useRootInTES=true) const |
| const DataObject * | put (DataObject *object, const std::string &address, const bool useRootInTES=true) const |
| Register a data object or container into Gaudi Event Transient Store. More... | |
| const DataObject * | put (std::unique_ptr< DataObject > object, const std::string &address, const bool useRootInTES=true) const |
| 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. More... | |
| 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. More... | |
| 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. More... | |
| 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. More... | |
| template<class TYPE > | |
| TYPE * | getDet (IDataProviderSvc *svc, const std::string &location) const |
| Templated access to the detector data from the Gaudi Detector Transient Store. More... | |
| 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. More... | |
| template<class TYPE > | |
| TYPE * | getDet (const std::string &location) const |
| Templated access to the detector data from the Gaudi Detector Transient Store. More... | |
| 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. More... | |
| 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. More... | |
| 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. More... | |
| template<class TYPE > | |
| bool | existDet (IDataProviderSvc *svc, const std::string &location) const |
| Check the existence of detector objects in the Gaudi Transient Detector Store. More... | |
| template<class TYPE > | |
| bool | existDet (const std::string &location) const |
| Check the existence of detector objects in the Gaudi Transient Detector Store. More... | |
| 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. More... | |
| 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. More... | |
| 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. More... | |
| 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. More... | |
| 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. More... | |
| GaudiTool (const std::string &type, const std::string &name, const IInterface *parent) | |
| Standard constructor. More... | |
| ~GaudiTool () override | |
| destructor, virtual and protected More... | |
Public Member Functions inherited from GaudiCommon< AlgTool > | |
| 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. More... | |
| 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. More... | |
| 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. More... | |
| 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. More... | |
| DataObject * | put (IDataProviderSvc *svc, std::unique_ptr< DataObject > object, const std::string &location, const bool useRootInTES=true) const |
| Register a data object or container into Gaudi Event Transient Store. More... | |
| DataObject * | put (IDataProviderSvc *svc, DataObject *object, const std::string &location, const bool useRootInTES=true) const |
| 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. More... | |
| TOOL * | tool (const std::string &type, const IInterface *parent=0, bool create=true) const |
| A useful method for the easy location of tools. More... | |
| SmartIF< SERVICE > | svc (const std::string &name, const bool create=true) const |
| A useful method for the easy location of services. More... | |
| IUpdateManagerSvc * | updMgrSvc () const |
| Short-cut to locate the Update Manager Service. More... | |
| WARN_UNUSED 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. More... | |
| WARN_UNUSED 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. More... | |
| WARN_UNUSED 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. More... | |
| WARN_UNUSED 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. More... | |
| 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. More... | |
| 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. More... | |
| void | Exception (const std::string &msg, const GaudiException &exc, const StatusCode sc=StatusCode(StatusCode::FAILURE, true)) const |
| Create and (re)-throw a given GaudiException. More... | |
| 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. More... | |
| 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. More... | |
| const Statistics | counters () const |
| accessor to all counters More... | |
| StatEntity & | counter (const std::string &tag) const |
| accessor to certain counter by name More... | |
| StatEntity & | counter (const std::string &tag) |
| void | registerCounter (const std::string &tag, Gaudi::Accumulators::PrintableCounter &r) |
| bool | typePrint () const |
| Insert the actual C++ type of the algorithm/tool in the messages ? More... | |
| bool | propsPrint () const |
| Print properties at initialization ? More... | |
| bool | statPrint () const |
| Print statistical counters at finalization ? More... | |
| bool | errorsPrint () const |
| Print error counters at finalization ? More... | |
| long | printStat (const MSG::Level level=MSG::ALWAYS) const |
| perform the actual printout of statistical counters More... | |
| long | printErrors (const MSG::Level level=MSG::ALWAYS) const |
| perform the actual printout of error counters More... | |
| long | printProps (const MSG::Level level=MSG::ALWAYS) const |
| perform the actual printout of properties More... | |
| void | registerCondition (const std::string &condition, StatusCode(CallerClass::*mf)()=nullptr) |
| register the current instance to the UpdateManagerSvc as a consumer for a condition. More... | |
| 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. More... | |
| void | registerCondition (char *condition, StatusCode(CallerClass::*mf)()=NULL) |
| just to avoid conflicts with the version using a pointer to a template class. More... | |
| void | registerCondition (TargetClass *condition, StatusCode(CallerClass::*mf)()=NULL) |
| register the current instance to the UpdateManagerSvc as a consumer for a condition. More... | |
| StatusCode | runUpdate () |
| asks the UpdateManagerSvc to perform an update of the instance (if needed) without waiting the next BeginEvent incident. More... | |
| GaudiCommon (const std::string &name, ISvcLocator *pSvcLocator) | |
| Algorithm constructor - the SFINAE constraint below ensures that this is constructor is only defined if PBASE derives from Algorithm. More... | |
| GaudiCommon (const std::string &type, const std::string &name, const IInterface *ancestor) | |
| Tool constructor - SFINAE-ed to insure this constructor is only defined if PBASE derives from AlgTool. More... | |
| StatusCode | initialize () override |
| standard initialization method More... | |
| StatusCode | finalize () override |
| standard finalization method More... | |
| StatusCode | release (const IInterface *interface) const |
| Manual forced (and 'safe') release of the active tool or service. More... | |
| const Services & | services () const |
| get the list of aquired services More... | |
| const std::string & | context () const |
| Returns the "context" string. Used to identify different processing states. More... | |
| const std::string & | rootInTES () const |
| Returns the "rootInTES" string. More... | |
| const std::string | fullTESLocation (const std::string &location, const bool useRootInTES) const |
| Returns the full correct event location given the rootInTes settings. More... | |
Public Member Functions inherited from AlgTool | |
| StatusCode | queryInterface (const InterfaceID &riid, void **ppvUnknown) override |
| Query for a given interface. More... | |
| const std::string & | name () const override |
| Retrieve full identifying name of the concrete tool object. More... | |
| const std::string & | type () const override |
| Retrieve type (concrete class) of the sub-algtool. More... | |
| const IInterface * | parent () const override |
| Retrieve parent of the sub-algtool. More... | |
| StatusCode | configure () override |
| StatusCode | initialize () override |
| StatusCode | start () override |
| StatusCode | stop () override |
| StatusCode | finalize () override |
| StatusCode | terminate () override |
| StatusCode | reinitialize () override |
| StatusCode | restart () override |
| Gaudi::StateMachine::State | FSMState () const override |
| Gaudi::StateMachine::State | targetFSMState () const override |
| StatusCode | sysInitialize () override |
| Initialize AlgTool. More... | |
| StatusCode | sysStart () override |
| Start AlgTool. More... | |
| StatusCode | sysStop () override |
| Stop AlgTool. More... | |
| StatusCode | sysFinalize () override |
| Finalize AlgTool. More... | |
| StatusCode | sysReinitialize () override |
| Initialize AlgTool. More... | |
| StatusCode | sysRestart () override |
| Start AlgTool. More... | |
| AlgTool (const std::string &type, const std::string &name, const IInterface *parent) | |
| Standard Constructor. More... | |
| SmartIF< ISvcLocator > & | serviceLocator () const override |
| Retrieve pointer to service locator. More... | |
| ISvcLocator * | svcLoc () const |
| shortcut for the method service locator More... | |
| IDataProviderSvc * | evtSvc () const |
| accessor to event service service More... | |
| SmartIF< IDataProviderSvc > & | eventSvc () const final override |
| Added for interface compatibility with Algorithm. More... | |
| IToolSvc * | toolSvc () const |
| The standard ToolSvc service, Return a pointer to the service if present. More... | |
| StatusCode | setProperties () |
| Method for setting declared properties to the values specified in the jobOptions via the job option service. More... | |
| template<class T > | |
| StatusCode | service (const std::string &name, T *&svc, 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 &type, const std::string &name, T *&svc) const |
| Access a service by name, 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<typename T > | |
| SmartIF< T > | service (const std::string &name, const bool createIf=true, const bool quiet=false) const |
| template<class T > | |
| Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, ToolHandle< T > &hndl, const std::string &doc="none") |
| template<class T > | |
| StatusCode | declareTool (ToolHandle< T > &handle, bool createIf=true) |
| template<class T > | |
| StatusCode | declareTool (ToolHandle< T > &handle, std::string toolTypeAndName, bool createIf=true) |
| template<class T > | |
| Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, ToolHandleArray< T > &hndlArr, const std::string &doc="none") |
| template<class T > | |
| void | addToolsArray (ToolHandleArray< T > &hndlArr) |
| void | registerTool (IAlgTool *tool) const |
| void | deregisterTool (IAlgTool *tool) const |
| const std::vector< IAlgTool * > & | tools () const |
| IAuditorSvc * | auditorSvc () const |
| Access the auditor service. More... | |
| 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... | |
| ~AlgTool () override | |
Public Member Functions inherited from DataHandleHolderBase< PropertyHolder< CommonMessaging< implements< IAlgTool, IDataHandleHolder, IProperty, IStateful > > > > | |
| DataHandleHolderBase (Args &&...args) | |
| NOTE: Cannot use "using Super::Super;" due to a GCC 6 bug. More... | |
| void | registerDataHandle (Gaudi::v2::DataHandle &handle) final override |
| Register a data handle of this algorithm/tool. More... | |
| void | addDataDependency (const DataObjID &key, AccessMode access) final override |
| Add a data dependency, even after initialization. More... | |
| const DataObjIDColl & | dataDependencies (AccessMode access) const final override |
| Tell which whiteboard keys the algorithm will be reading or writing. More... | |
| void | declare (Gaudi::v1::DataHandle &handle) override |
| Declare ownership of a legacy DataHandle. More... | |
| void | renounce (Gaudi::v1::DataHandle &handle) override |
| Discard ownership of a legacy DataHandle. More... | |
| const DataObjIDColl * | allDataDependencies () const final override |
Public Member Functions inherited from extends< PropertyHolder< CommonMessaging< implements< IAlgTool, 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< IAlgTool, 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 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 |
Public Member Functions inherited from CommonMessaging< implements< IAlgTool, 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... | |
| MSG::Level | outputLevel () const |
| Backward compatibility function for getting the output level. More... | |
Public Member Functions inherited from CommonMessagingBase | |
| virtual | ~CommonMessagingBase ()=default |
| Virtual destructor. More... | |
| const 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... | |
Static Public Member Functions | |
| static bool | enableSummary (bool) |
| enable/disable summary More... | |
| static bool | summaryEnabled () |
| is summary enabled? More... | |
Private Member Functions | |
| GaudiTool ()=delete | |
| no default/copy constructor, no assignment More... | |
| GaudiTool (const GaudiTool &)=delete | |
| GaudiTool & | operator= (const GaudiTool &)=delete |
| bool | isPublic () const |
| Determines if this tool is public or not (i.e. owned by the ToolSvc). More... | |
| std::string | getCurrentAlgName () const |
| Returns the current active algorithm name via the context service. More... | |
Private Attributes | |
| SmartIF< INTupleSvc > | m_ntupleSvc |
| pointer to the N-Tuple service More... | |
| SmartIF< INTupleSvc > | m_evtColSvc |
| pointer to the event tag collection service More... | |
| SmartIF< IDataProviderSvc > | m_detSvc |
| pointer to Detector Data Service More... | |
| SmartIF< IChronoStatSvc > | m_chronoSvc |
| pointer to Chrono & Stat Service More... | |
| SmartIF< IIncidentSvc > | m_incSvc |
| pointer to Incident Service More... | |
| SmartIF< IHistogramSvc > | m_histoSvc |
| pointer for histogram service More... | |
| SmartIF< IAlgContextSvc > | m_contextSvc |
| Algorithm Context Service. More... | |
| Gaudi::Property< std::string > | m_contextSvcName |
| bool | m_isPublic = false |
| Flag to say if the tool is a public or private tool. More... | |
| const std::string | m_local |
| full tool name "type/name" More... | |
Static Private Attributes | |
| static bool | s_enableSummary = true |
| enable printout of summary? More... | |
Additional Inherited Members | |
Public Types inherited from AlgTool | |
| using | Factory = Gaudi::PluginService::Factory< IAlgTool *(const std::string &, const std::string &, const IInterface *)> |
Public Types inherited from extends< PropertyHolder< CommonMessaging< implements< IAlgTool, IDataHandleHolder, IProperty, IStateful > > >, IDataHandleHolder > | |
| using | base_class = extends |
| Typedef to this class. More... | |
| using | extend_interfaces_base = extend_interfaces< Interfaces... > |
| Typedef to the base of this class. More... | |
Public Types inherited from PropertyHolder< CommonMessaging< implements< IAlgTool, IDataHandleHolder, IProperty, IStateful > > > | |
| using | PropertyHolderImpl = PropertyHolder< CommonMessaging< implements< IAlgTool, IDataHandleHolder, IProperty, IStateful > > > |
| Typedef used to refer to this class from derived classes, as in. More... | |
Public Types inherited from CommonMessaging< implements< IAlgTool, IDataHandleHolder, IProperty, IStateful > > | |
| using | base_class = CommonMessaging |
Public Types inherited from extend_interfaces< Interfaces... > | |
| using | ext_iids = typename Gaudi::interface_list_cat< typename Interfaces::ext_iids... >::type |
| take union of the ext_iids of all Interfaces... More... | |
Protected Types inherited from GaudiCommon< AlgTool > | |
| using | base_class = AlgTool |
| typedef std::map< std::string, StatEntity > | StatisticsOwn |
| the actual type of general counters More... | |
| typedef std::map< std::string, std::reference_wrapper< Gaudi::Accumulators::PrintableCounter > > | Statistics |
| typedef std::map< std::string, unsigned int > | Counter |
| the actual type error/warning counter More... | |
| typedef std::vector< IAlgTool * > | AlgTools |
| storage for active tools More... | |
| typedef std::vector< SmartIF< IService > > | Services |
| storage for active services More... | |
Protected Types inherited from DataHandleHolderBase< PropertyHolder< CommonMessaging< implements< IAlgTool, IDataHandleHolder, IProperty, IStateful > > > > | |
| enum | CircularDepAction |
| A circular dependency handling action. More... | |
| using | DataObjIDMapping = std::function< boost::optional< DataObjID >(const DataObjID &)> |
| DataObjID mapping function, with optimized identity mapping case. More... | |
| using | CircularDepHandler = std::function< CircularDepAction(const DataObjID &)> |
| A circular dependency handler, which can take any user-specified step (e.g. More... | |
Protected Member Functions inherited from GaudiCommon< AlgTool > | |
| StatusCode | releaseTool (const IAlgTool *tool) const |
| manual forced (and 'safe') release of the tool More... | |
| StatusCode | releaseSvc (const IInterface *svc) const |
| manual forced (and 'safe') release of the service More... | |
Protected Member Functions inherited from AlgTool | |
| template<typename I > | |
| void | declareInterface (I *i) |
| std::vector< IAlgTool * > & | tools () |
Protected Member Functions inherited from DataHandleHolderBase< PropertyHolder< CommonMessaging< implements< IAlgTool, IDataHandleHolder, IProperty, IStateful > > > > | |
| void | updateDataDependencies (const DataObjIDMapping &keyMap) |
| Update the key of each registered data dependency, using a user-defined mapping from the old to the new key. More... | |
| void | collectExplicitDataDependencies () |
| Collect all explicit data dependencies in a single place. More... | |
| StatusCode | handleCircularDataDependencies (CircularDepHandler &&circularDepHandler) |
| Look for circular dependencies and let a user-specified handler deal with each of them. More... | |
| void | collectImplicitDataDependencies (const IDataHandleHolder *child) |
| Add the dependencies of another DataHandleHolder to our dependency list. More... | |
| const DataObjIDColl & | ignoredDataDependencies (AccessMode access) const |
| Tell which data dependencies have been ignored due to an empty key. More... | |
| void | initializeDataHandleHolder () |
| Initialize the DataHandles. More... | |
Protected Member Functions inherited from PropertyHolder< CommonMessaging< implements< IAlgTool, IDataHandleHolder, IProperty, IStateful > > > | |
| Gaudi::Details::PropertyBase * | property (const std::string &name) const |
Protected Member Functions inherited from CommonMessaging< implements< IAlgTool, IDataHandleHolder, IProperty, IStateful > > | |
| MSG::Level | setUpMessaging () const |
| Set up local caches. More... | |
| MSG::Level | resetMessaging () |
| Reinitialize internal states. More... | |
| void | updateMsgStreamOutputLevel (int level) |
| Update the output level of the cached MsgStream. More... | |
Protected Attributes inherited from GaudiCommon< AlgTool > | |
| SmartIF< ICounterSummarySvc > | m_counterSummarySvc |
| a pointer to the CounterSummarySvc More... | |
Protected Attributes inherited from AlgTool | |
| DataObjIDMapping | m_updateDependencies |
| Hook for for derived classes to alter the DataObjID of dependencies. More... | |
Static Protected Attributes inherited from GaudiCommon< AlgTool > | |
| static const bool | IgnoreRootInTES |
| Simple definition to be used with the new useRootInTES argument get<TYPE> and put methods. More... | |
| static const bool | UseRootInTES |
| Simple definition to be used with the new useRootInTES argument get<TYPE> and put methods. More... | |
The useful base class for tools.
Small extension of ordinary the AlgTool base class.
This base class allows "easy"(=="1 line") access to tools and services. This access is safe in the sense that there is no need to worry about the reference counts for tools and services.
The base class allows "easy" (=="1 line") access to data in Gaudi Transient Stores. The functionality includes the checking of the presence of the data at the given location, checking the validity of the data, retrieval of valid data and "forced" retrieve of valid data (create if there is no data).
The base class allows to perform an easy error, warning and exception treatments, including the accumulated statistics of exceptions, errors and warnings.
The base class also includes utilities for general statistical counters.
It has been reported that usage of this base class results in significant reduction of existing code lines.
Definition at line 101 of file GaudiTool.h.
| GaudiTool::GaudiTool | ( | const std::string & | type, |
| const std::string & | name, | ||
| const IInterface * | parent | ||
| ) |
Standard constructor.
| type | tool type (useless) |
| name | tool name |
| parent | pointer to parent object (service, algorithm or tool) |
Definition at line 138 of file GaudiTool.cpp.
|
override |
|
privatedelete |
no default/copy constructor, no assignment
|
privatedelete |
| IChronoStatSvc * GaudiTool::chronoSvc | ( | ) | const |
accessor to Chrono & Stat Service
Definition at line 247 of file GaudiTool.cpp.
| IAlgContextSvc * GaudiTool::contextSvc | ( | ) | const |
acessor to the Algorithm Context Service
Definition at line 263 of file GaudiTool.cpp.
| IDataProviderSvc * GaudiTool::detSvc | ( | ) | const |
accessor to detector service
Definition at line 215 of file GaudiTool.cpp.
|
static |
enable/disable summary
Definition at line 123 of file GaudiTool.cpp.
|
inline |
Print the error message and return with the given StatusCode.
Also performs statistical analysis of the error messages and suppression after the defined number of error instances.
| msg | Error message |
| st | StatusCode to return |
| mx | Maximum number of printouts for this message |
Definition at line 682 of file GaudiTool.h.
| INTupleSvc * GaudiTool::evtColSvc | ( | ) | const |
Access the standard event collection service.
Definition at line 231 of file GaudiTool.cpp.
|
inline |
Check the existence of a data object or container in the Gaudi Transient Event Store.
| svc | Pointer to data service (data provider) |
| location | Address in Gaudi Transient Event Store |
| useRootInTES | Flag to turn on(TRUE) off(FALSE) the use of the RootInTES location property |
| true | Data object or container exists and implements a proper interface |
| true | Failed to locate the data object or container |
Definition at line 516 of file GaudiTool.h.
|
inline |
Check the existence of a data object or container in the Gaudi Transient Event Store.
| location | Address in Gaudi Transient Event Store |
| true | Data object or container exists and implements a proper interface |
| true | Failed to locate the data object or container |
Definition at line 544 of file GaudiTool.h.
|
inline |
Check the existence of detector objects in the Gaudi Transient Detector Store.
| svc | Pointer to data service (data provider) |
| location | Address in Gaudi Transient Detector Store |
| true | Detector object exists and implements a proper interface |
| false | Failed to locate the data object |
Definition at line 566 of file GaudiTool.h.
|
inline |
Check the existence of detector objects in the Gaudi Transient Detector Store.
| location | Address in Gaudi Transient Detector Store |
| true | Detector object exists and implements a proper interface |
| false | Failed to locate the data object |
Definition at line 587 of file GaudiTool.h.
|
override |
standard finalization method
Definition at line 171 of file GaudiTool.cpp.
|
inline |
Templated access to the data in Gaudi Transient Store.
Quick and safe access to the data in Gaudi transient store. The method located the data at given address and perform the debug printout about located data
| GaudiException | for Invalid Data Provider Service |
| GaudiException | for invalid/unavailable data |
| svc | Pointer to data service (data provider) |
| location | data location/address in Gaudi Transient Store |
| useRootInTES | Flag to turn on(TRUE) off(FALSE) the use of the RootInTES location property |
Definition at line 270 of file GaudiTool.h.
|
inline |
Templated access to the data from Gaudi Event Transient Store.
Quick and safe access to the data in Gaudi transient store.
The method located the data at the given address and perform the debug printout about located data.
| location | Data location/address in Gaudi Transient Store |
| useRootInTES | Flag to turn on(TRUE) off(FALSE) the use of the RootInTES location property |
Definition at line 342 of file GaudiTool.h.
|
inlineprivate |
Returns the current active algorithm name via the context service.
Definition at line 767 of file GaudiTool.h.
|
inline |
Templated access to the detector data from the Gaudi Detector Transient Store.
Quick and safe access to the detector data in Gaudi transient store.
The method located the detector at the given address and perform the debug printout about located detector.
| svc | Pointer to data service (data provider) |
| location | Detector location/address in Gaudi Transient Store |
Definition at line 406 of file GaudiTool.h.
|
inline |
Templated access to the detector data from the Gaudi Detector Transient Store.
Quick and safe access to the detector data in Gaudi transient store.
The method located the detector at the given address and perform the debug printout about located detector.
| location | Detector location/address in Gaudi Transient Store |
Definition at line 458 of file GaudiTool.h.
|
inline |
Templated access to the detector data from the Gaudi Detector Transient Store.
Quick and safe access to the detector data in Gaudi transient store.
The method located the detector at the given address and perform the debug printout about located detector.
Skips the check on the data as performed by 'get'. No exception is thrown if the data is missing.
| svc | Pointer to data service (data provider) |
| location | Detector location/address in Gaudi Transient Store |
| NULL | If the detector object does not exist. |
Definition at line 434 of file GaudiTool.h.
|
inline |
Templated access to the detector data from the Gaudi Detector Transient Store.
Quick and safe access to the detector data in Gaudi transient store.
The method located the detector at the given address and perform the debug printout about located detector.
Skips the check on the data as performed by 'get'. No exception is thrown if the data is missing.
| location | Detector location/address in Gaudi Transient Store |
| NULL | If the detector object does not exist. |
Definition at line 485 of file GaudiTool.h.
|
inline |
Templated access to the data in Gaudi Transient Store.
Quick and safe access to the data in Gaudi transient store. The method located the data at given address and perform the debug printout about located data.
Skips the check on the data as performed by 'get'. No exception is thrown if the data is missing.
| svc | Pointer to data service (data provider) |
| location | data location/address in Gaudi Transient Store |
| useRootInTES | Flag to turn on(TRUE) off(FALSE) the use of the RootInTES location property |
| NULL | If data does not exist. |
Definition at line 311 of file GaudiTool.h.
|
inline |
Templated access to the data in Gaudi Transient Store.
Quick and safe access to the data in Gaudi transient store. The method located the data at given address and perform the debug printout about located data.
Skips the check on the data as performed by 'get'. No exception is thrown if the data is missing.
| location | data location/address in Gaudi Transient Store |
| useRootInTES | Flag to turn on(TRUE) off(FALSE) the use of the RootInTES location property |
| NULL | If data does not exist. |
Definition at line 381 of file GaudiTool.h.
|
inline |
Get the existing data object from Gaudi Event Transient store.
Alternatively, create new object and register it in TES and return if object does not exist.
| GaudiException | for Invalid Data Provider Service |
| GaudiException | for invalid/unavailable data |
| svc | Pointer to data service (data provider) |
| location | Location in Gaudi Transient Event Store |
| useRootInTES | Flag to turn on(TRUE) off(FALSE) the use of the RootInTES location property |
Definition at line 620 of file GaudiTool.h.
|
inline |
Get the existing data object from Gaudi Event Transient store.
Alternatively, create new object and register it in TES and return if object does not exist.
| GaudiException | for Invalid Data Provider Service |
| GaudiException | for invalid/unavailable data |
| location | Location in Gaudi Transient Event Store |
| useRootInTES | Flag to turn on(TRUE) off(FALSE) the use of the RootInTES location property |
Definition at line 651 of file GaudiTool.h.
| IHistogramSvc * GaudiTool::histoSvc | ( | ) | const |
acessor to the histogram service
Definition at line 255 of file GaudiTool.cpp.
| IIncidentSvc * GaudiTool::incSvc | ( | ) | const |
Definition at line 239 of file GaudiTool.cpp.
|
inline |
Print the info message and return with the given StatusCode.
Also performs statistical analysis of the info messages and suppression after the defined number of instances.
| msg | Info message |
| st | StatusCode to return |
| mx | Maximum number of printouts for this message |
Definition at line 730 of file GaudiTool.h.
|
override |
standard initialization method
Definition at line 151 of file GaudiTool.cpp.
|
private |
Determines if this tool is public or not (i.e. owned by the ToolSvc).
Definition at line 196 of file GaudiTool.cpp.
| INTupleSvc * GaudiTool::ntupleSvc | ( | ) | const |
Access the standard N-Tuple.
Definition at line 223 of file GaudiTool.cpp.
|
inline |
Register a data object or container into Gaudi Event Transient Store.
| svc | Pointer to data provider service |
| object | Data object or container to be registered |
| address | Address in Gaudi Event Transient Store ("/Event" could be omitted ) |
| useRootInTES | Flag to turn on(TRUE) off(FALSE) the use of the RootInTES location property |
| GaudiException | for invalid event data service |
| GaudiException | for invalid object |
| GaudiException | for error result from event data service |
| StatusCode::SUCCESS | Data was successfully placed in the TES. |
| StatusCode::FAILURE | Failed to store data in the TES. |
Definition at line 189 of file GaudiTool.h.
|
inline |
Definition at line 194 of file GaudiTool.h.
|
inline |
Register a data object or container into Gaudi Event Transient Store.
| object | Data object or container to be registered |
| address | Address in Gaudi Event Transient Store ("/Event" could be omitted ) |
| useRootInTES | Flag to turn on(TRUE) off(FALSE) the use of the RootInTES location property |
| GaudiException | for invalid event data service |
| GaudiException | for invalid object |
| GaudiException | for error result from event data service |
| StatusCode::SUCCESS | Data was successfully placed in the TES. |
| StatusCode::FAILURE | Failed to store data in the TES. |
Definition at line 228 of file GaudiTool.h.
|
inline |
Definition at line 232 of file GaudiTool.h.
|
static |
is summary enabled?
Definition at line 131 of file GaudiTool.cpp.
|
inline |
Print the warning message and return with the given StatusCode.
Also performs statistical analysis of the warning messages and suppression after the defined number of error instances.
| msg | Warning message |
| st | StatusCode to return |
| mx | Maximum number of printouts for this message |
Definition at line 710 of file GaudiTool.h.
|
mutableprivate |
pointer to Chrono & Stat Service
Definition at line 783 of file GaudiTool.h.
|
mutableprivate |
Definition at line 789 of file GaudiTool.h.
|
private |
Definition at line 791 of file GaudiTool.h.
|
mutableprivate |
pointer to Detector Data Service
Definition at line 781 of file GaudiTool.h.
|
mutableprivate |
pointer to the event tag collection service
Definition at line 779 of file GaudiTool.h.
|
mutableprivate |
pointer for histogram service
Definition at line 787 of file GaudiTool.h.
|
mutableprivate |
Definition at line 785 of file GaudiTool.h.
|
private |
Flag to say if the tool is a public or private tool.
Definition at line 797 of file GaudiTool.h.
|
private |
full tool name "type/name"
Definition at line 802 of file GaudiTool.h.
|
mutableprivate |
pointer to the N-Tuple service
Definition at line 777 of file GaudiTool.h.
|
staticprivate |