| # Gaudi Framework, version v23r1 |

Home |  | Generated: Wed Feb 29 2012

Public Member Functions | Private Member Functions | Private Attributes

# AlgContextAuditor Class Reference

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

`#include <AlgContextAuditor.h>`

Inheritance diagram for AlgContextAuditor:
[legend]
Collaboration diagram for AlgContextAuditor:
[legend]

List of all members.

## Public Member Functions
virtual void | beforeInitialize (INamedInterface *a)
virtual void | afterInitialize (INamedInterface *a)
virtual void | beforeExecute (INamedInterface *a)
virtual void | afterExecute (INamedInterface *a, const StatusCode &s)
virtual void | beforeFinalize (INamedInterface *a)
virtual void | afterFinalize (INamedInterface *a)
| AlgContextAuditor (const std::string &name, ISvcLocator *pSvc)
| standard constructor
virtual | ~AlgContextAuditor ()
| virtual destructor
virtual StatusCode | initialize ()
| standard initialization,
virtual StatusCode | finalize ()
| standard finalization,
## Private Member Functions
| AlgContextAuditor ()
| the default constructor is disabled
| AlgContextAuditor (const AlgContextAuditor &)
| copy constructor is disabled
AlgContextAuditor & | operator= (const AlgContextAuditor &)
| assignment operator is disabled
## Private Attributes
IAlgContextSvc * | m_svc
| the pointer to Algorithm Context Service

## 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 ibelyaev@physics.syr.edu

Definition at line 22 of file AlgContextAuditor.h.

## Constructor & Destructor Documentation

AlgContextAuditor::AlgContextAuditor | ( | const std::string & | name,
|  | ISvcLocator * | pSvc
| ) |  |

standard constructor

See also:
  Auditor

Definition at line 43 of file AlgContextAuditor.cpp.

      : Auditor( name , pSvc )
      , m_svc   ( 0    )
    {}

AlgContextAuditor::~AlgContextAuditor | ( | ) | `[virtual]`

virtual destructor

Definition at line 51 of file AlgContextAuditor.cpp.

    {}

AlgContextAuditor::AlgContextAuditor | ( | ) | `[private]`

the default constructor is disabled

AlgContextAuditor::AlgContextAuditor | ( | const AlgContextAuditor & | ) | `[private]`

copy constructor is disabled

## Member Function Documentation

void AlgContextAuditor::afterExecute | ( | INamedInterface * | a,
|  | const StatusCode & | s
| ) |  | `[virtual]`

Reimplemented from Auditor.

Definition at line 122 of file AlgContextAuditor.cpp.

                                                                           {
      if ( 0 != m_svc ) {
        IAlgorithm* alg = toAlg(a);
        if (alg != 0) m_svc -> unSetCurrentAlg ( alg ).ignore() ;
      }
    }

void AlgContextAuditor::afterFinalize | ( | INamedInterface * | a ) | `[virtual]`

Reimplemented from Auditor.

Definition at line 108 of file AlgContextAuditor.cpp.

                                                                   {
      if ( 0 != m_svc ) {
        IAlgorithm* alg = toAlg(a);
        if (alg != 0) m_svc -> unSetCurrentAlg ( alg ).ignore() ;
      }
    }

void AlgContextAuditor::afterInitialize | ( | INamedInterface * | a ) | `[virtual]`

Reimplemented from Auditor.

Definition at line 94 of file AlgContextAuditor.cpp.

                                                                   {
      if ( 0 != m_svc ) {
        IAlgorithm* alg = toAlg(a);
        if (alg != 0) m_svc -> unSetCurrentAlg ( alg ).ignore() ;
      }
    }

void AlgContextAuditor::beforeExecute | ( | INamedInterface * | a ) | `[virtual]`

Reimplemented from Auditor.

Definition at line 115 of file AlgContextAuditor.cpp.

                                                                   {
      if ( 0 != m_svc ) {
        IAlgorithm* alg = toAlg(a);
        if (alg != 0) m_svc -> setCurrentAlg ( alg ).ignore() ;
      }
    }

void AlgContextAuditor::beforeFinalize | ( | INamedInterface * | a ) | `[virtual]`

Reimplemented from Auditor.

Definition at line 101 of file AlgContextAuditor.cpp.

                                                                   {
      if ( 0 != m_svc ) {
        IAlgorithm* alg = toAlg(a);
        if (alg != 0) m_svc -> setCurrentAlg ( alg ).ignore() ;
      }
    }

void AlgContextAuditor::beforeInitialize | ( | INamedInterface * | a ) | `[virtual]`

Reimplemented from Auditor.

Definition at line 87 of file AlgContextAuditor.cpp.

                                                                   {
      if ( 0 != m_svc ) {
        IAlgorithm* alg = toAlg(a);
        if (alg != 0) m_svc -> setCurrentAlg ( alg ).ignore() ;
      }
    }

StatusCode AlgContextAuditor::finalize | ( | void | ) | `[virtual]`

standard finalization,

See also:
  IAuditor

Reimplemented from Auditor.

Definition at line 80 of file AlgContextAuditor.cpp.

    {
      if ( 0 != m_svc ) { m_svc-> release() ; m_svc = 0 ; }
      // finalize the base class
      return Auditor::finalize () ;
    }

StatusCode AlgContextAuditor::initialize | ( | void | ) | `[virtual]`

standard initialization,

See also:
  IAuditor

Reimplemented from Auditor.

Definition at line 55 of file AlgContextAuditor.cpp.

    {
      // initialize the base class
      StatusCode sc = Auditor::initialize() ;
      if ( sc.isFailure() ) { return sc ; }                           // RETURN
      if ( 0 != m_svc ) { m_svc -> release() ; m_svc = 0 ; }
      sc = Auditor::service ( "AlgContextSvc" , m_svc , true ) ;
      if ( sc.isFailure() )
      {
        MsgStream log ( msgSvc() , name() ) ;
        log << MSG::ERROR << "Unable to locate 'AlgContextSvc'" << sc << endmsg ;
        m_svc = 0 ;
        return sc ;  // RETURN
      }
      if ( 0 == m_svc     )
      {
        MsgStream log ( msgSvc() , name() ) ;
        log << MSG::ERROR << "Invalid pointer to IAlgContextSvc" << endmsg ;
        return StatusCode::FAILURE ;           // RETURN
      }
      return StatusCode::SUCCESS ;
    }

AlgContextAuditor& AlgContextAuditor::operator= | ( | const AlgContextAuditor & | ) | `[private]`

assignment operator is disabled

## Member Data Documentation

IAlgContextSvc* AlgContextAuditor::m_svc`[private]`

the pointer to Algorithm Context Service

Definition at line 56 of file AlgContextAuditor.h.

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

- /afs/cern.ch/sw/Gaudi/releases/GAUDI/GAUDI_v23r1/GaudiAud/src/AlgContextAuditor.h
- /afs/cern.ch/sw/Gaudi/releases/GAUDI/GAUDI_v23r1/GaudiAud/src/AlgContextAuditor.cpp

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines