Gaudi Framework, version v23r4

Home   Generated: Mon Sep 17 2012
Public Member Functions | Static Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes | Static Private Attributes

GaudiTool Class Reference

The useful base class for tools. More...

#include <GaudiTools/GaudiTool.h>

Inheritance diagram for GaudiTool:
Inheritance graph
[legend]
Collaboration diagram for GaudiTool:
Collaboration graph
[legend]

List of all members.

Public Member Functions

virtual StatusCode initialize ()
 standard initialization method
virtual StatusCode finalize ()
 standard finalization method
INTupleSvcntupleSvc () const
 Access the standard N-Tuple.
INTupleSvcevtColSvc () const
 Access the standard event collection service.
IDataProviderSvcdetSvc () const
 accessor to detector service
IDataProviderSvcevtSvc () const
 accessor to event service service
IIncidentSvcincSvc () const
 accessor to Incident Service
IChronoStatSvcchronoSvc () const
 accessor to Chrono & Stat Service
IHistogramSvchistoSvc () const
 acessor to the histogram service
IAlgContextSvccontextSvc () const
 acessor to the Algorithm Context Service
DataObjectput (IDataProviderSvc *svc, DataObject *object, const std::string &address, const bool useRootInTES=true) const
 Register a data object or container into Gaudi Event Transient Store.
