| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

In This Package:

GaudiHandleBase Class Reference

Base class to handles to be used in lieu of naked pointers to various Gaudi components. More...

#include <GaudiKernel/GaudiHandle.h>

Inheritance diagram for GaudiHandleBase:

[legend]
Collaboration diagram for GaudiHandleBase:
[legend]
List of all members.

Public Member Functions

std::string typeAndName () const
 The full type and name: "type/name".
std::string type () const
 The concrete component class name: the part before the '/'.
std::string name () const
 The instance name: the part after the '/'.
bool empty () const
 Check if the handle has been set to empty string (i.e.
void setTypeAndName (const std::string &myTypeAndName)
 The component "type/name" string.
void setName (const std::string &myName)
 Set the instance name (part after the '/') without changing the class type.
const std::string pythonPropertyClassName () const
 Name of the componentType with "Handle" appended.
const std::string messageName () const
 name used for printing messages
virtual const std::string pythonRepr () const
 Python representation of handle, i.e.
const std::string & componentType () const
const std::string & propertyName () const
 name as used in declareProperty(name,gaudiHandle)
void setPropertyName (const std::string &propName)
 set name as used in declareProperty(name,gaudiHandle).
const std::string & parentName () const
 The name of the parent.

Protected Member Functions

 GaudiHandleBase (const std::string &myTypeAndName, const std::string &myComponentType, const std::string &myParentName)
 Create a handle ('smart pointer') to a gaudi component.

Private Attributes

std::string m_typeAndName

Detailed Description

Base class to handles to be used in lieu of naked pointers to various Gaudi components.

This allows better control through the framework of component loading, configuration and usage. This base class implements common features.

Author:
Martin.Woudstra@cern.ch

Definition at line 80 of file GaudiHandle.h.


Constructor & Destructor Documentation

GaudiHandleBase::GaudiHandleBase ( const std::string &  myTypeAndName,
const std::string &  myComponentType,
const std::string &  myParentName 
) [inline, protected]

Create a handle ('smart pointer') to a gaudi component.

Parameters:
myTypeAndName,: "MyType/MyName" ("MyType" is short for "MyType/MyType") 'MyType' is the name of the concrete class of the component 'MyName' is to distinguish several instances of the same concrete class
myComponentType,: string indicating what type of component the handle is pointing to. For example: "PublicTool", "PrivateTool", "Service". This is used for printout and on the python side for type checking. On the python side there are classes with these names with "Handle" appended: PublicToolHandle,PrivateToolHandle,ServiceHandle
myParentName,: Name of the parent that has this handle as a member. Used in printout.

Definition at line 96 of file GaudiHandle.h.

00098     : GaudiHandleInfo(myComponentType,myParentName)
00099   {
00100     setTypeAndName(myTypeAndName);
00101   }


Member Function Documentation

std::string GaudiHandleBase::typeAndName (  )  const [inline]

The full type and name: "type/name".

Definition at line 107 of file GaudiHandle.h.

00107                                 { 
00108      return m_typeAndName;
00109   }

std::string GaudiHandleBase::type (  )  const

The concrete component class name: the part before the '/'.

std::string GaudiHandleBase::name (  )  const

The instance name: the part after the '/'.

bool GaudiHandleBase::empty (  )  const [inline]

Check if the handle has been set to empty string (i.e.

typeAndName string is empty).

Definition at line 118 of file GaudiHandle.h.

00118                      {
00119     return m_typeAndName.empty();
00120   }

void GaudiHandleBase::setTypeAndName ( const std::string &  myTypeAndName  ) 

The component "type/name" string.

void GaudiHandleBase::setName ( const std::string &  myName  ) 

Set the instance name (part after the '/') without changing the class type.

const std::string GaudiHandleBase::pythonPropertyClassName (  )  const [virtual]

Name of the componentType with "Handle" appended.

Used as the python class name for the property in the genconf-generated configurables. The python class is defined in GaudiPython/python/GaudiHandles.py.

Implements GaudiHandleInfo.

const std::string GaudiHandleBase::messageName (  )  const

name used for printing messages

virtual const std::string GaudiHandleBase::pythonRepr (  )  const [virtual]

Python representation of handle, i.e.

python class name and argument. Can be used in the genconf-generated configurables. The corresponding python classes are defined in GaudiPython/GaudiHandles.py

Implements GaudiHandleInfo.

const std::string& GaudiHandleInfo::componentType (  )  const [inline, inherited]

Definition at line 33 of file GaudiHandle.h.

00033                                          {
00034      return m_componentType;
00035   }

const std::string& GaudiHandleInfo::propertyName (  )  const [inline, inherited]

name as used in declareProperty(name,gaudiHandle)

Definition at line 38 of file GaudiHandle.h.

00038                                         {
00039      return m_propertyName;
00040   }

void GaudiHandleInfo::setPropertyName ( const std::string &  propName  )  [inline, inherited]

set name as used in declareProperty(name,gaudiHandle).

Used in printout.

Definition at line 43 of file GaudiHandle.h.

00043                                                     {
00044     m_propertyName = propName;
00045   }

const std::string& GaudiHandleInfo::parentName (  )  const [inline, inherited]

The name of the parent.

Definition at line 48 of file GaudiHandle.h.

00048                                       {
00049     return m_parentName;
00050   }


Member Data Documentation

std::string GaudiHandleBase::m_typeAndName [private]

Definition at line 145 of file GaudiHandle.h.


The documentation for this class was generated from the following file:
| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

Generated on Mon Apr 11 19:57:07 2011 for GaudiKernel by doxygen 1.4.7