The Gaudi Framework  v29r0 (ff2e7097)
AlgContextAuditor Class Reference

Description: Register/Unregister the AlgContext of each algorithm before entering the algorithm and after leaving it. More...

#include <src/AlgContextAuditor.h>

Inheritance diagram for AlgContextAuditor:
Collaboration diagram for AlgContextAuditor:

Public Member Functions

void beforeInitialize (INamedInterface *a) override
 
void afterInitialize (INamedInterface *a) override
 
void beforeExecute (INamedInterface *a) override
 
void afterExecute (INamedInterface *a, const StatusCode &s) override
 
void beforeFinalize (INamedInterface *a) override
 
void afterFinalize (INamedInterface *a) override
 
 AlgContextAuditor (const std::string &name, ISvcLocator *pSvc)
 standard constructor/destructor More...
 
 ~AlgContextAuditor () override=default
 
StatusCode initialize () override
 standard initialization, More...
 
StatusCode finalize () override
 standard finalization, More...
 
- Public Member Functions inherited from Auditor
 Auditor (const std::string &name, ISvcLocator *svcloc)
 Constructor. More...
 
 Auditor (const Auditor &a)=delete
 
Auditoroperator= (const Auditor &rhs)=delete
 
StatusCode sysInitialize () override
 Initialization method invoked by the framework. More...
 
StatusCode sysFinalize () override
 Finalization method invoked by the framework. More...
 
void before (StandardEventType, INamedInterface *) override
 The following methods are meant to be implemented by the child class... More...
 
void before (StandardEventType, const std::string &) override
 
void before (CustomEventTypeRef, INamedInterface *) override
 
void before (CustomEventTypeRef, const std::string &) override
 
void after (StandardEventType, INamedInterface *, const StatusCode &) override
 
void after (StandardEventType, const std::string &, const StatusCode &) override
 
void after (CustomEventTypeRef, INamedInterface *, const StatusCode &) override
 
void after (CustomEventTypeRef, const std::string &, const StatusCode &) override
 
void beforeInitialize (INamedInterface *) override
 
void afterInitialize (INamedInterface *) override
 
void beforeReinitialize (INamedInterface *) override
 
void afterReinitialize (INamedInterface *) override
 
void beforeExecute (INamedInterface *) override
 
void afterExecute (INamedInterface *, const StatusCode &) override
 
void beforeFinalize (INamedInterface *) override
 
void afterFinalize (INamedInterface *) override
 
void beforeBeginRun (INamedInterface *) override
 
void afterBeginRun (INamedInterface *) override
 
void beforeEndRun (INamedInterface *) override
 
void afterEndRun (INamedInterface *) override
 
const std::stringname () const override
 
bool isEnabled () const override
 
SmartIF< ISvcLocator > & serviceLocator () const override
 The standard service locator. More...
 
template<class T >
StatusCode service (const std::string &name, T *&svc, bool createIf=false) const
 Access a service by name, creating it if it doesn't already exist. More...
 
template<class T = IService>
SmartIF< T > service (const std::string &name, bool createIf=false) const
 
StatusCode setProperties ()
 Set the auditor's properties. More...
 
- Public Member Functions inherited from PropertyHolder< CommonMessaging< implements< IAuditor, IProperty > > >
 PropertyHolder ()=default
 
 ~PropertyHolder () override=default
 
Gaudi::Details::PropertyBasedeclareProperty (Gaudi::Details::PropertyBase &prop)
 Declare a property. More...
 
