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

In This Package:

DetectorElement Class Reference

A "basic" implementation of Detector Description - Detector Element. More...

#include <DetDesc/DetectorElement.h>

Inheritance diagram for DetectorElement:

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

Public Types

typedef std::map< std::string,
SmartRef< Condition > > 
ConditionMap
 Type of the internal list of used conditions.
 DEFAULT
 ALWAYS_VALID
 FORCE_UPDATE
enum  UpdateModeFlag { DEFAULT, ALWAYS_VALID, FORCE_UPDATE }
 Possible stata of the update flag. More...
typedef std::vector< IDetectorElement * > IDEContainer
 SUCCESS
 NO_INTERFACE
 VERSMISMATCH
 LAST_ERROR
enum  Status

Public Member Functions

 DetectorElement (const std::string &name="NotYetDefined")
 Constructors.
virtual ~DetectorElement ()
 Destructor.
virtual StatusCode initialize ()
 This method initializes the detector element.
virtual const CLIDclID () const
 Obtain class ID.
virtual const std::string & name () const
 "accessor": name/identifier of the Detector Element
virtual bool hasCondition (const std::string &name) const
 Check if the condition called 'name' is in the list of conditionrefs.
virtual SmartRef< Conditioncondition (const std::string &name) const
 Return the SmartRef for the condition called 'name'.
ConditionMap::const_iterator conditionBegin () const
 Iterator to the first element of the list of conditions.
ConditionMap::const_iterator conditionEnd () const
 Iterator to the last+1 element of the list of conditions.
IGeometryInfogeometry ()
 delegation for geometry
const IGeometryInfogeometry () const
 delegation for geometry (const version)
bool isInside (const Gaudi::XYZPoint &globalPoint) const
 helper member using IGeometryInfo::isInside
const IDetectorElementchildDEWithPoint (const Gaudi::XYZPoint &globalPoint) const
IAlignmentalignment ()
 delegation for alignnment
const IAlignmentalignment () const
 delegation for alignment (const version)
ICalibrationcalibration ()
 "accessor": delegates the ICalibration Interface
const ICalibrationcalibration () const
 "accessor": delegates the ICalibration Interface (const)
IReadOutreadOut ()
 "accessor": delegates the IReadOut Interface
const IReadOutreadOut () const
 "accessor": delegates the IReadOut Interface (const)
ISlowControlslowControl ()
 "accessor": delegates the ISlowControl Interface
const ISlowControlslowControl () const
 "accessor": delegates the ISlowControl Interface (const)
IFastControlfastControl ()
 "accessor": delegates the IFastControl Interface
const IFastControlfastControl () const
 operator IGeometryInfo * ()
 Another way of accessiong the information: "pseudo-conversion" cast to IGeometryInfo*.
 operator const IGeometryInfo * () const
 cast to const IGeometryInfo*
 operator IAlignment * ()
 cast to IAlignment*
 operator const IAlignment * () const
 cast to const IAlignment*
 operator ICalibration * ()
 cast to ICalibration*
 operator const ICalibration * () const
 cast to const ICalibration*
 operator IReadOut * ()
 cast to IReadOut*
 operator const IReadOut * () const
 cast to const IReadOut*
 operator ISlowControl * ()
 cast to ISlowControl*
 operator const ISlowControl * () const
 cast to const ISlowControl*
 operator IFastControl * ()
 cast to IFastControl*
 operator const IFastControl * () const
 cast to const IFastControl*
 operator IGeometryInfo & ()
 cast to IGeometryInfo&
 operator const IGeometryInfo & () const
 cast to const IGeometryInfo&
 operator IAlignment & ()
 cast to IAlingment&
 operator const IAlignment & () const
 cast to const IAlignment&
 operator ICalibration & ()
 cast to ICalibration&
 operator const ICalibration & () const
 cast to const ICalibration&
 operator IReadOut & ()
 cast to IReadOut&
 operator const IReadOut & () const
 cast to const IReadOut&
 operator ISlowControl & ()
 cast to ISlowControl&
 operator const ISlowControl & () const
 cast to const ISlowControl&
 operator IFastControl & ()
 cast to IFastControl&
 operator const IFastControl & () const
 cast to const IFastControl&
virtual std::ostream & printOut (std::ostream &) const
 functions for listing of objects, used in overloaded << operations
IDetectorElementreset ()
 reset to the initial state
