DD4hep  1.28.0
Detector Description Toolkit for High Energy Physics
Public Types | Public Member Functions | Static Public Member Functions | List of all members
dd4hep::Detector Class Referenceabstract

The main interface to the dd4hep detector description package. More...

#include <Detector.h>

Inheritance diagram for dd4hep::Detector:
dd4hep::DetectorImp

Public Types

enum  State { NOT_READY = 1<<0, LOADING = 1<<1, READY = 1<<2 }
 The detector description states. More...
 
typedef std::map< std::string, Handle< NamedObject > > HandleMap
 Type definition of a map of named handles. More...
 
typedef std::map< std::string, std::string > PropertyValues
 
typedef std::map< std::string, PropertyValuesProperties
 

Public Member Functions

virtual ~Detector ()=default
 Destructor. More...
 
virtual DetectorBuildType buildType () const =0
 Access flag to steer the detail of building of the geometry/detector description. More...
 
virtual void init ()=0
 Initialize geometry. More...
 
virtual void endDocument (bool close_geometry=true)=0
 Finalize the geometry. More...
 
virtual State state () const =0
 Access the state of the geometry. More...
 
virtual TGeoManager & manager () const =0
 Access the geometry manager of this instance. More...
 
virtual Propertiesproperties () const =0
 Access to properties map. More...
 
virtual Material air () const =0
 Return handle to material describing air. More...
 
virtual Material vacuum () const =0
 Return handle to material describing vacuum. More...
 
virtual VisAttr invisible () const =0
 Return handle to "invisible" visualization attributes. More...
 
virtual DetElement world () const =0
 Return reference to the top-most (world) detector element. More...
 
virtual DetElement trackers () const =0
 Return reference to detector element with all tracker devices. More...
 
virtual Volume worldVolume () const =0
 Return handle to the world volume containing everything. More...
 
virtual Volume parallelWorldVolume () const =0
 Return handle to the parallel world volume. More...
 
virtual Volume trackingVolume () const =0
 Return handle to the volume containing the tracking devices. More...
 
virtual void setTrackingVolume (Volume vol)=0
 Set the tracking volume of the detector. More...
 
virtual VolumeManager volumeManager () const =0
 Return handle to the VolumeManager. More...
 
virtual OpticalSurfaceManager surfaceManager () const =0
 Access the optical surface manager. More...
 