Gaudi::Details::PropertyBasedeclareProperty (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::PropertyBasedeclareProperty (const std::string &name, TYPE &value, const std::string &doc="none") const
 
Gaudi::Details::PropertyBasedeclareProperty (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::PropertyBasedeclareRemoteProperty (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::PropertyBasegetProperty (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
 
PropertyHolderoperator= (const PropertyHolder &)=delete
 
Gaudi::Details::PropertyBasedeclareProperty (const std::string &name, GaudiHandleBase &ref, const std::string &doc="none")
 Specializations for various GaudiHandles. More...
 
Gaudi::Details::PropertyBasedeclareProperty (const std::string &name, GaudiHandleArrayBase &ref, const std::string &doc="none")
 
Gaudi::Details::PropertyBasedeclareProperty (const std::string &name, DataObjectHandleBase &ref, const std::string &doc="none")
 
- Public Member Functions inherited from CommonMessagingBase
virtual ~CommonMessagingBase ()=default
 Virtual destructor. More...
 
SmartIF< IMessageSvc > & msgSvc () const
 The standard message service. More...
 
MsgStreammsgStream () const
 Return an uninitialized MsgStream. More...
 
MsgStreammsgStream (const MSG::Level level) const
 Predefined configurable message stream for the efficient printouts. More...
 
MsgStreamalways () const
 shortcut for the method msgStream(MSG::ALWAYS) More...
 
MsgStreamfatal () const
 shortcut for the method msgStream(MSG::FATAL) More...
 
MsgStreamerr () const
 shortcut for the method msgStream(MSG::ERROR) More...
 
MsgStreamerror () const
 shortcut for the method msgStream(MSG::ERROR) More...
 
MsgStreamwarning () const
 shortcut for the method msgStream(MSG::WARNING) More...
 
MsgStreaminfo () const
 shortcut for the method msgStream(MSG::INFO) More...
 
MsgStreamdebug () const
 shortcut for the method msgStream(MSG::DEBUG) More...
 
MsgStreamverbose () const
 shortcut for the method msgStream(MSG::VERBOSE) More...
 
MsgStreammsg () 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...
 

Private Member Functions

 AlgContextAuditor ()=delete
 delete the default/copy constructor and assignment More...
 
 AlgContextAuditor (const AlgContextAuditor &)=delete
 
AlgContextAuditoroperator= (const AlgContextAuditor &)=delete
 

Private Attributes

SmartIF< IAlgContextSvcm_svc
 the pointer to Algorithm Context Service More...
 

Additional Inherited Members

- Public Types inherited from Auditor
typedef Gaudi::PluginService::Factory< IAuditor *, const std::string &, ISvcLocator * > Factory
 
- Public Types inherited from PropertyHolder< CommonMessaging< implements< IAuditor, IProperty > > >
using PropertyHolderImpl = PropertyHolder< CommonMessaging< implements< IAuditor, IProperty > > >
 Typedef used to refer to this class from derived classes, as in. More...
 
- Public Types inherited from CommonMessaging< implements< IAuditor, IProperty > >
using base_class = CommonMessaging
 
- Protected Member Functions inherited from PropertyHolder< CommonMessaging< implements< IAuditor, IProperty > > >
Gaudi::Details::PropertyBaseproperty (const std::string &name) const
 
- Protected Member Functions inherited from CommonMessaging< implements< IAuditor, IProperty > >
void updateMsgStreamOutputLevel (int level)
 Update the output level of the cached MsgStream. More...
 

Detailed Description

Description: Register/Unregister the AlgContext of each algorithm before entering the algorithm and after leaving it.

Author
M. Shapiro, LBNL
modified by Vanya BELYAEV ibely.nosp@m.aev@.nosp@m.physi.nosp@m.cs.s.nosp@m.yr.ed.nosp@m.u

Definition at line 21 of file AlgContextAuditor.h.

Constructor & Destructor Documentation

AlgContextAuditor::AlgContextAuditor ( const std::string name,
ISvcLocator pSvc 
)

standard constructor/destructor

See also
Auditor

Definition at line 36 of file AlgContextAuditor.cpp.

36 : Auditor( name, pSvc ) {}
Auditor(const std::string &name, ISvcLocator *svcloc)
Constructor.
Definition: Auditor.cpp:12
AlgContextAuditor::~AlgContextAuditor ( )
overridedefault
AlgContextAuditor::AlgContextAuditor ( )
privatedelete

delete the default/copy constructor and assignment

AlgContextAuditor::AlgContextAuditor ( const AlgContextAuditor )
privatedelete

Member Function Documentation

void AlgContextAuditor::afterExecute ( INamedInterface a,
const StatusCode s 
)
override

Definition at line 74 of file AlgContextAuditor.cpp.

75 {
76  call<&IAlgContextSvc::unSetCurrentAlg>( m_svc, a );
77 }
SmartIF< IAlgContextSvc > m_svc
the pointer to Algorithm Context Service
void AlgContextAuditor::afterFinalize ( INamedInterface a)
override

Definition at line 70 of file AlgContextAuditor.cpp.

70 { call<&IAlgContextSvc::unSetCurrentAlg>( m_svc, a ); }
SmartIF< IAlgContextSvc > m_svc
the pointer to Algorithm Context Service
void AlgContextAuditor::afterInitialize ( INamedInterface a)
override

Definition at line 66 of file AlgContextAuditor.cpp.

66 { call<&IAlgContextSvc::unSetCurrentAlg>( m_svc, a ); }
SmartIF< IAlgContextSvc > m_svc
the pointer to Algorithm Context Service
void AlgContextAuditor::beforeExecute ( INamedInterface a)
override

Definition at line 72 of file AlgContextAuditor.cpp.

72 { call<&IAlgContextSvc::setCurrentAlg>( m_svc, a ); }
SmartIF< IAlgContextSvc > m_svc
the pointer to Algorithm Context Service
void AlgContextAuditor::beforeFinalize ( INamedInterface a)
override

Definition at line 68 of file AlgContextAuditor.cpp.

68 { call<&IAlgContextSvc::setCurrentAlg>( m_svc, a ); }
SmartIF< IAlgContextSvc > m_svc
the pointer to Algorithm Context Service
void AlgContextAuditor::beforeInitialize ( INamedInterface a)
override

Definition at line 64 of file AlgContextAuditor.cpp.

64 { call<&IAlgContextSvc::setCurrentAlg>( m_svc, a ); }
SmartIF< IAlgContextSvc > m_svc
the pointer to Algorithm Context Service
StatusCode AlgContextAuditor::finalize ( )
overridevirtual

standard finalization,

See also
IAuditor

Reimplemented from Auditor.

Definition at line 57 of file AlgContextAuditor.cpp.

58 {
59  m_svc.reset();
60  // finalize the base class
61  return Auditor::finalize();
62 }
virtual StatusCode finalize()
Definition: Auditor.cpp:200
SmartIF< IAlgContextSvc > m_svc
the pointer to Algorithm Context Service
void reset(TYPE *ptr=nullptr)
Set the internal pointer to the passed one disposing of the old one.
Definition: SmartIF.h:92
StatusCode AlgContextAuditor::initialize ( )
overridevirtual

standard initialization,

See also
IAuditor

Reimplemented from Auditor.

Definition at line 40 of file AlgContextAuditor.cpp.

41 {
42  // initialize the base class
44  if ( sc.isFailure() ) {
45  return sc;
46  } // RETURN
47  m_svc = service( "AlgContextSvc", true );
48  if ( !m_svc ) {
49  error() << "Invalid pointer to IAlgContextSvc" << endmsg;
50  return StatusCode::FAILURE; // RETURN
51  }
52  return StatusCode::SUCCESS;
53 }
StatusCode service(const std::string &name, T *&svc, bool createIf=false) const
Access a service by name, creating it if it doesn&#39;t already exist.
Definition: Auditor.h:109
SmartIF< IAlgContextSvc > m_svc
the pointer to Algorithm Context Service
bool isFailure() const
Test for a status code of FAILURE.
Definition: StatusCode.h:86
MsgStream & error() const
shortcut for the method msgStream(MSG::ERROR)
This class is used for returning status codes from appropriate routines.
Definition: StatusCode.h:28
virtual StatusCode initialize()
Definition: Auditor.cpp:70
MsgStream & endmsg(MsgStream &s)
MsgStream Modifier: endmsg. Calls the output method of the MsgStream.
Definition: MsgStream.h:209
AlgContextAuditor& AlgContextAuditor::operator= ( const AlgContextAuditor )
privatedelete

Member Data Documentation

SmartIF<IAlgContextSvc> AlgContextAuditor::m_svc
private

the pointer to Algorithm Context Service

Definition at line 51 of file AlgContextAuditor.h.


The documentation for this class was generated from the following files: