The Gaudi Framework  master (e199b415)
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
AlgContextAuditor Class Reference

#include </builds/gaudi/Gaudi/GaudiAud/src/AlgContextAuditor.h>

Inheritance diagram for AlgContextAuditor:
Collaboration diagram for AlgContextAuditor:

Public Member Functions

void before (StandardEventType evt, INamedInterface *a) override
 
void after (StandardEventType evt, INamedInterface *obj, const StatusCode &sc) override
 
StatusCode initialize () override
 
StatusCode finalize () 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 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
 
 Auditor (std::string name, ISvcLocator *svcloc)
 Constructor. More...
 
 Auditor (const Auditor &a)=delete
 
- Public Member Functions inherited from Auditor
 Auditor (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
 
const std::stringname () const override
 
bool isEnabled () const override
 
SmartIF< ISvcLocator > & serviceLocator () const override
 The standard service locator. More...
 
template<class T >
StatusCode service (std::string_view 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 (std::string_view name, bool createIf=false) const
 
- Public Member Functions inherited from PropertyHolder< CommonMessaging< implements< IAuditor, IProperty > > >
 PropertyHolder ()=default
 
Gaudi::Details::PropertyBasedeclareProperty (Gaudi::Details::PropertyBase &prop)
 Declare a property. More...
 
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...
 
 requires (!Gaudi::Details::is_gaudi_property_v< TYPE >) Gaudi
 Helper to wrap a regular data member and use it as a regular property. More...
 
Gaudi::Details::PropertyBasedeclareRemoteProperty (const std::string &name, IProperty *rsvc, const std::string &rname="")
 Declare a remote property. More...
 
StatusCode setProperty (const std::string &name, const Gaudi::Details::PropertyBase &p) override
 set the property from another property with a different name More...
 
StatusCode setProperty (const std::string &s) override
 set the property from the formatted string More...
 
StatusCode setProperty (const Gaudi::Details::PropertyBase &p)
 Set the property from a property. More...
 
virtual StatusCode setProperty (const std::string &name, const Gaudi::Details::PropertyBase &p)=0
 Set the property from a property with a different name. More...
 
virtual StatusCode setProperty (const std::string &s)=0
 Set the property by string. More...
 
StatusCode setProperty (const std::string &name, const char *v)
 Special case for string literals. More...
 
StatusCode setProperty (const std::string &name, const std::string &v)
 Special case for std::string. More...
 
StatusCode setPropertyRepr (const std::string &n, const std::string &r) override
 set the property from name and value string representation More...
 
StatusCode getProperty (Gaudi::Details::PropertyBase *p) const override
 get the property More...
 
const Gaudi::Details::PropertyBasegetProperty (std::string_view name) const override
 get the property by name More...
 
StatusCode getProperty (std::string_view n, std::string &v) const override
 convert the property to the string More...
 
const std::vector< Gaudi::Details::PropertyBase * > & getProperties () const override
 get all properties More...
 
bool hasProperty (std::string_view name) const override
 Return true if we have a property with the given name. More...
 
Gaudi::Details::PropertyBaseproperty (std::string_view name) const
 \fixme property and bindPropertiesTo should be protected More...
 
void bindPropertiesTo (Gaudi::Interfaces::IOptionsSvc &optsSvc)
 
 PropertyHolder (const PropertyHolder &)=delete
 
PropertyHolderoperator= (const PropertyHolder &)=delete
 
- Public Member Functions inherited from CommonMessaging< implements< IAuditor, IProperty > >
MSG::Level msgLevel () const
 get the cached level (originally extracted from the embedded MsgStream) More...
 
bool msgLevel (MSG::Level lvl) const
 get the output level from the embedded MsgStream More...
 

Private 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
using Factory = Gaudi::PluginService::Factory< IAuditor *(const std::string &, ISvcLocator *)>
 
- 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 CommonMessaging< implements< IAuditor, IProperty > >
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...
 

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 24 of file AlgContextAuditor.h.

Constructor & Destructor Documentation

◆ AlgContextAuditor() [1/2]

AlgContextAuditor::AlgContextAuditor ( )
privatedelete

delete the default/copy constructor and assignment

◆ AlgContextAuditor() [2/2]

AlgContextAuditor::AlgContextAuditor ( const AlgContextAuditor )
privatedelete

Member Function Documentation

◆ after() [1/5]

void Auditor::after
inlineoverride

Definition at line 75 of file Auditor.h.

75 {}

◆ after() [2/5]

void Auditor::after
inlineoverride

Definition at line 74 of file Auditor.h.

74 {}

◆ after() [3/5]

void AlgContextAuditor::after ( StandardEventType  evt,
INamedInterface obj,
const StatusCode sc 
)
override

Definition at line 69 of file AlgContextAuditor.cpp.

69  {
70  switch ( evt ) {
71  case Initialize:
72  case Execute:
73  case Finalize:
74  return call<&IAlgContextSvc::unSetCurrentAlg>( m_svc, a );
75  default:
76  return;
77  }
78 }

◆ after() [4/5]

void Auditor::after
inlineoverride

Definition at line 72 of file Auditor.h.

72 {}

◆ after() [5/5]

void Auditor::after
inlineoverride

Definition at line 71 of file Auditor.h.

71 {}

◆ Auditor() [1/2]

Auditor::Auditor
delete

◆ Auditor() [2/2]

Auditor::Auditor

Constructor.

Parameters
nameThe algorithm object's name
svclocA pointer to a service location service

Definition at line 49 of file Auditor.cpp.

22  : m_name( std::move( name ) ), m_pSvcLocator( pSvcLocator ) {}

◆ before() [1/5]

void Auditor::before
inlineoverride

Definition at line 69 of file Auditor.h.

69 {}

◆ before() [2/5]

void Auditor::before
inlineoverride

Definition at line 68 of file Auditor.h.

68 {}

◆ before() [3/5]

void AlgContextAuditor::before ( StandardEventType  evt,
INamedInterface a 
)
override

Definition at line 58 of file AlgContextAuditor.cpp.

58  {
59  switch ( evt ) {
60  case Initialize:
61  case Execute:
62  case Finalize:
63  return call<&IAlgContextSvc::setCurrentAlg>( m_svc, a );
64  default:
65  return;
66  }
67 }

◆ before() [4/5]

void Auditor::before
inlineoverride

Definition at line 66 of file Auditor.h.

66 {}

◆ before() [5/5]

void Auditor::before
inlineoverride

The following methods are meant to be implemented by the child class...

Definition at line 65 of file Auditor.h.

65 {}

◆ finalize()

StatusCode AlgContextAuditor::finalize ( )
overridevirtual

Reimplemented from Auditor.

Definition at line 53 of file AlgContextAuditor.cpp.

53  {
54  m_svc.reset();
55  return Auditor::finalize();
56 }

◆ initialize()

StatusCode AlgContextAuditor::initialize ( )
overridevirtual

Reimplemented from Auditor.

Definition at line 42 of file AlgContextAuditor.cpp.

42  {
43  return Auditor::initialize().andThen( [&] {
44  m_svc = service( "AlgContextSvc", true );
45  if ( !m_svc ) {
46  error() << "Invalid pointer to IAlgContextSvc" << endmsg;
47  return StatusCode::FAILURE; // RETURN
48  }
49  return StatusCode::SUCCESS;
50  } );
51 }

◆ operator=()

AlgContextAuditor& AlgContextAuditor::operator= ( const AlgContextAuditor )
privatedelete

Member Data Documentation

◆ m_svc

SmartIF<IAlgContextSvc> AlgContextAuditor::m_svc
private

the pointer to Algorithm Context Service

Definition at line 45 of file AlgContextAuditor.h.


The documentation for this class was generated from the following files:
IOTest.evt
evt
Definition: IOTest.py:107
Auditor::initialize
virtual StatusCode initialize()
Definition: Auditor.h:77
StatusCode::andThen
StatusCode andThen(F &&f, ARGS &&... args) const
Chain code blocks making the execution conditional a success result.
Definition: StatusCode.h:164
std::move
T move(T... args)
Auditor::m_name
std::string m_name
Auditor's name for identification.
Definition: Auditor.h:111
SmartIF::reset
void reset(TYPE *ptr=nullptr)
Set the internal pointer to the passed one disposing of the old one.
Definition: SmartIF.h:96
Auditor::m_pSvcLocator
SmartIF< ISvcLocator > m_pSvcLocator
Pointer to service locator service.
Definition: Auditor.h:113
Auditor::finalize
virtual StatusCode finalize()
Definition: Auditor.h:78
endmsg
MsgStream & endmsg(MsgStream &s)
MsgStream Modifier: endmsg. Calls the output method of the MsgStream.
Definition: MsgStream.h:202
StatusCode::SUCCESS
constexpr static const auto SUCCESS
Definition: StatusCode.h:100
AlgContextAuditor::m_svc
SmartIF< IAlgContextSvc > m_svc
the pointer to Algorithm Context Service
Definition: AlgContextAuditor.h:45
StatusCode::FAILURE
constexpr static const auto FAILURE
Definition: StatusCode.h:101
Auditor::name
const std::string & name() const override
Definition: Auditor.h:80
Auditor::service
StatusCode service(std::string_view name, T *&svc, bool createIf=false) const
Access a service by name, creating it if it doesn't already exist.
Definition: Auditor.h:93