virtual const STD_ConditionsstdConditions () const =0
 Access default conditions (temperature and pressure. More...
 
virtual void setStdConditions (double temp, double pressure)=0
 Set the STD temperature and pressure. More...
 
virtual void setStdConditions (const std::string &type)=0
 Set the STD conditions according to defined types (STP or NTP) More...
 
virtual Header header () const =0
 Accessor to the map of header entries. More...
 
virtual void setHeader (Header h)=0
 Accessor to the header entry. More...
 
virtual OverlayedField field () const =0
 Return handle to the combined electromagentic field description. More...
 
virtual const HandleMapconstants () const =0
 Accessor to the map of constants. More...
 
virtual const HandleMapregions () const =0
 Accessor to the map of region settings. More...
 
virtual const HandleMapdetectors () const =0
 Accessor to the map of sub-detectors. More...
 
virtual const HandleMapsensitiveDetectors () const =0
 Accessor to the map of sub-detectors. More...
 
virtual const HandleMapreadouts () const =0
 Accessor to the map of readout structures. More...
 
virtual const HandleMapvisAttributes () const =0
 Accessor to the map of visualisation attributes. More...
 
virtual const HandleMaplimitsets () const =0
 Accessor to the map of limit settings. More...
 
virtual const HandleMapfields () const =0
 Accessor to the map of field entries, which together form the global field. More...
 
virtual const HandleMapidSpecifications () const =0
 Accessor to the map of ID specifications. More...
 
virtual const std::vector< DetElement > & detectors (const std::string &type, bool throw_exc=false) const =0
 Access a set of subdetectors according to the sensitive type. More...
 
virtual std::vector< DetElementdetectors (const std::string &type1, const std::string &type2, const std::string &type3="", const std::string &type4="", const std::string &type5="")=0
 Access a set of subdetectors according to several sensitive types. More...
 
virtual std::vector< std::string > detectorTypes () const =0
 Access the availible detector types. More...
 
virtual std::vector< DetElementdetectors (unsigned int includeFlag, unsigned int excludeFlag=0) const =0
 
virtual void declareParent (const std::string &detector_name, const DetElement &det)=0
 Register new parent detector using the detector name. More...
 
virtual Volume pickMotherVolume (const DetElement &sd) const =0
 Access mother volume by detector element. More...
 
virtual std::string constantAsString (const std::string &name) const =0
 Typed access to constants: access string values. More...
 
virtual long constantAsLong (const std::string &name) const =0
 Typed access to constants: long values. More...
 
virtual double constantAsDouble (const std::string &name) const =0
 Typed access to constants: double values. More...
 
virtual Constant constant (const std::string &name) const =0
 Retrieve a constant by its name from the detector description. More...
 
template<class T >
constant (const std::string &name) const
 Typed access to constants: access any type values. More...
 
virtual Material material (const std::string &name) const =0
 Retrieve a matrial by its name from the detector description. More...
 
virtual IDDescriptor idSpecification (const std::string &name) const =0
 Retrieve a id descriptor by its name from the detector description. More...
 
virtual Region region (const std::string &name) const =0
 Retrieve a region object by its name from the detector description. More...
 
virtual VisAttr visAttributes (const std::string &name) const =0
 Retrieve a visualization attribute by its name from the detector description. More...
 
virtual LimitSet limitSet (const std::string &name) const =0
 Retrieve a limitset by its name from the detector description. More...
 
virtual Readout readout (const std::string &name) const =0
 Retrieve a readout object by its name from the detector description. More...
 
virtual SensitiveDetector sensitiveDetector (const std::string &name) const =0
 Retrieve a sensitive detector by its name from the detector description. More...
 
virtual CartesianField field (const std::string &name) const =0
 Retrieve a field component by its name from the detector description. More...
 
virtual DetElement detector (const std::string &name) const =0
 Retrieve a subdetector element by its name from the detector description. More...
 
virtual Detectoradd (Constant constant)=0
 Add a new constant to the detector description. More...
 
virtual Detectoradd (VisAttr attr)=0
 Add a new visualisation attribute to the detector description. More...
 
virtual Detectoradd (LimitSet limitset)=0
 Add a new limit set to the detector description. More...
 
virtual Detectoradd (Region region)=0
 Add a new detector region to the detector description. More...
 
virtual Detectoradd (IDDescriptor spec)=0
 Add a new id descriptor to the detector description. More...
 
virtual Detectoradd (Readout readout)=0
 Add a new detector readout to the detector description. More...
 
virtual Detectoradd (SensitiveDetector entry)=0
 Add a new sensitive detector to the detector description. More...
 
virtual Detectoradd (DetElement detector)=0
 Add a new subdetector to the detector description. More...
 
virtual Detectoradd (CartesianField entry)=0
 Add a field component to the detector description. More...
 
virtual DetectoraddConstant (const Handle< NamedObject > &element)=0
 Add a new constant by named reference to the detector description. More...
 
virtual DetectoraddVisAttribute (const Handle< NamedObject > &element)=0
 Add a new visualisation attribute by named reference to the detector description. More...
 
virtual DetectoraddLimitSet (const Handle< NamedObject > &limset)=0
 Add a new limit set by named reference to the detector description. More...
 
virtual DetectoraddIDSpecification (const Handle< NamedObject > &element)=0
 Add a new id descriptor by named reference to the detector description. More...
 
virtual DetectoraddRegion (const Handle< NamedObject > &region)=0
 Add a new detector region by named reference to the detector description. More...
 
virtual DetectoraddReadout (const Handle< NamedObject > &readout)=0
 Add a new detector readout by named reference to the detector description. More...
 
virtual DetectoraddSensitiveDetector (const Handle< NamedObject > &element)=0
 Add a new sensitive detector by named reference to the detector description. More...
 
virtual DetectoraddDetector (const Handle< NamedObject > &detector)=0
 Add a new subdetector by named reference to the detector description. More...
 
virtual DetectoraddField (const Handle< NamedObject > &field)=0
 Add a field component by named reference to the detector description. More...
 
virtual void fromCompact (const std::string &fname, DetectorBuildType type=BUILD_DEFAULT)=0
 Deprecated call (use fromXML): Read compact geometry description or alignment file. More...
 
virtual void fromXML (const std::string &fname, DetectorBuildType type=BUILD_DEFAULT)=0
 Read any geometry description or alignment file. More...
 
virtual void fromXML (const std::string &fname, xml::UriReader *entity_resolver, DetectorBuildType type=BUILD_DEFAULT)=0
 Read any geometry description or alignment file with external XML entity resolution. More...
 
virtual void dump () const =0
 Stupid legacy method. More...
 
virtual long apply (const char *factory, int argc, char **argv) const =0
 Manipulate geometry using factory converter. More...
 
virtual void * addUserExtension (unsigned long long int key, ExtensionEntry *entry)=0
 Add an extension object to the detector element (low level member function) More...
 
virtual void * removeUserExtension (unsigned long long int key, bool destroy)=0
 Remove an existing extension object from the Detector instance. More...
 
virtual void * userExtension (unsigned long long int key, bool alert=true) const =0
 Access an existing extension object from the detector element (low level member function) More...
 
template<typename IFACE , typename CONCRETE >
IFACE * addExtension (CONCRETE *c)
 Extend the sensitive detector element with an arbitrary structure accessible by the type. More...
 
template<class IFACE >
IFACE * removeExtension (bool destroy=true)
 Remove an existing extension object from the Detector instance. If not destroyed, the instance is returned. More...
 
template<class IFACE >
IFACE * extension (bool alert=true) const
 Access extension element by the type. More...
 
template<>
short constant (const std::string &name) const
 Typed access to constants: short values. More...
 
template<>
unsigned short constant (const std::string &name) const
 Typed access to constants: unsigned short values. More...
 
template<>
int constant (const std::string &name) const
 Typed access to constants: integer values. More...
 
template<>
unsigned int constant (const std::string &name) const
 Typed access to constants: unsigned integer values. More...
 
template<>
long constant (const std::string &name) const
 Typed access to constants: long values. More...
 
template<>
unsigned long constant (const std::string &name) const
 Typed access to constants: unsigned long values. More...
 
template<>
float constant (const std::string &name) const
 Typed access to constants: float values. More...
 
template<>
double constant (const std::string &name) const
 Typed access to constants: double values. More...
 

Static Public Member Functions

static DetectorgetInstance (const std::string &name="default")
 —Factory method----— More...
 
static void destroyInstance (const std::string &name="default")
 Destroy the singleton instance. More...
 
static std::unique_ptr< Detectormake_unique (const std::string &name)
 Unique creation without internal registration. More...
 

Detailed Description

The main interface to the dd4hep detector description package.

Note: The usage of the factory method:

static Detector& getInstance(void);

is DEPRECATED!

You should rather use the plugin mechanism to create a new instance.

Author
M.Frank
Version
1.0

Definition at line 90 of file Detector.h.

Member Typedef Documentation

◆ HandleMap

typedef std::map<std::string, Handle<NamedObject> > dd4hep::Detector::HandleMap

Type definition of a map of named handles.

Definition at line 93 of file Detector.h.

◆ Properties

typedef std::map<std::string, PropertyValues> dd4hep::Detector::Properties

Definition at line 95 of file Detector.h.

◆ PropertyValues

typedef std::map<std::string, std::string> dd4hep::Detector::PropertyValues

Definition at line 94 of file Detector.h.

Member Enumeration Documentation

◆ State

The detector description states.

Enumerator
NOT_READY 

The detector description object is freshly created. No geometry nothing.

LOADING 

The geometry is being created and loaded. (parsing ongoing)

READY 

The geometry is loaded.

Definition at line 98 of file Detector.h.

Constructor & Destructor Documentation

◆ ~Detector()

virtual dd4hep::Detector::~Detector ( )
virtualdefault

Destructor.

Member Function Documentation

◆ add() [1/9]

virtual Detector& dd4hep::Detector::add ( CartesianField  entry)
pure virtual

Add a field component to the detector description.

Implemented in dd4hep::DetectorImp.

◆ add() [2/9]

virtual Detector& dd4hep::Detector::add ( Constant  constant)
pure virtual

Add a new constant to the detector description.

Implemented in dd4hep::DetectorImp.

◆ add() [3/9]

virtual Detector& dd4hep::Detector::add ( DetElement  detector)
pure virtual

Add a new subdetector to the detector description.

Implemented in dd4hep::DetectorImp.

◆ add() [4/9]

virtual Detector& dd4hep::Detector::add ( IDDescriptor  spec)
pure virtual

Add a new id descriptor to the detector description.

Implemented in dd4hep::DetectorImp.

◆ add() [5/9]

virtual Detector& dd4hep::Detector::add ( LimitSet  limitset)
pure virtual

Add a new limit set to the detector description.

Implemented in dd4hep::DetectorImp.

◆ add() [6/9]

virtual Detector& dd4hep::Detector::add ( Readout  readout)
pure virtual

Add a new detector readout to the detector description.

Implemented in dd4hep::DetectorImp.

◆ add() [7/9]

virtual Detector& dd4hep::Detector::add ( Region  region)
pure virtual

Add a new detector region to the detector description.

Implemented in dd4hep::DetectorImp.

◆ add() [8/9]

virtual Detector& dd4hep::Detector::add ( SensitiveDetector  entry)
pure virtual

Add a new sensitive detector to the detector description.

Implemented in dd4hep::DetectorImp.

◆ add() [9/9]

virtual Detector& dd4hep::Detector::add ( VisAttr  attr)
pure virtual

Add a new visualisation attribute to the detector description.

Implemented in dd4hep::DetectorImp.

◆ addConstant()

virtual Detector& dd4hep::Detector::addConstant ( const Handle< NamedObject > &  element)
pure virtual

Add a new constant by named reference to the detector description.

Implemented in dd4hep::DetectorImp.

◆ addDetector()

virtual Detector& dd4hep::Detector::addDetector ( const Handle< NamedObject > &  detector)
pure virtual

Add a new subdetector by named reference to the detector description.

Implemented in dd4hep::DetectorImp.

◆ addExtension()

template<typename IFACE , typename CONCRETE >
IFACE* dd4hep::Detector::addExtension ( CONCRETE *  c)
inline

Extend the sensitive detector element with an arbitrary structure accessible by the type.

Definition at line 331 of file Detector.h.

◆ addField()

virtual Detector& dd4hep::Detector::addField ( const Handle< NamedObject > &  field)
pure virtual

Add a field component by named reference to the detector description.

Implemented in dd4hep::DetectorImp.

◆ addIDSpecification()

virtual Detector& dd4hep::Detector::addIDSpecification ( const Handle< NamedObject > &  element)
pure virtual

Add a new id descriptor by named reference to the detector description.

Implemented in dd4hep::DetectorImp.

◆ addLimitSet()

virtual Detector& dd4hep::Detector::addLimitSet ( const Handle< NamedObject > &  limset)
pure virtual

Add a new limit set by named reference to the detector description.

Implemented in dd4hep::DetectorImp.

◆ addReadout()

virtual Detector& dd4hep::Detector::addReadout ( const Handle< NamedObject > &  readout)
pure virtual

Add a new detector readout by named reference to the detector description.

Implemented in dd4hep::DetectorImp.

◆ addRegion()

virtual Detector& dd4hep::Detector::addRegion ( const Handle< NamedObject > &  region)
pure virtual

Add a new detector region by named reference to the detector description.

Implemented in dd4hep::DetectorImp.

◆ addSensitiveDetector()

virtual Detector& dd4hep::Detector::addSensitiveDetector ( const Handle< NamedObject > &  element)
pure virtual

Add a new sensitive detector by named reference to the detector description.

Implemented in dd4hep::DetectorImp.

◆ addUserExtension()

virtual void* dd4hep::Detector::addUserExtension ( unsigned long long int  key,
ExtensionEntry entry 
)
pure virtual

Add an extension object to the detector element (low level member function)

Implemented in dd4hep::DetectorImp.

◆ addVisAttribute()

virtual Detector& dd4hep::Detector::addVisAttribute ( const Handle< NamedObject > &  element)
pure virtual

Add a new visualisation attribute by named reference to the detector description.

Implemented in dd4hep::DetectorImp.

◆ air()

virtual Material dd4hep::Detector::air ( ) const
pure virtual

Return handle to material describing air.

Implemented in dd4hep::DetectorImp.

◆ apply()

virtual long dd4hep::Detector::apply ( const char *  factory,
int  argc,
char **  argv 
) const
pure virtual

Manipulate geometry using factory converter.

Implemented in dd4hep::DetectorImp.

◆ buildType()

virtual DetectorBuildType dd4hep::Detector::buildType ( ) const
pure virtual

Access flag to steer the detail of building of the geometry/detector description.

Implemented in dd4hep::DetectorImp.

◆ constant() [1/10]

template<class T >
T dd4hep::Detector::constant ( const std::string &  name) const

Typed access to constants: access any type values.

◆ constant() [2/10]

template<>
short dd4hep::Detector::constant ( const std::string &  name) const
inline

Typed access to constants: short values.

Definition at line 362 of file Detector.h.

◆ constant() [3/10]

template<>
unsigned short dd4hep::Detector::constant ( const std::string &  name) const
inline

Typed access to constants: unsigned short values.

Definition at line 367 of file Detector.h.

◆ constant() [4/10]

template<>
int dd4hep::Detector::constant ( const std::string &  name) const
inline

Typed access to constants: integer values.

Definition at line 372 of file Detector.h.

◆ constant() [5/10]

template<>
unsigned int dd4hep::Detector::constant ( const std::string &  name) const
inline

Typed access to constants: unsigned integer values.

Definition at line 377 of file Detector.h.

◆ constant() [6/10]

template<>
long dd4hep::Detector::constant ( const std::string &  name) const
inline

Typed access to constants: long values.

Definition at line 382 of file Detector.h.

◆ constant() [7/10]

template<>
unsigned long dd4hep::Detector::constant ( const std::string &  name) const
inline

Typed access to constants: unsigned long values.

Definition at line 387 of file Detector.h.

◆ constant() [8/10]

template<>
float dd4hep::Detector::constant ( const std::string &  name) const
inline

Typed access to constants: float values.

Definition at line 392 of file Detector.h.

◆ constant() [9/10]

template<>
double dd4hep::Detector::constant ( const std::string &  name) const
inline

Typed access to constants: double values.

Definition at line 397 of file Detector.h.

◆ constant() [10/10]

virtual Constant dd4hep::Detector::constant ( const std::string &  name) const
pure virtual

Retrieve a constant by its name from the detector description.

Implemented in dd4hep::DetectorImp.

◆ constantAsDouble()

virtual double dd4hep::Detector::constantAsDouble ( const std::string &  name) const
pure virtual

Typed access to constants: double values.

Implemented in dd4hep::DetectorImp.

◆ constantAsLong()

virtual long dd4hep::Detector::constantAsLong ( const std::string &  name) const
pure virtual

Typed access to constants: long values.

Implemented in dd4hep::DetectorImp.

◆ constantAsString()

virtual std::string dd4hep::Detector::constantAsString ( const std::string &  name) const
pure virtual

Typed access to constants: access string values.

Implemented in dd4hep::DetectorImp.

◆ constants()

virtual const HandleMap& dd4hep::Detector::constants ( ) const
pure virtual

Accessor to the map of constants.

Implemented in dd4hep::DetectorImp.

◆ declareParent()

virtual void dd4hep::Detector::declareParent ( const std::string &  detector_name,
const DetElement det 
)
pure virtual

Register new parent detector using the detector name.

Miscaneleous accessors to the detexctor description
Volumes must be registered/declared PRIOR to be picked up! Once registered, Detector::pickMotherVolume(detector) will automatically return the proper parent volume!

The method throws an exception if another volume was already declared for this subdetector The method throws an exception if the volume to be registered is invalid.

Implemented in dd4hep::DetectorImp.

◆ destroyInstance()

void Detector::destroyInstance ( const std::string &  name = "default")
static

Destroy the singleton instance.

Destroy the instance.

Definition at line 162 of file DetectorImp.cpp.

◆ detector()

virtual DetElement dd4hep::Detector::detector ( const std::string &  name) const
pure virtual

Retrieve a subdetector element by its name from the detector description.

Implemented in dd4hep::DetectorImp.

◆ detectors() [1/4]

virtual const HandleMap& dd4hep::Detector::detectors ( ) const
pure virtual

Accessor to the map of sub-detectors.

Implemented in dd4hep::DetectorImp.

◆ detectors() [2/4]

virtual const std::vector<DetElement>& dd4hep::Detector::detectors ( const std::string &  type,
bool  throw_exc = false 
) const
pure virtual

Access a set of subdetectors according to the sensitive type.

Access to predefined caches of subdetectors according to the sensitive type Please note:

  • The sensitive type of a detector is set in the 'detector constructor'.
  • Not sensitive detector structures have the name 'passive'
  • Compounds (ie. nested detectors) are of type 'compound'
  • If throw_exc is set to true, an exception is thrown if the type is not present. Otherwise an empty detector container is returned.

Implemented in dd4hep::DetectorImp.

◆ detectors() [3/4]

virtual std::vector<DetElement> dd4hep::Detector::detectors ( const std::string &  type1,
const std::string &  type2,
const std::string &  type3 = "",
const std::string &  type4 = "",
const std::string &  type5 = "" 
)
pure virtual

Access a set of subdetectors according to several sensitive types.

Implemented in dd4hep::DetectorImp.

◆ detectors() [4/4]

virtual std::vector<DetElement> dd4hep::Detector::detectors ( unsigned int  includeFlag,
unsigned int  excludeFlag = 0 
) const
pure virtual

return a vector with all detectors that have all the type properties in includeFlag set but none of the properties given in excludeFlag

Implemented in dd4hep::DetectorImp.

◆ detectorTypes()

virtual std::vector<std::string> dd4hep::Detector::detectorTypes ( ) const
pure virtual

Access the availible detector types.

Implemented in dd4hep::DetectorImp.

◆ dump()

virtual void dd4hep::Detector::dump ( ) const
pure virtual

Stupid legacy method.

Implemented in dd4hep::DetectorImp.

◆ endDocument()

virtual void dd4hep::Detector::endDocument ( bool  close_geometry = true)
pure virtual

Finalize the geometry.

Implemented in dd4hep::DetectorImp.

◆ extension()

template<class IFACE >
IFACE* dd4hep::Detector::extension ( bool  alert = true) const
inline

Access extension element by the type.

Definition at line 342 of file Detector.h.

◆ field() [1/2]

virtual OverlayedField dd4hep::Detector::field ( ) const
pure virtual

Return handle to the combined electromagentic field description.

Implemented in dd4hep::DetectorImp.

◆ field() [2/2]

virtual CartesianField dd4hep::Detector::field ( const std::string &  name) const
pure virtual

Retrieve a field component by its name from the detector description.

Implemented in dd4hep::DetectorImp.

◆ fields()

virtual const HandleMap& dd4hep::Detector::fields ( ) const
pure virtual

Accessor to the map of field entries, which together form the global field.

Implemented in dd4hep::DetectorImp.

◆ fromCompact()

virtual void dd4hep::Detector::fromCompact ( const std::string &  fname,
DetectorBuildType  type = BUILD_DEFAULT 
)
pure virtual

Deprecated call (use fromXML): Read compact geometry description or alignment file.

Implemented in dd4hep::DetectorImp.

◆ fromXML() [1/2]

virtual void dd4hep::Detector::fromXML ( const std::string &  fname,
DetectorBuildType  type = BUILD_DEFAULT 
)
pure virtual

Read any geometry description or alignment file.

Implemented in dd4hep::DetectorImp.

◆ fromXML() [2/2]

virtual void dd4hep::Detector::fromXML ( const std::string &  fname,
xml::UriReader entity_resolver,
DetectorBuildType  type = BUILD_DEFAULT 
)
pure virtual

Read any geometry description or alignment file with external XML entity resolution.

Implemented in dd4hep::DetectorImp.

◆ getInstance()

Detector & Detector::getInstance ( const std::string &  name = "default")
static

—Factory method----—

Definition at line 150 of file DetectorImp.cpp.

◆ header()

virtual Header dd4hep::Detector::header ( ) const
pure virtual

Accessor to the map of header entries.

Implemented in dd4hep::DetectorImp.

◆ idSpecification()

virtual IDDescriptor dd4hep::Detector::idSpecification ( const std::string &  name) const
pure virtual

Retrieve a id descriptor by its name from the detector description.

Implemented in dd4hep::DetectorImp.

◆ idSpecifications()

virtual const HandleMap& dd4hep::Detector::idSpecifications ( ) const
pure virtual

Accessor to the map of ID specifications.

Implemented in dd4hep::DetectorImp.

◆ init()

virtual void dd4hep::Detector::init ( )
pure virtual

Initialize geometry.

Implemented in dd4hep::DetectorImp.

◆ invisible()

virtual VisAttr dd4hep::Detector::invisible ( ) const
pure virtual

Return handle to "invisible" visualization attributes.

Implemented in dd4hep::DetectorImp.

◆ limitSet()

virtual LimitSet dd4hep::Detector::limitSet ( const std::string &  name) const
pure virtual

Retrieve a limitset by its name from the detector description.

Implemented in dd4hep::DetectorImp.

◆ limitsets()

virtual const HandleMap& dd4hep::Detector::limitsets ( ) const
pure virtual

Accessor to the map of limit settings.

Implemented in dd4hep::DetectorImp.

◆ make_unique()

std::unique_ptr< Detector > Detector::make_unique ( const std::string &  name)
static

Unique creation without internal registration.

Definition at line 145 of file DetectorImp.cpp.

◆ manager()

virtual TGeoManager& dd4hep::Detector::manager ( ) const
pure virtual

Access the geometry manager of this instance.

Implemented in dd4hep::DetectorImp.

◆ material()

virtual Material dd4hep::Detector::material ( const std::string &  name) const
pure virtual

Retrieve a matrial by its name from the detector description.

Implemented in dd4hep::DetectorImp.

◆ parallelWorldVolume()

virtual Volume dd4hep::Detector::parallelWorldVolume ( ) const
pure virtual

Return handle to the parallel world volume.

Implemented in dd4hep::DetectorImp.

◆ pickMotherVolume()

virtual Volume dd4hep::Detector::pickMotherVolume ( const DetElement sd) const
pure virtual

Access mother volume by detector element.

The method uses the detector element's name for volume identification. Unregistered detectors are hosted by the world volume.

Implemented in dd4hep::DetectorImp.

◆ properties()

virtual Properties& dd4hep::Detector::properties ( ) const
pure virtual

Access to properties map.

Implemented in dd4hep::DetectorImp.

◆ readout()

virtual Readout dd4hep::Detector::readout ( const std::string &  name) const
pure virtual

Retrieve a readout object by its name from the detector description.

Implemented in dd4hep::DetectorImp.

◆ readouts()

virtual const HandleMap& dd4hep::Detector::readouts ( ) const
pure virtual

Accessor to the map of readout structures.

Implemented in dd4hep::DetectorImp.

◆ region()

virtual Region dd4hep::Detector::region ( const std::string &  name) const
pure virtual

Retrieve a region object by its name from the detector description.

Implemented in dd4hep::DetectorImp.

◆ regions()

virtual const HandleMap& dd4hep::Detector::regions ( ) const
pure virtual

Accessor to the map of region settings.

Implemented in dd4hep::DetectorImp.

◆ removeExtension()

template<class IFACE >
IFACE* dd4hep::Detector::removeExtension ( bool  destroy = true)
inline

Remove an existing extension object from the Detector instance. If not destroyed, the instance is returned.

Definition at line 337 of file Detector.h.

◆ removeUserExtension()

virtual void* dd4hep::Detector::removeUserExtension ( unsigned long long int  key,
bool  destroy 
)
pure virtual

Remove an existing extension object from the Detector instance.

If not destroyed, the instance is returned (low level member function)

Implemented in dd4hep::DetectorImp.

◆ sensitiveDetector()

virtual SensitiveDetector dd4hep::Detector::sensitiveDetector ( const std::string &  name) const
pure virtual

Retrieve a sensitive detector by its name from the detector description.

Implemented in dd4hep::DetectorImp.

◆ sensitiveDetectors()

virtual const HandleMap& dd4hep::Detector::sensitiveDetectors ( ) const
pure virtual

Accessor to the map of sub-detectors.

Implemented in dd4hep::DetectorImp.

◆ setHeader()

virtual void dd4hep::Detector::setHeader ( Header  h)
pure virtual

Accessor to the header entry.

Implemented in dd4hep::DetectorImp.

◆ setStdConditions() [1/2]

virtual void dd4hep::Detector::setStdConditions ( const std::string &  type)
pure virtual

Set the STD conditions according to defined types (STP or NTP)

Implemented in dd4hep::DetectorImp.

◆ setStdConditions() [2/2]

virtual void dd4hep::Detector::setStdConditions ( double  temp,
double  pressure 
)
pure virtual

Set the STD temperature and pressure.

Implemented in dd4hep::DetectorImp.

◆ setTrackingVolume()

virtual void dd4hep::Detector::setTrackingVolume ( Volume  vol)
pure virtual

Set the tracking volume of the detector.

Implemented in dd4hep::DetectorImp.

◆ state()

virtual State dd4hep::Detector::state ( ) const
pure virtual

Access the state of the geometry.

Implemented in dd4hep::DetectorImp.

◆ stdConditions()

virtual const STD_Conditions& dd4hep::Detector::stdConditions ( ) const
pure virtual

Access default conditions (temperature and pressure.

Implemented in dd4hep::DetectorImp.

◆ surfaceManager()

virtual OpticalSurfaceManager dd4hep::Detector::surfaceManager ( ) const
pure virtual

Access the optical surface manager.

Implemented in dd4hep::DetectorImp.

◆ trackers()

virtual DetElement dd4hep::Detector::trackers ( ) const
pure virtual

Return reference to detector element with all tracker devices.

Implemented in dd4hep::DetectorImp.

◆ trackingVolume()

virtual Volume dd4hep::Detector::trackingVolume ( ) const
pure virtual

Return handle to the volume containing the tracking devices.

Implemented in dd4hep::DetectorImp.

◆ userExtension()

virtual void* dd4hep::Detector::userExtension ( unsigned long long int  key,
bool  alert = true 
) const
pure virtual

Access an existing extension object from the detector element (low level member function)

Implemented in dd4hep::DetectorImp.

◆ vacuum()

virtual Material dd4hep::Detector::vacuum ( ) const
pure virtual

Return handle to material describing vacuum.

Implemented in dd4hep::DetectorImp.

◆ visAttributes() [1/2]

virtual const HandleMap& dd4hep::Detector::visAttributes ( ) const
pure virtual

Accessor to the map of visualisation attributes.

Implemented in dd4hep::DetectorImp.

◆ visAttributes() [2/2]

virtual VisAttr dd4hep::Detector::visAttributes ( const std::string &  name) const
pure virtual

Retrieve a visualization attribute by its name from the detector description.

Implemented in dd4hep::DetectorImp.

◆ volumeManager()

virtual VolumeManager dd4hep::Detector::volumeManager ( ) const
pure virtual

Return handle to the VolumeManager.

Implemented in dd4hep::DetectorImp.

◆ world()

virtual DetElement dd4hep::Detector::world ( ) const
pure virtual

Return reference to the top-most (world) detector element.

Implemented in dd4hep::DetectorImp.

◆ worldVolume()

virtual Volume dd4hep::Detector::worldVolume ( ) const
pure virtual

Return handle to the world volume containing everything.

Implemented in dd4hep::DetectorImp.


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