DataObjectput (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 
getIfExists (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 >
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.
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 >
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.
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 >
Gaudi::Utils::GetData< TYPE >
::return_type 
getDetIfExists (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 >
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.
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.

Static Public Member Functions

static bool enableSummary (bool)
 enable/disable summary
static bool summaryEnabled ()
 is summary enabled?

Protected Member Functions

 GaudiTool (const std::string &type, const std::string &name, const IInterface *parent)
 Standard constructor.
virtual ~GaudiTool ()
 destructor, virtual and protected

Private Member Functions

 GaudiTool ()
 no public default constructor
 GaudiTool (const GaudiTool &)
 no public copy constructor
GaudiTooloperator= (const GaudiTool &)
 no public assignment operator

Private Attributes

INTupleSvcm_ntupleSvc
 pointer to the N-Tuple service
INTupleSvcm_evtColSvc
 pointer to the event tag collection service
IDataProviderSvcm_evtSvc
 pointer to Event Data Service
IDataProviderSvcm_detSvc
 pointer to Detector Data Service
IChronoStatSvcm_chronoSvc
 pointer to Chrono & Stat Service
IIncidentSvcm_incSvc
 pointer to Incident Service
IHistogramSvcm_histoSvc
 pointer for histogram service
IAlgContextSvcm_contextSvc
 Algorithm Context Service.
std::string m_contextSvcName
 Algorithm Context Service.
const std::string m_local
 full tool name "type/name"

Static Private Attributes

static bool s_enableSummary = true
 enable printout of summary?

Detailed Description

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.

Attention:
See 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:
2003-07-07

Definition at line 99 of file GaudiTool.h.


Constructor & Destructor Documentation

GaudiTool::GaudiTool ( const std::string type,
const std::string name,
const IInterface parent 
) [protected]

Standard constructor.

See also:
AlgTool
Parameters:
typetool type (useless)
nametool name
parentpointer to parent object (service, algorithm or tool)

Definition at line 140 of file GaudiTool.cpp.

  : GaudiCommon<AlgTool> ( this_type , this_name , parent )
  //  services
  , m_ntupleSvc   ( 0 )
  , m_evtColSvc   ( 0 )
  , m_evtSvc      ( 0 )
  , m_detSvc      ( 0 )
  , m_chronoSvc   ( 0 )
  , m_incSvc      ( 0 )
  , m_histoSvc    ( 0 )
  , m_contextSvc  ( 0 ) // pointer to Algorithm Context Service
  , m_contextSvcName ( "AlgContextSvc" ) // Algorithm Context Service name
  //
  , m_local       ( this_type + "/" + this_name )
{
  declareProperty
    ( "ContextService" ,
      m_contextSvcName ,
      "The name of Algorithm Context Service" ) ;
  // make instance counts
  GaudiToolLocal::s_InstanceCounter.increment ( m_local ) ;
}
GaudiTool::~GaudiTool (  ) [protected, virtual]

destructor, virtual and protected

Definition at line 167 of file GaudiTool.cpp.

GaudiTool::GaudiTool (  ) [private]

no public default constructor

GaudiTool::GaudiTool ( const GaudiTool  ) [private]

no public copy constructor


Member Function Documentation

IChronoStatSvc * GaudiTool::chronoSvc (  ) const

accessor to Chrono & Stat Service

Returns:
pointer to the Chrono & Stat Service

Definition at line 272 of file GaudiTool.cpp.

{
  if ( 0 == m_chronoSvc )
  {
    m_chronoSvc =
      svc<IChronoStatSvc> ( GaudiToolServices::s_ChronoStatSvc , true ) ;
  }
  return m_chronoSvc ;
}
IAlgContextSvc * GaudiTool::contextSvc (  ) const

acessor to the Algorithm Context Service

Returns:
pointer to the Algorithm Context Service

Definition at line 295 of file GaudiTool.cpp.

{
  if ( 0 == m_contextSvc )
  {
    m_contextSvc = svc<IAlgContextSvc> ( m_contextSvcName , true ) ;
  }
  return m_contextSvc;
}
IDataProviderSvc * GaudiTool::detSvc (  ) const

accessor to detector service

Returns:
pointer to detector service

Definition at line 214 of file GaudiTool.cpp.

{
  if ( 0 == m_detSvc )
  {
    m_detSvc =
      svc<IDataProviderSvc>( GaudiToolServices::s_DetectorDataSvc , true ) ;
  }
  return m_detSvc ;
}
bool GaudiTool::enableSummary ( bool  value ) [static]

enable/disable summary

Definition at line 127 of file GaudiTool.cpp.

{
  s_enableSummary = value ;
  return summaryEnabled () ;
}
INTupleSvc * GaudiTool::evtColSvc (  ) const

Access the standard event collection service.

Returns:
pointer to the event collection service

Definition at line 237 of file GaudiTool.cpp.

{
  if ( 0 == m_evtColSvc )
  {
    m_evtColSvc = svc< INTupleSvc > ( "EvtTupleSvc" , true ) ;
  }
  return m_evtColSvc ;
}
IDataProviderSvc * GaudiTool::evtSvc (  ) const

accessor to event service service

Returns:
pointer to detector service

Definition at line 248 of file GaudiTool.cpp.

{
  if ( 0 == m_evtSvc )
  {
    m_evtSvc =
      svc<IDataProviderSvc>( GaudiToolServices::s_EventDataSvc , true ) ;
  }
  return m_evtSvc ;
}
template<class TYPE >
bool GaudiTool::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 behavior can be suppressed by passing the argument useRootInTES = false
Parameters:
svcPointer to data service (data provider)
locationAddress in Gaudi Transient Event Store
useRootInTESFlag to turn on(TRUE) off(FALSE) the use of the RootInTES location property
Returns:
Boolean indicating status of the request
Return values:
trueData object or container exists and implements a proper interface
trueFailed to locate the data object or container

Reimplemented from GaudiCommon< AlgTool >.

Definition at line 519 of file GaudiTool.h.

  {
    return GaudiCommon<AlgTool>::exist<TYPE> ( svc , location , useRootInTES ) ;
  }
template<class TYPE >
bool GaudiTool::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 behavior can be suppressed by passing the argument useRootInTES = false
Parameters:
locationAddress in Gaudi Transient Event Store
Returns:
Boolean indicating status of the request
Return values:
trueData object or container exists and implements a proper interface
trueFailed to locate the data object or container

Definition at line 549 of file GaudiTool.h.

  {
    return GaudiCommon<AlgTool>::exist<TYPE> ( evtSvc() , location , useRootInTES ) ;
  }
template<class TYPE >
bool GaudiTool::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:
svcPointer to data service (data provider)
locationAddress in Gaudi Transient Detector Store
Returns:
Boolean indicating status of the request
Return values:
trueDetector object exists and implements a proper interface
falseFailed to locate the data object

Definition at line 572 of file GaudiTool.h.

  {
    return GaudiCommon<AlgTool>::exist<TYPE> ( svc , location , false ) ;
  }
template<class TYPE >
bool GaudiTool::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:
locationAddress in Gaudi Transient Detector Store
Returns:
Boolean indicating status of the request
Return values:
trueDetector object exists and implements a proper interface
falseFailed to locate the data object

Definition at line 594 of file GaudiTool.h.

  {
    return GaudiCommon<AlgTool>::exist<TYPE> ( detSvc() , location , false ) ;
  }
StatusCode GaudiTool::finalize (  ) [virtual]

standard finalization method

See also:
AlgTool
IAlgTool
Returns:
status code

Reimplemented from GaudiCommon< AlgTool >.

Reimplemented in GaudiHistoTool, GaudiTupleTool, SequencerTimerTool, EqSolver, FuncMinimum, GaudiHistos< GaudiTool >, and GaudiTuples< GaudiHistoTool >.

Definition at line 189 of file GaudiTool.cpp.

{
  if ( msgLevel(MSG::DEBUG) )
    debug() << " ==> Finalize the base class GaudiTool " << endmsg;

  // clear "explicit services"
    m_evtSvc    = 0 ;
    m_detSvc    = 0 ;
    m_chronoSvc = 0 ;
    m_incSvc    = 0 ;
    m_histoSvc  = 0 ;

  // finalize the base class
  const StatusCode sc = GaudiCommon<AlgTool>::finalize() ;
  if ( sc.isFailure() ) { return sc; }

  // Decrement the counter
  GaudiToolLocal::s_FinalizeCounter.decrement( m_local ) ;

  // return
  return sc;
}
template<class TYPE >
Gaudi::Utils::GetData<TYPE>::return_type GaudiTool::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 behavior can be suppressed by passing the argument useRootInTES = false
See also:
IDataProviderSvc
SmartDataPtr
Exceptions:
GaudiExceptionfor Invalid Data Provider Service
GaudiExceptionfor invalid/unavailable data
Parameters:
svcPointer to data service (data provider)
locationdata location/address in Gaudi Transient Store
useRootInTESFlag to turn on(TRUE) off(FALSE) the use of the RootInTES location property
Returns:
pointer to the data object

Reimplemented from GaudiCommon< AlgTool >.

Definition at line 265 of file GaudiTool.h.

  {
    return GaudiCommon<AlgTool>::get<TYPE> ( svc , location , useRootInTES ) ;
  }
template<class TYPE >
Gaudi::Utils::GetData<TYPE>::return_type GaudiTool::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 behavior can be suppressed by passing the argument useRootInTES = false
Parameters:
locationData location/address in Gaudi Transient Store
useRootInTESFlag to turn on(TRUE) off(FALSE) the use of the RootInTES location property
Returns:
Pointer to the data object

Definition at line 341 of file GaudiTool.h.

  {
    return GaudiCommon<AlgTool>::get<TYPE> ( evtSvc() , location , useRootInTES ) ;
  }
template<class TYPE >
TYPE* GaudiTool::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:
svcPointer to data service (data provider)
locationDetector location/address in Gaudi Transient Store
Returns:
Pointer to the detector object

Definition at line 406 of file GaudiTool.h.

  {
    return GaudiCommon<AlgTool>::get<TYPE> ( svc , location , false ) ;
  }
template<class TYPE >
TYPE* GaudiTool::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:
locationDetector location/address in Gaudi Transient Store
Returns:
Pointer to the detector object

Definition at line 460 of file GaudiTool.h.

  {
    return GaudiCommon<AlgTool>::get<TYPE> ( detSvc() , location , false ) ;
  }
template<class TYPE >
Gaudi::Utils::GetData<TYPE>::return_type GaudiTool::getDetIfExists ( 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.

Skips the check on the data as performed by 'get'. No exception is thrown if the data is missing.

  MyDet* mdet = getDetIfExists<MyDet>( detSvc() , "/dd/Structure/LHCb/MyDet" );
Parameters:
svcPointer to data service (data provider)
locationDetector location/address in Gaudi Transient Store
Returns:
Pointer to the detector object
Return values:
NULLIf the detector object does not exist.

Definition at line 436 of file GaudiTool.h.

  {
    return GaudiCommon<AlgTool>::getIfExists<TYPE> ( svc , location , false ) ;
  }
template<class TYPE >
Gaudi::Utils::GetData<TYPE>::return_type GaudiTool::getDetIfExists ( 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.

Skips the check on the data as performed by 'get'. No exception is thrown if the data is missing.

  MyDet* mdet = getDetIfExists<MyDet>( "/dd/Structure/LHCb/MyDet" );
Parameters:
locationDetector location/address in Gaudi Transient Store
Returns:
Pointer to the detector object
Return values:
NULLIf the detector object does not exist.

Definition at line 488 of file GaudiTool.h.

  {
    return GaudiCommon<AlgTool>::getIfExists<TYPE> ( detSvc() , location , false ) ;
  }
template<class TYPE >
Gaudi::Utils::GetData<TYPE>::return_type GaudiTool::getIfExists ( 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.

Skips the check on the data as performed by 'get'. No exception is thrown if the data is missing.

  MCHits* hits = getIfExists<MCHits>( "/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 behavior can be suppressed by passing the argument useRootInTES = false
See also:
IDataProviderSvc
SmartDataPtr
Parameters:
locationdata location/address in Gaudi Transient Store
useRootInTESFlag to turn on(TRUE) off(FALSE) the use of the RootInTES location property
Returns:
pointer to the data object.
Return values:
NULLIf data does not exist.

Definition at line 381 of file GaudiTool.h.

  {
    return GaudiCommon<AlgTool>::getIfExists<TYPE> ( evtSvc() , location , useRootInTES ) ;
  }
template<class TYPE >
Gaudi::Utils::GetData<TYPE>::return_type GaudiTool::getIfExists ( 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.

Skips the check on the data as performed by 'get'. No exception is thrown if the data is missing.

  MCHits* hits = getIfExists<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 behavior can be suppressed by passing the argument useRootInTES = false
See also:
IDataProviderSvc
SmartDataPtr
Parameters:
svcPointer to data service (data provider)
locationdata location/address in Gaudi Transient Store
useRootInTESFlag to turn on(TRUE) off(FALSE) the use of the RootInTES location property
Returns:
pointer to the data object.
Return values:
NULLIf data does not exist.

Reimplemented from GaudiCommon< AlgTool >.

Definition at line 307 of file GaudiTool.h.

  {
    return GaudiCommon<AlgTool>::getIfExists<TYPE> ( svc , location , useRootInTES ) ;
  }
template<class TYPE , class TYPE2 >
Gaudi::Utils::GetData<TYPE>::return_type GaudiTool::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 behavior can be suppressed by passing the argument useRootInTES = false
Exceptions:
GaudiExceptionfor Invalid Data Provider Service
GaudiExceptionfor invalid/unavailable data
Parameters:
locationLocation in Gaudi Transient Event Store
useRootInTESFlag to turn on(TRUE) off(FALSE) the use of the RootInTES location property
Returns:
A valid pointer to the object

Definition at line 661 of file GaudiTool.h.

  {
    return GaudiCommon<AlgTool>::getOrCreate<TYPE,TYPE2> ( evtSvc() , location , useRootInTES ) ;
  }
template<class TYPE , class TYPE2 >
Gaudi::Utils::GetData<TYPE>::return_type GaudiTool::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 behavior can be suppressed by passing the argument useRootInTES = false
Exceptions:
GaudiExceptionfor Invalid Data Provider Service
GaudiExceptionfor invalid/unavailable data
Parameters:
svcPointer to data service (data provider)
locationLocation in Gaudi Transient Event Store
useRootInTESFlag to turn on(TRUE) off(FALSE) the use of the RootInTES location property
Returns:
A valid pointer to the object

Reimplemented from GaudiCommon< AlgTool >.

Definition at line 627 of file GaudiTool.h.

  {
    return GaudiCommon<AlgTool>::getOrCreate<TYPE,TYPE2> ( svc , location , useRootInTES ) ;
  }
IHistogramSvc * GaudiTool::histoSvc (  ) const

acessor to the histogram service

Returns:
pointer to the histogram service

Definition at line 284 of file GaudiTool.cpp.

{
  if ( 0 == m_histoSvc )
  {
    m_histoSvc = svc<IHistogramSvc> ( GaudiToolServices::s_HistoSvc, true ) ;
  }
  return m_histoSvc;
}
IIncidentSvc * GaudiTool::incSvc (  ) const

accessor to Incident Service

Returns:
pointer to the Incident Service

Definition at line 260 of file GaudiTool.cpp.

{
  if ( 0 == m_incSvc )
  {
    m_incSvc =
      svc<IIncidentSvc> ( GaudiToolServices::s_IncidentSvc , true ) ;
  }
  return m_incSvc ;
}
StatusCode GaudiTool::initialize (  ) [virtual]

standard initialization method

See also:
AlgTool
IAlgTool
Returns:
status code

Reimplemented from GaudiCommon< AlgTool >.

Reimplemented in GaudiHistoTool, GaudiTupleTool, SequencerTimerTool, EqSolver, FuncMinimum, GaudiHistos< GaudiTool >, and GaudiTuples< GaudiHistoTool >.

Definition at line 174 of file GaudiTool.cpp.

{
  // initialize the base class
  const StatusCode sc = GaudiCommon<AlgTool>::initialize() ;
  if ( sc.isFailure() ) { return sc; }

  // increment the counter
  GaudiToolLocal::s_FinalizeCounter.increment( m_local ) ;

  // return
  return sc;
}
INTupleSvc * GaudiTool::ntupleSvc (  ) const

Access the standard N-Tuple.

Returns:
pointer to N-Tuple service .

Definition at line 226 of file GaudiTool.cpp.

{
  if ( 0 == m_ntupleSvc )
  {
    m_ntupleSvc = svc<INTupleSvc>( "NTupleSvc" , true ) ;
  }
  return m_ntupleSvc ;
}
GaudiTool& GaudiTool::operator= ( const GaudiTool  ) [private]

no public assignment operator

DataObject* GaudiTool::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 = put( new MCHits(), "/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 behavior can be suppressed by passing the argument useRootInTES = false
Parameters:
objectData object or container to be registered
addressAddress in Gaudi Event Transient Store ("/Event" could be omitted )
useRootInTESFlag to turn on(TRUE) off(FALSE) the use of the RootInTES location property
Exceptions:
GaudiExceptionfor invalid event data service
GaudiExceptionfor invalid object
GaudiExceptionfor error result from event data service
Returns:
StatusCode
Return values:
StatusCode::SUCCESSData was successfully placed in the TES.
StatusCode::FAILUREFailed to store data in the TES.

Definition at line 225 of file GaudiTool.h.

  {
    return GaudiCommon<AlgTool>::put ( evtSvc() , object , address , useRootInTES ) ;
  }
DataObject* GaudiTool::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 behavior can be suppressed by passing the argument useRootInTES = false
See also:
IDataProviderSvc
Parameters:
svcPointer to data provider service
objectData object or container to be registered
addressAddress in Gaudi Event Transient Store ("/Event" could be omitted )
useRootInTESFlag to turn on(TRUE) off(FALSE) the use of the RootInTES location property
Exceptions:
GaudiExceptionfor invalid event data service
GaudiExceptionfor invalid object
GaudiExceptionfor error result from event data service
Returns:
StatusCode
Return values:
StatusCode::SUCCESSData was successfully placed in the TES.
StatusCode::FAILUREFailed to store data in the TES.

Reimplemented from GaudiCommon< AlgTool >.

Definition at line 189 of file GaudiTool.h.

  {
    return GaudiCommon<AlgTool>::put ( svc , object , address , useRootInTES ) ;
  }
bool GaudiTool::summaryEnabled (  ) [static]

is summary enabled?

Definition at line 135 of file GaudiTool.cpp.

{ return s_enableSummary ; }

Member Data Documentation

pointer to Chrono & Stat Service

Definition at line 710 of file GaudiTool.h.

Algorithm Context Service.

Definition at line 716 of file GaudiTool.h.

Algorithm Context Service.

Definition at line 718 of file GaudiTool.h.

pointer to Detector Data Service

Definition at line 708 of file GaudiTool.h.

INTupleSvc* GaudiTool::m_evtColSvc [mutable, private]

pointer to the event tag collection service

Definition at line 704 of file GaudiTool.h.

pointer to Event Data Service

Definition at line 706 of file GaudiTool.h.

IHistogramSvc* GaudiTool::m_histoSvc [mutable, private]

pointer for histogram service

Definition at line 714 of file GaudiTool.h.

IIncidentSvc* GaudiTool::m_incSvc [mutable, private]

pointer to Incident Service

Definition at line 712 of file GaudiTool.h.

full tool name "type/name"

Definition at line 723 of file GaudiTool.h.

INTupleSvc* GaudiTool::m_ntupleSvc [mutable, private]

pointer to the N-Tuple service

Definition at line 702 of file GaudiTool.h.

bool GaudiTool::s_enableSummary = true [static, private]

enable printout of summary?

summary is enabled

Definition at line 728 of file GaudiTool.h.


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines

Generated at Mon Sep 17 2012 13:49:46 for Gaudi Framework, version v23r4 by Doxygen version 1.7.2 written by Dimitri van Heesch, © 1997-2004