virtual MsgStreamprintOut (MsgStream &) const
virtual IDetectorElementparentIDetectorElement () const
 some functions to simplify the navigation (according to feedback after release 3) pointer to parent IDetectorElement (const version)
virtual IDetectorElement::IDEContainerchildIDetectorElements () const
 (reference to) container of pointers to child detector elements
virtual IDetectorElement::IDEContainer::iterator childBegin ()
 iterators for manipulation of daughter elements begin iterator
virtual IDetectorElement::IDEContainer::const_iterator childBegin () const
virtual IDetectorElement::IDEContainer::iterator childEnd ()
 end iterator
virtual IDetectorElement::IDEContainer::const_iterator childEnd () const
virtual const ParamValidDataObjectparams () const
 Method used to access the ParamValidDataObject methods from IDetectorElement interface.
virtual int sensitiveVolumeID (const Gaudi::XYZPoint &globalPos) const
 Return a sensitive volume identifier for a given point in the global reference frame.
void createCondition (std::string &name, std::string &path)
 Used to create a link with a given name to the condition at 'path' in the detector data store.
virtual std::vector< std::string > conditionNames () const
 Returns list of existing parameter vectors as a vector of their names.
const IGeometryInfocreateGeometryInfo ()
 specific
const IGeometryInfocreateGeometryInfo (const std::string &logVol)
const IGeometryInfocreateGeometryInfo (const std::string &logVol, const std::string &support, const ILVolume::ReplicaPath &replicaPath)
const IGeometryInfocreateGeometryInfo (const std::string &logVol, const std::string &support, const ILVolume::ReplicaPath &replicaPath, const std::string &alignmentPath)
const IGeometryInfocreateGeometryInfo (const std::string &logVol, const std::string &support, const std::string &namePath)
const IGeometryInfocreateGeometryInfo (const std::string &logVol, const std::string &support, const std::string &namePath, const std::string &alignmentPath)
const IAlignmentcreateAlignment (const std::string &condition)
const ICalibrationcreateCalibration (const std::string &condition)
const IReadOutcreateReadOut (const std::string &condition)
const ISlowControlcreateSlowControl (const std::string &condition)
const IFastControlcreateFastControl (const std::string &condition)
virtual unsigned long addRef ()
virtual unsigned long release ()
virtual StatusCode queryInterface (const InterfaceID &riid, void **ppvInterface)
virtual void update (ValidDataObject &obj)
 Do the deep copy.
virtual StatusCode update ()
 Update the current object and all the useds one (children, references, etc) only if needed, of course.
virtual std::ostream & fillStream (std::ostream &s) const
 Fill the output stream (ASCII).
bool exists (const std::string &name) const
 Check if the parameter with the given name exists.
virtual const std::type_info & type (const std::string &name) const
 TypeId of the parameter.
template<class T>
bool is (const std::string &name) const
 Check the type of a parameter (commodity function).
bool isVector (const std::string &name) const
 Check if the parameter is a vector.
virtual std::string comment (const std::string &name) const
 Get the comment of a parameter.
virtual void setComment (const std::string &name, const char *comm)
 Set the comment of a parameter.
template<class T>
const T & param (const std::string &name) const
 Give a read-only accessor to a parameter.
template<class T>
T & param (const std::string &name)
 Give a read/write accessor to a parameter.
template<class T>
const std::vector< T > & paramVect (const std::string &name) const
 Give a read-only accessor to a parameter vector.
template<class T>
std::vector< T > & paramVect (const std::string &name)
 Give a read/write accessor to a parameter vector.
virtual const std::string & paramAsString (const std::string &name) const
 Get the value of a parameter, as a string.
virtual std::string & paramAsString (const std::string &name)
 Get the value of a parameter, as a string (non const version).
virtual int paramAsInt (const std::string &name) const
 Get the value of a parameter, as an int.
virtual double paramAsDouble (const std::string &name) const
 Get the value of a parameter, as a double.
virtual const std::vector<
std::string > & 
paramAsStringVect (const std::string &name) const
 Get the value of a parameter, as a string.
virtual std::vector< std::string > & paramAsStringVect (const std::string &name)
 Get the value of a parameter, as a string.
virtual const std::vector<
int > & 
paramAsIntVect (const std::string &name) const
 Get the value of a parameter, as an int.
virtual std::vector< int > & paramAsIntVect (const std::string &name)
 Get the value of a parameter, as an int.
virtual const std::vector<
double > & 
paramAsDoubleVect (const std::string &name) const
 Get the value of a parameter, as a double.
virtual std::vector< double > & paramAsDoubleVect (const std::string &name)
 Get the value of a parameter, as a double.
virtual std::vector< std::string > paramNames () const
 Returns list of existing parameter vectors as a vector of their names.
virtual std::string printParams () const
 Print the parameters on a string.
virtual std::string paramToString (const std::string &name, int precision) const
 Convert a parameter to a string (for xml representation).
template<class T>
void addParam (const std::string &name, const T &value, const std::string &comment=std::string())
void addBasicParam (const std::string &name, const BasicParam *p, const std::string &comment=std::string())
virtual bool isValid () const
 Check if the data object has a well defined validity range.
virtual bool isValid (const Gaudi::Time &t) const
 Check if the data object is valid at the specified time.
virtual const Gaudi::Time & validSince () const
 Get start of validity.
virtual const Gaudi::Time & validTill () const
 Get end of validity.
virtual void setValidity (const Gaudi::Time &since, const Gaudi::Time &till)
 Set validity range.
virtual void setValiditySince (const Gaudi::Time &since)
 Set start of validity.
virtual void setValidityTill (const Gaudi::Time &till)
 Set end of validity.
virtual const UpdateModeFlagupdateMode () const
 Return the update mode: ValidDataObject::DEFAULT -> use the actual validity
ValidDataObject::ALWAYS_VALID -> never update ValidDataObject::FORCE_UPDATE -> force an update even if still valid (then back to DEFAULT behaviour).
virtual void setUpdateMode (UpdateModeFlag mode)
 Set the mode for update.
virtual void defaultUpdateMode ()
virtual void forceUpdateMode ()
virtual void neverUpdateMode ()
void setRegistry (IRegistry *pRegistry)
IRegistryregistry () const
LinkManagerlinkMgr () const
unsigned char version () const
void setVersion (unsigned char vsn)
unsigned long refCount () const
virtual StreamBufferserialize (StreamBuffer &s)
virtual StreamBufferserialize (StreamBuffer &s) const

Static Public Member Functions

static const CLIDclassID ()
 Class ID of this class.
static const InterfaceIDinterfaceID ()
 retrieve the unique interface identifier

Public Attributes

 SUCCESS
 NO_INTERFACE
 VERSMISMATCH
 LAST_ERROR

Protected Member Functions

void setGeometry (IGeometryInfo *geoInfo)
 specific
IDataProviderSvcdataSvc () const
IMessageSvcmsgSvc () const
IUpdateManagerSvcupdMgrSvc () const
void Assert (bool assertion, const std::string &message="DetectorElement Unknown Exception") const
void Assert (bool assertion, const char *message) const

Private Types

 DOUBLE
 INT
 OTHER
enum  userParamKind { DOUBLE, INT, OTHER }
 This defines the type of a userParameter. More...

Private Attributes

IGeometryInfom_de_iGeometry
IAlignmentm_de_iAlignment
ICalibrationm_de_iCalibration
IReadOutm_de_iReadOut
ISlowControlm_de_iSlowControl
IFastControlm_de_iFastControl
ConditionMap m_de_conditions
 Container of the SmartRefs for the conditions.
bool m_de_childrensLoaded
IDetectorElement::IDEContainer m_de_childrens
DetDesc::Servicesm_services
 reference to services

Friends

class DataObjectFactory< DetectorElement >
friend std::ostream & operator<< (std::ostream &s, const DataObject &obj)

Detailed Description

A "basic" implementation of Detector Description - Detector Element.

Author:
Sebastien Ponce

Rado Chytracek

Ivan Belyaev

Marco Clemencic

Juan Palacios

Definition at line 46 of file DetectorElement.h.


Member Typedef Documentation

typedef std::map<std::string,SmartRef<Condition> > DetectorElement::ConditionMap

Type of the internal list of used conditions.

Definition at line 53 of file DetectorElement.h.

typedef std::vector<IDetectorElement*> IDetectorElement::IDEContainer [inherited]

Definition at line 47 of file IDetectorElement.h.


Member Enumeration Documentation

enum DetectorElement::userParamKind [private]

This defines the type of a userParameter.

Enumerator:
DOUBLE 
INT 
OTHER 

Definition at line 349 of file DetectorElement.h.

00349 { DOUBLE, INT, OTHER };

enum ValidDataObject::UpdateModeFlag [inherited]

Possible stata of the update flag.

Enumerator:
DEFAULT 
ALWAYS_VALID 
FORCE_UPDATE 

Definition at line 102 of file ValidDataObject.h.

00102                       {
00103     DEFAULT,
00104     ALWAYS_VALID,
00105     FORCE_UPDATE
00106   };


Constructor & Destructor Documentation

DetectorElement::DetectorElement ( const std::string &  name = "NotYetDefined"  ) 

Constructors.

virtual DetectorElement::~DetectorElement (  )  [virtual]

Destructor.


Member Function Documentation

virtual StatusCode DetectorElement::initialize (  )  [virtual]

This method initializes the detector element.

It should be overridden and used for computation purposes. This is a kind of hook for adding user code easily in the initialization of a detector element.

Implements IDetectorElement.

virtual const CLID& DetectorElement::clID (  )  const [inline, virtual]

Obtain class ID.

Reimplemented from ValidDataObject.

Definition at line 73 of file DetectorElement.h.

00073 { return classID(); }

static const CLID& DetectorElement::classID (  )  [inline, static]

Class ID of this class.

Reimplemented from ValidDataObject.

Definition at line 74 of file DetectorElement.h.

00074 { return CLID_DetectorElement; }

virtual const std::string& DetectorElement::name (  )  const [virtual]

"accessor": name/identifier of the Detector Element

Implements IDetectorElement.

virtual bool DetectorElement::hasCondition ( const std::string &  name  )  const [virtual]

Check if the condition called 'name' is in the list of conditionrefs.

Implements IDetectorElement.

virtual SmartRef<Condition> DetectorElement::condition ( const std::string &  name  )  const [virtual]

Return the SmartRef for the condition called 'name'.

Implements IDetectorElement.

ConditionMap::const_iterator DetectorElement::conditionBegin (  )  const [inline]

Iterator to the first element of the list of conditions.

Definition at line 85 of file DetectorElement.h.

00086   { return m_de_conditions.begin(); }

ConditionMap::const_iterator DetectorElement::conditionEnd (  )  const [inline]

Iterator to the last+1 element of the list of conditions.

Definition at line 89 of file DetectorElement.h.

00090   { return m_de_conditions.end(); }

IGeometryInfo* DetectorElement::geometry (  )  [inline, virtual]

delegation for geometry

Implements IDetectorElement.

const IGeometryInfo* DetectorElement::geometry (  )  const [inline, virtual]

delegation for geometry (const version)

Implements IDetectorElement.

bool DetectorElement::isInside ( const Gaudi::XYZPoint globalPoint  )  const

helper member using IGeometryInfo::isInside

const IDetectorElement* DetectorElement::childDEWithPoint ( const Gaudi::XYZPoint globalPoint  )  const

IAlignment* DetectorElement::alignment (  )  [inline, virtual]

delegation for alignnment

Implements IDetectorElement.

const IAlignment* DetectorElement::alignment (  )  const [inline, virtual]

delegation for alignment (const version)

Implements IDetectorElement.

ICalibration* DetectorElement::calibration (  )  [inline, virtual]

"accessor": delegates the ICalibration Interface

Implements IDetectorElement.

const ICalibration* DetectorElement::calibration (  )  const [inline, virtual]

"accessor": delegates the ICalibration Interface (const)

Implements IDetectorElement.

IReadOut* DetectorElement::readOut (  )  [inline, virtual]

"accessor": delegates the IReadOut Interface

Implements IDetectorElement.

const IReadOut* DetectorElement::readOut (  )  const [inline, virtual]

"accessor": delegates the IReadOut Interface (const)

Implements IDetectorElement.

ISlowControl* DetectorElement::slowControl (  )  [inline, virtual]

"accessor": delegates the ISlowControl Interface

Implements IDetectorElement.

const ISlowControl* DetectorElement::slowControl (  )  const [inline, virtual]

"accessor": delegates the ISlowControl Interface (const)

Implements IDetectorElement.

IFastControl* DetectorElement::fastControl (  )  [inline, virtual]

"accessor": delegates the IFastControl Interface

Implements IDetectorElement.

const IFastControl* DetectorElement::fastControl (  )  const [inline, virtual]

Implements IDetectorElement.

DetectorElement::operator IGeometryInfo * (  )  [inline, virtual]

Another way of accessiong the information: "pseudo-conversion" cast to IGeometryInfo*.

Implements IDetectorElement.

DetectorElement::operator const IGeometryInfo * (  )  const [inline, virtual]

cast to const IGeometryInfo*

Implements IDetectorElement.

DetectorElement::operator IAlignment * (  )  [inline, virtual]

cast to IAlignment*

Implements IDetectorElement.

DetectorElement::operator const IAlignment * (  )  const [inline, virtual]

cast to const IAlignment*

Implements IDetectorElement.

DetectorElement::operator ICalibration * (  )  [inline, virtual]

cast to ICalibration*

Implements IDetectorElement.

DetectorElement::operator const ICalibration * (  )  const [inline, virtual]

cast to const ICalibration*

Implements IDetectorElement.

DetectorElement::operator IReadOut * (  )  [inline, virtual]

cast to IReadOut*

Implements IDetectorElement.

DetectorElement::operator const IReadOut * (  )  const [inline, virtual]

cast to const IReadOut*

Implements IDetectorElement.

DetectorElement::operator ISlowControl * (  )  [inline, virtual]

cast to ISlowControl*

Implements IDetectorElement.

DetectorElement::operator const ISlowControl * (  )  const [inline, virtual]

cast to const ISlowControl*

Implements IDetectorElement.

DetectorElement::operator IFastControl * (  )  [inline, virtual]

cast to IFastControl*

Implements IDetectorElement.

DetectorElement::operator const IFastControl * (  )  const [inline, virtual]

cast to const IFastControl*

Implements IDetectorElement.

DetectorElement::operator IGeometryInfo & (  )  [inline, virtual]

cast to IGeometryInfo&

Implements IDetectorElement.

DetectorElement::operator const IGeometryInfo & (  )  const [inline, virtual]

cast to const IGeometryInfo&

Implements IDetectorElement.

DetectorElement::operator IAlignment & (  )  [inline, virtual]

cast to IAlingment&

Implements IDetectorElement.

DetectorElement::operator const IAlignment & (  )  const [inline, virtual]

cast to const IAlignment&

Implements IDetectorElement.

DetectorElement::operator ICalibration & (  )  [inline, virtual]

cast to ICalibration&

Implements IDetectorElement.

DetectorElement::operator const ICalibration & (  )  const [inline, virtual]

cast to const ICalibration&

Implements IDetectorElement.

DetectorElement::operator IReadOut & (  )  [inline, virtual]

cast to IReadOut&

Implements IDetectorElement.

DetectorElement::operator const IReadOut & (  )  const [inline, virtual]

cast to const IReadOut&

Implements IDetectorElement.

DetectorElement::operator ISlowControl & (  )  [inline, virtual]

cast to ISlowControl&

Implements IDetectorElement.

DetectorElement::operator const ISlowControl & (  )  const [inline, virtual]

cast to const ISlowControl&

Implements IDetectorElement.

DetectorElement::operator IFastControl & (  )  [inline, virtual]

cast to IFastControl&

Implements IDetectorElement.

DetectorElement::operator const IFastControl & (  )  const [inline, virtual]

cast to const IFastControl&

Implements IDetectorElement.

virtual std::ostream& DetectorElement::printOut ( std::ostream &   )  const [virtual]

functions for listing of objects, used in overloaded << operations

Implements IDetectorElement.

IDetectorElement* DetectorElement::reset (  )  [virtual]

reset to the initial state

Implements IDetectorElement.

virtual MsgStream& DetectorElement::printOut ( MsgStream  )  const [virtual]

virtual IDetectorElement* DetectorElement::parentIDetectorElement (  )  const [virtual]

some functions to simplify the navigation (according to feedback after release 3) pointer to parent IDetectorElement (const version)

Implements IDetectorElement.

virtual IDetectorElement::IDEContainer& DetectorElement::childIDetectorElements (  )  const [virtual]

(reference to) container of pointers to child detector elements

Implements IDetectorElement.

virtual IDetectorElement::IDEContainer::iterator DetectorElement::childBegin (  )  [inline, virtual]

iterators for manipulation of daughter elements begin iterator

Implements IDetectorElement.

Definition at line 234 of file DetectorElement.h.

00234                                                                    {
00235     return childIDetectorElements().begin();
00236   }

virtual IDetectorElement::IDEContainer::const_iterator DetectorElement::childBegin (  )  const [inline, virtual]

Implements IDetectorElement.

Definition at line 238 of file DetectorElement.h.

00238 { return childIDetectorElements().begin() ; }

