| # Gaudi Framework, version v20r3
Generated: 24 Nov 2008

# GaudiAlgorithm Class Reference

`#include <GaudiAlg/GaudiAlgorithm.h>`

Inheritance diagram for GaudiAlgorithm:

[legend]
Collaboration diagram for GaudiAlgorithm:

[legend]

List of all members.

## Detailed Description

The useful base class for data processing algorithms.

Small extension of ordinary the Algorithm 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" retrive 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 shrinkage of existing code lines.

Attention:
  See also the class GaudiCommon, which implements some of the common functionality between GaudiTool and GaudiAlgorithm.

Author:
  Vanya BELYAEV Ivan.Belyaev@itep.ru

  Chris Jones Christopher.Rob.Jones@cern.ch

Date:
  30/06/2001

Definition at line 96 of file GaudiAlgorithm.h.

## Public Member Functions
virtual StatusCode | initialize ()
| standard initialization method
virtual StatusCode | execute ()
| standard execution method
virtual StatusCode | finalize ()
| standard finalization method
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 | get (const std::string &location, const bool useRootInTES=true) const
| Templated access to the data from Gaudi Event 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>
TYPE * | getDet (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>
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>
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
bool | registerContext () const
| register for Algorithm Context Service ?
INTupleSvc * | evtColSvc () const
| Access the standard event collection service.
IAlgContextSvc * | contextSvc () const
| Access the standard Algorithm Context Service.
## Private Member Functions
| GaudiAlgorithm ()
| no public default constructor
| GaudiAlgorithm (const GaudiAlgorithm &)
| no public copy
GaudiAlgorithm & | operator= (const GaudiAlgorithm &)
| no public assignment
## Private Attributes
INTupleSvc * | m_evtColSvc
| Event Tag Collection Service.
IAlgContextSvc * | m_contextSvc
| Algorithm Context Service.
std::string | m_contextSvcName
| Algorithm Context Service.
bool | m_registerContext
| register in Algorithm Context Service
std::vector< std::string > | m_vetoObjs
| skip the event if any of these objects are present in TES
std::vector< std::string > | m_requireObjs
| process the event only if one or more of these objects are present in TES
## Friends
class | AlgFactory< GaudiAlgorithm >

## Constructor & Destructor Documentation

GaudiAlgorithm::GaudiAlgorithm | ( | const std::string & | name,
|  | ISvcLocator * | pSvcLocator |
| ) |  |  |

Standard constructor (protected).

See also:
  Algorithm

Parameters:

  | name | name of the algorithm
  | pSvcLocator | poinetr to Service Locator

Definition at line 36 of file GaudiAlgorithm.cpp.

    00038   : GaudiCommon<Algorithm> ( name , pSvcLocator )
    00039   //
    00040   , m_evtColSvc  ( 0        ) // pointer to Event Tag Collection Service
    00041   , m_contextSvc ( 0        ) // pointer to Algorithm Context Service
    00042   , m_contextSvcName ( "AlgContextSvc" ) // Algorithm Context Service name
    00043   // enforce the algorithm registration for Algorithm Context Service
    00044   , m_registerContext ( true )
    00045 {
    00046   m_vetoObjs.clear();
    00047   m_requireObjs.clear();
    00048
    00049   declareProperty
    00050     ( "ContextService" ,
    00051       m_contextSvcName ,
    00052       "The name of Algorithm Context Service" ) ;
    00053   declareProperty
    00054     ( "RegisterForContextService" ,
    00055       m_registerContext  ,
    00056       "The flag to enforce the registration for Algorithm Context Service") ;
    00057   declareProperty( "VetoObjects", m_vetoObjs,
    00058                    "Skip execute if one or more of these TES objects exists" );
    00059   declareProperty( "RequireObjects", m_requireObjs,
    00060                    "Execute only if one or more of these TES objects exists" );
    00061 }

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

destructor, virtual and protected

Definition at line 65 of file GaudiAlgorithm.cpp.

    00065 { }

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

no public default constructor

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

no public copy

## Member Function Documentation

StatusCode GaudiAlgorithm::initialize | ( |  | ) | `[virtual]`

standard initialization method

See also:
  Algorithm

  IAlgorithm

Returns:
  status code

Reimplemented from GaudiCommon< Algorithm >.

Reimplemented in GaudiHistoAlg, GaudiSequencer, GaudiTupleAlg, Prescaler, GaudiHistos< GaudiAlgorithm >, and GaudiTuples< GaudiHistoAlg >.

Definition at line 69 of file GaudiAlgorithm.cpp.

    00070 {
    00071   // initialize the base class
    00072   const StatusCode sc = GaudiCommon<Algorithm>::initialize() ;
    00073   if ( sc.isFailure() ) { return sc; }
    00074
    00075   // Add any customisations here, that cannot go in GaudiCommon
    00076
    00077   // return
    00078   return sc;
    00079 }

StatusCode GaudiAlgorithm::execute | ( |  | ) | `[virtual]`

standard execution method

See also:
  Algorithm

  IAlgorithm

Returns:
  status code

Implements IAlgorithm.

Reimplemented in GaudiSequencer, and Prescaler.

Definition at line 97 of file GaudiAlgorithm.cpp.

    00098 {
    00099   return Error ( "Default GaudiAlgorithm execute method called !!" ) ;
    00100 }

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

standard finalization method

See also:
  Algorithm

  IAlgorithm

Returns:
  status code

Reimplemented from GaudiCommon< Algorithm >.

Reimplemented in GaudiHistoAlg, GaudiSequencer, GaudiTupleAlg, Prescaler, GaudiHistos< GaudiAlgorithm >, and GaudiTuples< GaudiHistoAlg >.

Definition at line 83 of file GaudiAlgorithm.cpp.

    00084 {
    00085   if ( msgLevel(MSG::DEBUG) )
    00086     debug() << "Finalize base class GaudiAlgorithm" << endreq;
    00087
    00088   // reset pointers
    00089   m_evtColSvc = 0 ;
    00090
    00091   // finalize the base class and return
    00092   return GaudiCommon<Algorithm>::finalize() ;
    00093 }

StatusCode GaudiAlgorithm::sysExecute | ( |  | ) | `[virtual]`

the generic actions for the execution.

See also:
  Algorithm

  IAlgorithm

  Algorithm::sysExecute

Returns:
  status code

< guard/sentry

Reimplemented from Algorithm.

Definition at line 131 of file GaudiAlgorithm.cpp.

    00132 {
    00133   IAlgContextSvc* ctx = 0 ;
    00134   if ( registerContext() ) { ctx = contextSvc() ; }
    00135   // Lock the context
    00136   Gaudi::Utils::AlgContext cnt ( ctx , this ) ;
    00137
    00138   // Do not execute if one or more of the m_vetoObjs exist in TES
    00139   for( std::vector<std::string>::iterator it  = m_vetoObjs.begin();
    00140                                           it != m_vetoObjs.end(); it++ ) {
    00141     if( exist<DataObject>(*it) ) {
    00142       debug() << *it << " found, skipping event " << endmsg;
    00143       return StatusCode::SUCCESS;
    00144     }
    00145   }
    00146
    00147   // Execute if m_requireObjs is empty
    00148   bool doIt = m_requireObjs.empty() ? true : false;
    00149
    00150   // Execute also if one or more of the m_requireObjs exist in TES
    00151   for( std::vector<std::string>::iterator it  = m_requireObjs.begin();
    00152                                           it != m_requireObjs.end(); it++ ) {
    00153     if( exist<DataObject>(*it) ) {
    00154       doIt = true;
    00155       break;
    00156     }
    00157   }
    00158
    00159   if( doIt )
    00160     // execute the generic method:
    00161     return Algorithm::sysExecute() ;
    00162   else
    00163     return StatusCode::SUCCESS;
    00164 }

void GaudiAlgorithm::put | ( | IDataProviderSvc * | svc,
|  | DataObject * | object,
|  | const std::string & | address,
|  | const bool | useRootInTES = `true` |
| ) |  |  | const`[inline]`

Register a data object or container into Gaudi Event Transient Store.

      MCHits * hits = new MCHits();
      put( evtSvc(), hits, "/Event/MC/Hits" );

Attention:
  The method respects the setting of the job option RootInTES by prepending the value of this to the data location that is passed. The default setting for RootInTES is "" so has no effect. This behaviour can be suppressed by passing the arguement useRootInTES = false

See also:
  IDataProviderSvc

Parameters:

  | 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

Exceptions:

  | GaudiException | for invalid event data service
  | GaudiException | for invalid object
  | GaudiException | for error result from event data service

Returns:
  StatusCode

Return values:

  | StatusCode::SUCCESS | Data was successfully placed in the TES.
  | StatusCode::FAILURE | Failed to store data in the TES.

Reimplemented from GaudiCommon< Algorithm >.

Definition at line 170 of file GaudiAlgorithm.h.

    00174   {
    00175     GaudiCommon<Algorithm>::put ( svc , object , address , useRootInTES ) ;
    00176   }

void GaudiAlgorithm::put | ( | DataObject * | object,
|  | const std::string & | address,
|  | const bool | useRootInTES = `true` |
| ) |  |  | const`[inline]`

Register a data object or container into Gaudi Event Transient Store.

See also:
  IDataProviderSvc

      MCHits * hits = new MCHits();
      put( hits, "/Event/MC/Hits" );

Attention:
  The method respects the setting of the job option RootInTES by prepending the value of this to the data location that is passed. The default setting for RootInTES is "" so has no effect. This behaviour can be suppressed by passing the arguement useRootInTES = false

Parameters:

  | 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

Exceptions:

  | GaudiException | for invalid event data service
  | GaudiException | for invalid object
  | GaudiException | for error result from event data service

Returns:
  StatusCode

Return values:

  | StatusCode::SUCCESS | Data was successfully placed in the TES.
  | StatusCode::FAILURE | Failed to store data in the TES.

Definition at line 209 of file GaudiAlgorithm.h.

    00212   {
    00213     GaudiCommon<Algorithm>::put ( evtSvc() , object , address , useRootInTES ) ;
    00214   }

template<class TYPE>

Gaudi::Utils::GetData<TYPE>::return_type GaudiAlgorithm::get | ( | IDataProviderSvc * | svc,
|  | const std::string & | location,
|  | const bool | useRootInTES = `true` |
| ) |  |  | const`[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

      MCHits* hits = get<MCHits>( evtSvc() , "/Event/MC/Hits" );

Attention:
  The method respects the setting of the job option RootInTES by prepending the value of this to the data location that is passed. The default setting for RootInTES is "" so has no effect. This behaviour can be suppressed by passing the arguement useRootInTES = false

See also:
  IDataProviderSvc

  SmartDataPtr

Exceptions:

  | GaudiException | for Invalid Data Provider Service
  | GaudiException | for invalid/unavailable data

Parameters:

  | 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

Returns:
  pointer to the data object

Reimplemented from GaudiCommon< Algorithm >.

Definition at line 250 of file GaudiAlgorithm.h.

    00253   {
    00254     return GaudiCommon<Algorithm>::get<TYPE> ( svc , location , useRootInTES ) ;
    00255   }

template<class TYPE>

Gaudi::Utils::GetData<TYPE>::return_type GaudiAlgorithm::get | ( | const std::string & | location,
|  | const bool | useRootInTES = `true` |
| ) |  |  | const`[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.

      MCParticles* mcps = get<MCParticles>( MCParticleLocation::Default );

Attention:
  The method respects the setting of the job option RootInTES by prepending the value of this to the data location that is passed. The default setting for RootInTES is "" so has no effect. This behaviour can be suppressed by passing the arguement useRootInTES = false

Parameters:

  | location | Data location/address in Gaudi Transient Store
  | useRootInTES | Flag to turn on(TRUE) off(FALSE) the use of the RootInTES location property

Returns:
  Pointer to the data object

Definition at line 285 of file GaudiAlgorithm.h.

    00287   {
    00288     return GaudiCommon<Algorithm>::get<TYPE> ( evtSvc() , location , useRootInTES ) ;
    00289   }

template<class TYPE>

TYPE* GaudiAlgorithm::getDet | ( | IDataProviderSvc * | svc,
|  | const std::string & | location |
| ) |  |  | const`[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.

      MyDet* mdet = getDet<MyDet>( detSvc() , "/dd/Structure/LHCb/MyDet" );

Parameters:

  | svc | Pointer to data service (data provider)
  | location | Detector location/address in Gaudi Transient Store

Returns:
  Pointer to the detector object

Definition at line 310 of file GaudiAlgorithm.h.

    00312   {
    00313     return GaudiCommon<Algorithm>::get<TYPE> ( svc , location , false ) ;
    00314   }

template<class TYPE>

TYPE* GaudiAlgorithm::getDet | ( | const std::string & | location | ) | const`[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.

      MyDet* mdet = getDet<MyDet>( "/dd/Structure/LHCb/MyDet" );

Parameters:

  | location | Detector location/address in Gaudi Transient Store

Returns:
  Pointer to the detector object

Definition at line 334 of file GaudiAlgorithm.h.

    00335   {
    00336     return GaudiCommon<Algorithm>::get<TYPE> ( detSvc() , location , false ) ;
    00337   }

template<class TYPE>

bool GaudiAlgorithm::exist | ( | IDataProviderSvc * | svc,
|  | const std::string & | location,
|  | const bool | useRootInTES = `true` |
| ) |  |  | const`[inline]`

Check the existence of a data object or container in the Gaudi Transient Event Store.

      bool a1 = exist<DataObject>( evtSvc(), "/Event/MyObject" ) ;
      bool a2 = exist<MyHits>    ( evtSvc(), "/Event/MyHits"   ) ;

Attention:
  The method respects the setting of the job option RootInTES by prepending the value of this to the data location that is passed. The default setting for RootInTES is "" so has no effect. This behaviour can be suppressed by passing the arguement useRootInTES = false

Parameters:

  | 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

Returns:
  Boolean indicating status of the request

Return values:

  | true | Data object or container exists and implements a proper interface
  | true | Failed to locate the data object or container

Reimplemented from GaudiCommon< Algorithm >.

Definition at line 366 of file GaudiAlgorithm.h.

    00369   {
    00370     return GaudiCommon<Algorithm>::exist<TYPE> ( svc , location , useRootInTES ) ;
    00371   }

template<class TYPE>

bool GaudiAlgorithm::exist | ( | const std::string & | location,
|  | const bool | useRootInTES = `true` |
| ) |  |  | const`[inline]`

Check the existence of a data object or container in the Gaudi Transient Event Store.

      bool a1 = exist<DataObject>( "/Event/MyObject" ) ;
      bool a2 = exist<MyHits>    ( "/Event/MyHits"   ) ;

Attention:
  The method respects the setting of the job option RootInTES by prepending the value of this to the data location that is passed. The default setting for RootInTES is "" so has no effect. This behaviour can be suppressed by passing the arguement useRootInTES = false

Parameters:

  | location | Address in Gaudi Transient Event Store
  | useRootInTES | Flag to turn on(TRUE) off(FALSE) the use of the RootInTES location property

Returns:
  Boolean indicating status of the request

Return values:

  | true | Data object or container exists and implements a proper interface
  | true | Failed to locate the data object or container

Definition at line 399 of file GaudiAlgorithm.h.

    00401   {
    00402     return GaudiCommon<Algorithm>::exist<TYPE> ( evtSvc() , location , useRootInTES ) ;
    00403   }

template<class TYPE>

bool GaudiAlgorithm::existDet | ( | IDataProviderSvc * | svc,
|  | const std::string & | location |
| ) |  |  | const`[inline]`

Check the existence of detector objects in the Gaudi Transient Detector Store.

      bool a1 = existDet<DataObject> ( detSvc(), "/dd/Structure/MyObject"     ) ;
      bool a2 = existDet<Material>   ( detSvc(), "/dd/Structure/Material/Air" ) ;

Parameters:

  | svc | Pointer to data service (data provider)
  | location | Address in Gaudi Transient Detector Store

Returns:
  Boolean indicating status of the request

Return values:

  | true | Detector object exists and implements a proper interface
  | false | Failed to locate the data object

Definition at line 422 of file GaudiAlgorithm.h.

    00424   {
    00425     return GaudiCommon<Algorithm>::exist<TYPE> ( svc , location , false ) ;
    00426   }

template<class TYPE>

bool GaudiAlgorithm::existDet | ( | const std::string & | location | ) | const`[inline]`

Check the existence of detector objects in the Gaudi Transient Detector Store.

      bool a1 = existDet<DataObject> ( "/dd/Structure/MyObject"     ) ;
      bool a2 = existDet<Material>   ( "/dd/Structure/Material/Air" ) ;

Parameters:

  | location | Address in Gaudi Transient Detector Store

Returns:
  Boolean indicating status of the request

Return values:

  | true | Detector object exists and implements a proper interface
  | false | Failed to locate the data object

Definition at line 444 of file GaudiAlgorithm.h.

    00445   {
    00446     return GaudiCommon<Algorithm>::exist<TYPE> ( detSvc() , location , false ) ;
    00447   }

template<class TYPE, class TYPE2>

TYPE* GaudiAlgorithm::getOrCreate | ( | IDataProviderSvc * | svc,
|  | const std::string & | location,
|  | const bool | useRootInTES = `true` |
| ) |  |  | const`[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.

      MyHits* hits = getOrCreate<MyHits,MyHits>( evtSvc() , "/Event/MyHits" ) ;

Attention:
  The method respects the setting of the job option RootInTES by prepending the value of this to the data location that is passed. The default setting for RootInTES is "" so has no effect. This behaviour can be suppressed by passing the arguement useRootInTES = false

Exceptions:

  | GaudiException | for Invalid Data Provider Service
  | GaudiException | for invalid/unavailable data

Parameters:

  | 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

Returns:
  A valid pointer to the object

Reimplemented from GaudiCommon< Algorithm >.

Definition at line 477 of file GaudiAlgorithm.h.

    00480   {
    00481     return GaudiCommon<Algorithm>::getOrCreate<TYPE,TYPE2> ( svc , location , useRootInTES ) ;
    00482   }

template<class TYPE, class TYPE2>

TYPE* GaudiAlgorithm::getOrCreate | ( | const std::string & | location,
|  | const bool | useRootInTES = `true` |
| ) |  |  | const`[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.

      MyHits* hits = getOrCreate<MyHits,MyHits>( "/Event/MyHits" ) ;

Attention:
  The method respects the setting of the job option RootInTES by prepending the value of this to the data location that is passed. The default setting for RootInTES is "" so has no effect. This behaviour can be suppressed by passing the arguement useRootInTES = false

Exceptions:

  | GaudiException | for Invalid Data Provider Service
  | GaudiException | for invalid/unavailable data

Parameters:

  | location | Location in Gaudi Transient Event Store
  | useRootInTES | Flag to turn on(TRUE) off(FALSE) the use of the RootInTES location property

Returns:
  A valid pointer to the object

Definition at line 511 of file GaudiAlgorithm.h.

    00513   {
    00514     return GaudiCommon<Algorithm>::getOrCreate<TYPE,TYPE2> ( evtSvc() , location , useRootInTES ) ;
    00515   }

bool GaudiAlgorithm::registerContext | ( |  | ) | const`[inline]`

register for Algorithm Context Service ?

Definition at line 532 of file GaudiAlgorithm.h.

    00532 { return m_registerContext ; }

INTupleSvc * GaudiAlgorithm::evtColSvc | ( |  | ) | const

Access the standard event collection service.

Returns:
  pointer to the event collection service

Definition at line 104 of file GaudiAlgorithm.cpp.

    00105 {
    00106   if ( 0 == m_evtColSvc )
    00107   {
    00108     m_evtColSvc = svc< INTupleSvc > ( "EvtTupleSvc" , true ) ;
    00109   }
    00110   return m_evtColSvc ;
    00111 }

IAlgContextSvc * GaudiAlgorithm::contextSvc | ( |  | ) | const

Access the standard Algorithm Context Service.

Returns:
  pointer to the Algorithm Context Service

Definition at line 115 of file GaudiAlgorithm.cpp.

    00116 {
    00117   if ( 0 == m_contextSvc )
    00118   {
    00119     m_contextSvc = svc< IAlgContextSvc > ( m_contextSvcName , true ) ;
    00120   }
    00121   return m_contextSvc ;
    00122 }

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

no public assignment

## Friends And Related Function Documentation

friend class AlgFactory< GaudiAlgorithm >`[friend]`

Definition at line 99 of file GaudiAlgorithm.h.

## Member Data Documentation

INTupleSvc* GaudiAlgorithm::m_evtColSvc`[mutable, private]`

Event Tag Collection Service.

Definition at line 560 of file GaudiAlgorithm.h.

IAlgContextSvc* GaudiAlgorithm::m_contextSvc`[mutable, private]`

Algorithm Context Service.

Definition at line 562 of file GaudiAlgorithm.h.

std::string GaudiAlgorithm::m_contextSvcName`[private]`

Algorithm Context Service.

Definition at line 564 of file GaudiAlgorithm.h.

bool GaudiAlgorithm::m_registerContext`[private]`

register in Algorithm Context Service

Definition at line 566 of file GaudiAlgorithm.h.

std::vector<std::string> GaudiAlgorithm::m_vetoObjs`[private]`

skip the event if any of these objects are present in TES

Definition at line 568 of file GaudiAlgorithm.h.

std::vector<std::string> GaudiAlgorithm::m_requireObjs`[private]`

process the event only if one or more of these objects are present in TES

Definition at line 570 of file GaudiAlgorithm.h.

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

- /afs/cern.ch/sw/Gaudi/releases/GAUDI/GAUDI_v20r3/GaudiAlg/GaudiAlg/GaudiAlgorithm.h
- /afs/cern.ch/sw/Gaudi/releases/GAUDI/GAUDI_v20r3/GaudiAlg/src/lib/GaudiAlgorithm.cpp