virtual IDetectorElement::IDEContainer::iterator DetectorElement::childEnd (  )  [inline, virtual]

end iterator

Implements IDetectorElement.

Definition at line 240 of file DetectorElement.h.

00240 { return childIDetectorElements().end  () ; }

virtual IDetectorElement::IDEContainer::const_iterator DetectorElement::childEnd (  )  const [inline, virtual]

Implements IDetectorElement.

Definition at line 242 of file DetectorElement.h.

00242 { return childIDetectorElements().end  () ; }

virtual const ParamValidDataObject* DetectorElement::params (  )  const [virtual]

Method used to access the ParamValidDataObject methods from IDetectorElement interface.

Implements IDetectorElement.

virtual int DetectorElement::sensitiveVolumeID ( const Gaudi::XYZPoint globalPos  )  const [virtual]

Return a sensitive volume identifier for a given point in the global reference frame.

Implements IDetectorElement.

void DetectorElement::createCondition ( std::string &  name,
std::string &  path 
)

Used to create a link with a given name to the condition at 'path' in the detector data store.

virtual std::vector<std::string> DetectorElement::conditionNames (  )  const [virtual]

Returns list of existing parameter vectors as a vector of their names.

const IGeometryInfo* DetectorElement::createGeometryInfo (  ) 

specific

const IGeometryInfo* DetectorElement::createGeometryInfo ( const std::string &  logVol  ) 

const IGeometryInfo* DetectorElement::createGeometryInfo ( const std::string &  logVol,
const std::string &  support,
const ILVolume::ReplicaPath replicaPath 
)

const IGeometryInfo* DetectorElement::createGeometryInfo ( const std::string &  logVol,
const std::string &  support,
const ILVolume::ReplicaPath replicaPath,
const std::string &  alignmentPath 
)

const IGeometryInfo* DetectorElement::createGeometryInfo ( const std::string &  logVol,
const std::string &  support,
const std::string &  namePath 
)

const IGeometryInfo* DetectorElement::createGeometryInfo ( const std::string &  logVol,
const std::string &  support,
const std::string &  namePath,
const std::string &  alignmentPath 
)

const IAlignment* DetectorElement::createAlignment ( const std::string &  condition  ) 

const ICalibration* DetectorElement::createCalibration ( const std::string &  condition  ) 

const IReadOut* DetectorElement::createReadOut ( const std::string &  condition  ) 

const ISlowControl* DetectorElement::createSlowControl ( const std::string &  condition  ) 

const IFastControl* DetectorElement::createFastControl ( const std::string &  condition  ) 

virtual unsigned long DetectorElement::addRef (  )  [virtual]

Implements IInterface.

virtual unsigned long DetectorElement::release (  )  [virtual]

Implements IInterface.

virtual StatusCode DetectorElement::queryInterface ( const InterfaceID riid,
void **  ppvInterface 
) [virtual]

Implements IInterface.

void DetectorElement::setGeometry ( IGeometryInfo geoInfo  )  [inline, protected]

specific

Definition at line 317 of file DetectorElement.h.

00317 { m_de_iGeometry = geoInfo; }

IDataProviderSvc* DetectorElement::dataSvc (  )  const [protected]

IMessageSvc* DetectorElement::msgSvc (  )  const [protected]

IUpdateManagerSvc* DetectorElement::updMgrSvc (  )  const [protected]

void DetectorElement::Assert ( bool  assertion,
const std::string &  message = "DetectorElement Unknown Exception" 
) const [inline, protected]

void DetectorElement::Assert ( bool  assertion,
const char *  message 
) const [inline, protected]

virtual void ParamValidDataObject::update ( ValidDataObject obj  )  [virtual, inherited]

Do the deep copy.

Reimplemented from ValidDataObject.

Reimplemented in Condition.

virtual StatusCode ValidDataObject::update (  )  [virtual, inherited]

Update the current object and all the useds one (children, references, etc) only if needed, of course.

This method must be reimplemented for more complex objects.

virtual std::ostream& ParamValidDataObject::fillStream ( std::ostream &  s  )  const [virtual, inherited]

Fill the output stream (ASCII).

Reimplemented from ValidDataObject.

Reimplemented in AlignmentCondition.

bool ParamValidDataObject::exists ( const std::string &  name  )  const [inherited]

Check if the parameter with the given name exists.

virtual const std::type_info& ParamValidDataObject::type ( const std::string &  name  )  const [virtual, inherited]

TypeId of the parameter.

template<class T>
bool ParamValidDataObject::is ( const std::string &  name  )  const [inline, inherited]

Check the type of a parameter (commodity function).

Definition at line 58 of file ParamValidDataObject.h.

00058                                               {
00059     return type(name) == typeid(T);
00060   }

bool ParamValidDataObject::isVector ( const std::string &  name  )  const [inherited]

Check if the parameter is a vector.

virtual std::string ParamValidDataObject::comment ( const std::string &  name  )  const [virtual, inherited]

Get the comment of a parameter.

virtual void ParamValidDataObject::setComment ( const std::string &  name,
const char *  comm 
) [virtual, inherited]

Set the comment of a parameter.

template<class T>
const T& ParamValidDataObject::param ( const std::string &  name  )  const [inline, inherited]

Give a read-only accessor to a parameter.

Definition at line 73 of file ParamValidDataObject.h.

00073                                                      {
00074     ParamList::const_iterator i = m_paramList.find(name);
00075     if ( i == m_paramList.end() ) throw ParamException(name);
00076     try {
00077       return i->second-> template get<T>();
00078     } catch (std::bad_cast) {
00079       throw ParamException(name,typeid(T),i->second->type());
00080     }
00081   }

template<class T>
T& ParamValidDataObject::param ( const std::string &  name  )  [inline, inherited]

Give a read/write accessor to a parameter.

Definition at line 85 of file ParamValidDataObject.h.

00085                                          {
00086     ParamList::iterator i = m_paramList.find(name);
00087     if ( i == m_paramList.end() ) throw ParamException(name);
00088     try {
00089       return i->second-> template get<T>();
00090     } catch (std::bad_cast) {
00091       throw ParamException(name,typeid(T),i->second->type());
00092     }
00093   }

template<class T>
const std::vector<T>& ParamValidDataObject::paramVect ( const std::string &  name  )  const [inline, inherited]

Give a read-only accessor to a parameter vector.

Definition at line 97 of file ParamValidDataObject.h.

00097                                                                     {
00098     return param<std::vector<T> >(name);
00099   }

template<class T>
std::vector<T>& ParamValidDataObject::paramVect ( const std::string &  name  )  [inline, inherited]

Give a read/write accessor to a parameter vector.

Definition at line 103 of file ParamValidDataObject.h.

00103                                                         {
00104     return param<std::vector<T> >(name);
00105   }

virtual const std::string& ParamValidDataObject::paramAsString ( const std::string &  name  )  const [virtual, inherited]

Get the value of a parameter, as a string.

virtual std::string& ParamValidDataObject::paramAsString ( const std::string &  name  )  [virtual, inherited]

Get the value of a parameter, as a string (non const version).

virtual int ParamValidDataObject::paramAsInt ( const std::string &  name  )  const [virtual, inherited]

Get the value of a parameter, as an int.

virtual double ParamValidDataObject::paramAsDouble ( const std::string &  name  )  const [virtual, inherited]

Get the value of a parameter, as a double.

virtual const std::vector<std::string>& ParamValidDataObject::paramAsStringVect ( const std::string &  name  )  const [virtual, inherited]

Get the value of a parameter, as a string.

virtual std::vector<std::string>& ParamValidDataObject::paramAsStringVect ( const std::string &  name  )  [virtual, inherited]

Get the value of a parameter, as a string.

virtual const std::vector<int>& ParamValidDataObject::paramAsIntVect ( const std::string &  name  )  const [virtual, inherited]

Get the value of a parameter, as an int.

virtual std::vector<int>& ParamValidDataObject::paramAsIntVect ( const std::string &  name  )  [virtual, inherited]

Get the value of a parameter, as an int.

virtual const std::vector<double>& ParamValidDataObject::paramAsDoubleVect ( const std::string &  name  )  const [virtual, inherited]

Get the value of a parameter, as a double.

virtual std::vector<double>& ParamValidDataObject::paramAsDoubleVect ( const std::string &  name  )  [virtual, inherited]

Get the value of a parameter, as a double.

virtual std::vector<std::string> ParamValidDataObject::paramNames (  )  const [virtual, inherited]

Returns list of existing parameter vectors as a vector of their names.

virtual std::string ParamValidDataObject::printParams (  )  const [virtual, inherited]

Print the parameters on a string.

virtual std::string ParamValidDataObject::paramToString ( const std::string &  name,
int  precision 
) const [virtual, inherited]

Convert a parameter to a string (for xml representation).

template<class T>
void ParamValidDataObject::addParam ( const std::string &  name,
const T &  value,
const std::string &  comment = std::string() 
) [inline, inherited]

Definition at line 149 of file ParamValidDataObject.h.

00149                                                                                                    {
00150         m_paramList.add(name,value);
00151         if (!comment.empty()) {
00152           m_comments[name] = comment;
00153         }
00154   }

void ParamValidDataObject::addBasicParam ( const std::string &  name,
const BasicParam p,
const std::string &  comment = std::string() 
) [inline, inherited]

Definition at line 156 of file ParamValidDataObject.h.

00156                                                                                                              {
00157         m_paramList.addBasicParam(name,p);
00158         if (!comment.empty()) {
00159           m_comments[name] = comment;
00160         }
00161   }

virtual bool ValidDataObject::isValid (  )  const [virtual, inherited]

Check if the data object has a well defined validity range.

Implements IValidity.

virtual bool ValidDataObject::isValid ( const Gaudi::Time &  t  )  const [virtual, inherited]

Check if the data object is valid at the specified time.

Implements IValidity.

virtual const Gaudi::Time& ValidDataObject::validSince (  )  const [virtual, inherited]

Get start of validity.

Implements IValidity.

virtual const Gaudi::Time& ValidDataObject::validTill (  )  const [virtual, inherited]

Get end of validity.

Implements IValidity.

virtual void ValidDataObject::setValidity ( const Gaudi::Time &  since,
const Gaudi::Time &  till 
) [virtual, inherited]

Set validity range.

Implements IValidity.

virtual void ValidDataObject::setValiditySince ( const Gaudi::Time &  since  )  [virtual, inherited]

Set start of validity.

Implements IValidity.

virtual void ValidDataObject::setValidityTill ( const Gaudi::Time &  till  )  [virtual, inherited]

Set end of validity.

Implements IValidity.

virtual const UpdateModeFlag& ValidDataObject::updateMode (  )  const [virtual, inherited]

Return the update mode: ValidDataObject::DEFAULT -> use the actual validity
ValidDataObject::ALWAYS_VALID -> never update ValidDataObject::FORCE_UPDATE -> force an update even if still valid (then back to DEFAULT behaviour).

virtual void ValidDataObject::setUpdateMode ( UpdateModeFlag  mode  )  [virtual, inherited]

Set the mode for update.

virtual void ValidDataObject::defaultUpdateMode (  )  [virtual, inherited]

virtual void ValidDataObject::forceUpdateMode (  )  [virtual, inherited]

virtual void ValidDataObject::neverUpdateMode (  )  [virtual, inherited]

static const InterfaceID& IDetectorElement::interfaceID (  )  [inline, static, inherited]

retrieve the unique interface identifier

Returns:
the unique interface identifier

Reimplemented from IInterface.

Definition at line 54 of file IDetectorElement.h.

00054 { return IID_IDetectorElement; }


Friends And Related Function Documentation

friend class DataObjectFactory< DetectorElement > [friend]

Definition at line 49 of file DetectorElement.h.


Member Data Documentation

IGeometryInfo* DetectorElement::m_de_iGeometry [private]

Definition at line 335 of file DetectorElement.h.

IAlignment* DetectorElement::m_de_iAlignment [private]

Definition at line 336 of file DetectorElement.h.

ICalibration* DetectorElement::m_de_iCalibration [private]

Definition at line 337 of file DetectorElement.h.

IReadOut* DetectorElement::m_de_iReadOut [private]

Definition at line 338 of file DetectorElement.h.

ISlowControl* DetectorElement::m_de_iSlowControl [private]

Definition at line 339 of file DetectorElement.h.

IFastControl* DetectorElement::m_de_iFastControl [private]

Definition at line 340 of file DetectorElement.h.

ConditionMap DetectorElement::m_de_conditions [private]

Container of the SmartRefs for the conditions.

Definition at line 343 of file DetectorElement.h.

bool DetectorElement::m_de_childrensLoaded [mutable, private]

Definition at line 345 of file DetectorElement.h.

IDetectorElement::IDEContainer DetectorElement::m_de_childrens [mutable, private]

Definition at line 346 of file DetectorElement.h.

DetDesc::Services* DetectorElement::m_services [private]

reference to services

Definition at line 352 of file DetectorElement.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 20:00:17 2011 for DetDesc by doxygen 1.4.7