DD4hep  1.28.0
Detector Description Toolkit for High Energy Physics
Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
dd4hep::rec::DetectorSurfaces Class Reference

#include <DetectorSurfaces.h>

Inheritance diagram for dd4hep::rec::DetectorSurfaces:
dd4hep::DetElement dd4hep::Handle< DetElementObject >

Public Types

typedef DetElement DetElement
 
- Public Types inherited from dd4hep::DetElement
enum  CopyParameters {
  COPY_NONE = 0, COPY_PLACEMENT = 1 << 0, COPY_PARENT = 1 << 1, COPY_ALIGNMENT = 1 << 2,
  PROPAGATE_PARENT_ID = 1 << 3, LAST
}
 
enum  UpdateParam {
  CONDITIONS_CHANGED = 1<<0, PLACEMENT_CHANGED = 1<<1, SOMETHING_CHANGED = 1<<2, PLACEMENT_ELEMENT = 1<<20,
  PLACEMENT_HIGHEST = 1<<21, PLACEMENT_DETECTOR = 1<<22, PLACEMENT_NONE
}
 
typedef std::map< std::string, DetElementChildren
 
- Public Types inherited from dd4hep::Handle< DetElementObject >
typedef DetElementObject Object
 Extern accessible definition of the contained element type. More...
 
typedef Handle< DetElementObjectBase
 Self type: used by sub-classes. More...
 

Public Member Functions

 DetectorSurfaces (const DetElement &e)
 
virtual ~DetectorSurfaces ()
 
const SurfaceListsurfaceList ()
 get the list of surfaces added to this DetElement More...
 
- Public Member Functions inherited from dd4hep::DetElement
void check (bool condition, const std::string &msg) const
 Internal assert function to check conditions. More...
 
 DetElement ()=default
 Default constructor. More...
 
 DetElement (DetElement &&e)=default
 Constructor to move handle. More...
 
 DetElement (const DetElement &e)=default
 Constructor to copy handle. More...
 
 DetElement (Object *obj)
 Constructor to hold handled object. More...
 
 DetElement (Object *obj, const std::string &name, const std::string &type)
 Clone constructor. More...
 
template<typename Q >
 DetElement (const Handle< Q > &e)
 Templated constructor for handle conversions. More...
 
 DetElement (NamedObject *obj)
 Constructor to hold handled object. More...
 
 DetElement (const std::string &name, const std::string &type, int id)
 Constructor for a new subdetector element. More...
 
 DetElement (const std::string &name, int id)
 Constructor for a new subdetector element. More...
 
 DetElement (DetElement parent, const std::string &name, int id)
 Constructor for a new subdetector element. More...
 
DetElementoperator= (DetElement &&sd)=default
 Assignment move operator. More...
 
DetElementoperator= (const DetElement &e)=default
 Assignment copy operator. More...
 
Object_data () const
 Additional data accessor. More...
 
bool operator< (const DetElement e) const
 Operator less to insert into a map. More...
 
template<typename T >
bool operator== (const Handle< T > &e) const
 Equality operator. More...
 
template<typename T >
bool operator!= (const Handle< T > &e) const
 Non-Equality operator. More...
 
DetElement clone (int flag) const
 Clone (Deep copy) the DetElement structure. More...
 
DetElement clone (const std::string &new_name) const
 Clone (Deep copy) the DetElement structure with a new name. More...
 
DetElement clone (const std::string &new_name, int new_id) const
 Clone (Deep copy) the DetElement structure with a new name and new identifier. More...
 
std::pair< DetElement, Volumereflect (const std::string &new_name) const
 Reflect (Deep copy) the DetElement structure with a new name. More...
 
std::pair< DetElement, Volumereflect (const std::string &new_name, int new_id) const
 Reflect (Deep copy) the DetElement structure with a new name and new identifier. More...
 
std::pair< DetElement, Volumereflect (const std::string &new_name, int new_id, SensitiveDetector sd) const
 Reflect (Deep copy) the DetElement structure with a new name and new identifier and new sensitive detector. More...
 
void * addExtension (ExtensionEntry *entry) const
 Add an extension object to the detector element. More...
 
void * extension (unsigned long long int key, bool alert) const
 Access an existing extension object from the detector element. More...
 
template<typename IFACE , typename CONCRETE >
IFACE * addExtension (CONCRETE *c) const
 Extend the detector element with an arbitrary structure accessible by the type. More...
 
template<typename IFACE >
IFACE * extension () const
 Access extension element by the type. More...
 
template<typename IFACE >
IFACE * extension (bool alert) const
 Access extension element by the type. More...
 
template<typename Q , typename T >
void callAtUpdate (unsigned int typ, Q *pointer, void(T::*pmf)(unsigned long typ, DetElement &det, void *opt_par)) const
 Extend the detector element with an arbitrary callback. More...
 
void removeAtUpdate (unsigned int type, void *pointer) const
 Remove callback from object. More...
 
int id () const
 Get the detector identifier. More...
 
DetElementsetCombineHits (bool value, SensitiveDetector &sens)
 Setter: Combine hits attribute. More...
 
bool combineHits () const
 Getter: Combine hits attribute. More...
 
std::string type () const
 Access detector type (structure, tracker, calorimeter, etc.). More...
 
DetElementsetType (const std::string &typ)
 Set detector type (structure, tracker, calorimeter, etc.). More...
 
unsigned int typeFlag () const
 
DetElementsetTypeFlag (unsigned int types)
 Set the flag word encoding detector types ( ideally use dd4hep::DetType for encoding ) More...
 
unsigned int key () const
 Access hash key of this detector element (Only valid once geometry is closed!) More...
 
int level () const
 Access the hierarchical level of the detector element (Only valid once geometry is closed!) More...
 
const std::string & path () const
 Path of the detector element (not necessarily identical to placement path!) More...
 
const std::string & placementPath () const
 Access to the full path to the placed object. More...
 
DetElementsetAttributes (const Detector &description, const Volume &volume, const std::string &region, const std::string &limits, const std::string &vis)
 Set all attributes in one go. More...
 
DetElementsetVisAttributes (const Detector &description, const std::string &name, const Volume &volume)
 Set Visualization attributes to the detector element. More...
 
DetElementsetRegion (const Detector &description, const std::string &name, const Volume &volume)
 Set the regional attributes to the detector element. More...
 
DetElementsetLimitSet (const Detector &description, const std::string &name, const Volume &volume)
 Set the limits to the detector element. More...
 
Volume volume () const
 Access to the logical volume of the detector element's placement. More...
 
Solid solid () const
 Access to the shape of the detector element's placement. More...
 
PlacedVolume placement () const
 Access to the physical volume of this detector element. More...
 
PlacedVolume idealPlacement () const
 Access to the ideal physical volume of this detector element. More...
 
DetElementsetPlacement (const PlacedVolume &volume)
 Set the physical volumes of the detector element. More...
 
VolumeID volumeID () const
 The cached VolumeID of this subdetector element. More...
 
DetElementadd (DetElement sub_element)
 Add new child to the detector structure. More...
 
const Childrenchildren () const
 Access to the list of children. More...
 
DetElement child (const std::string &name) const
 Access to individual children by name. More...
 
DetElement child (const std::string &child_name, bool throw_if_not_found) const
 Access to individual children by name. Have option to not throw an exception. More...
 
DetElement parent () const
 Access to the detector elements's parent. More...
 
DetElement world () const
 Access to the world object. Only possible once the geometry is closed. More...
 
Alignment nominal () const
 Access to the constant ideal (nominal) alignment information. More...
 
Alignment survey () const
 Access to the constant survey alignment information. More...
 
- Public Member Functions inherited from dd4hep::Handle< DetElementObject >
 Handle ()=default
 Default constructor. More...
 
 Handle (Handle< DetElementObject > &&element)=default
 Copy constructor. More...
 
 Handle (const Handle< DetElementObject > &element)=default
 Copy constructor. More...
 
 Handle (DetElementObject *element)
 Initializing constructor from pointer. More...
 
 Handle (Q *element)
 Initializing constructor from unrelated pointer with type checking. More...
 
 Handle (const Handle< Q > &element)
 Initializing constructor from unrelated handle with type checking. More...
 
Handle< DetElementObject > & operator= (Handle< DetElementObject > &&element)=default
 Assignment move operator. More...
 
Handle< DetElementObject > & operator= (const Handle< DetElementObject > &element)=default
 Assignment copy operator. More...
 
bool operator== (const Handle< DetElementObject > &element) const
 Boolean operator == used for RB tree insertions. More...
 
bool operator< (const Handle< DetElementObject > &element) const
 Boolean operator < used for RB tree insertions. More...
 
bool operator> (const Handle< DetElementObject > &element) const
 Boolean operator > used for RB tree insertions. More...
 
bool isValid () const
 Check the validity of the object held by the handle. More...
 
bool operator! () const
 Check the validity of the object held by the handle. More...
 
Handle< DetElementObject > & clear ()
 Release the object held by the handle. More...
 
DetElementObjectoperator-> () const
 Access the held object using the -> operator. More...
 
 operator DetElementObject & () const
 Automatic type conversion to an object references. More...
 
DetElementObjectoperator* () const
 Access the held object using the * operator. More...
 
DetElementObjectptr () const
 Access to the held object. More...
 
Q * _ptr () const
 Access to an unrelated object type. More...
 
Q * data () const
 Access to an unrelated object type. More...
 
Q & object () const
 Access to an unrelated object type. More...
 
DetElementObjectaccess () const
 Checked object access. Throws invalid handle runtime exception if invalid handle. More...
 
const char * name () const
 Access the object name (or "" if not supported by the object) More...
 
const char * name () const
 
const char * name () const
 
void assign (Object *n, const std::string &nam, const std::string &title)
 Assign a new named object. Note: object references must be managed by the user. More...
 
void assign (_Segmentation *s, const std::string &n, const std::string &)
 
void assign (NamedObject *p, const std::string &n, const std::string &t)
 
void destroy ()
 Destroy the underlying object (be careful here: things are not reference counted)! More...
 

Protected Member Functions

void initialize ()
 initializes surfaces from VolSurfaces assigned to this DetElement in detector construction More...
 
- Protected Member Functions inherited from dd4hep::DetElement
void i_addUpdateCall (unsigned int callback_type, const Callback &callback) const
 Internal call to extend the detector element with an arbitrary structure accessible by the type. More...
 

Protected Attributes

SurfaceList_sL
 

Additional Inherited Members

- Static Public Member Functions inherited from dd4hep::Handle< DetElementObject >
static void bad_assignment (const std::type_info &from, const std::type_info &to)
 Helper routine called when unrelated types are assigned. More...
 
- Public Attributes inherited from dd4hep::Handle< DetElementObject >
DetElementObjectm_element
 Single and only data member: Reference to the actual element. More...
 

Detailed Description

View on DetElements for accessing the surfaces assigned to this DetElement in detector construction.

Author
F.Gaede, DESY
Date
Apr, 10 2014
Version
$Id$

Definition at line 28 of file DetectorSurfaces.h.

Member Typedef Documentation

◆ DetElement

Definition at line 31 of file DetectorSurfaces.h.

Constructor & Destructor Documentation

◆ DetectorSurfaces()

dd4hep::rec::DetectorSurfaces::DetectorSurfaces ( const DetElement e)

Definition at line 20 of file DetectorSurfaces.cpp.

◆ ~DetectorSurfaces()

dd4hep::rec::DetectorSurfaces::~DetectorSurfaces ( )
virtual

Definition at line 25 of file DetectorSurfaces.cpp.

Member Function Documentation

◆ initialize()

void dd4hep::rec::DetectorSurfaces::initialize ( )
protected

initializes surfaces from VolSurfaces assigned to this DetElement in detector construction

Definition at line 31 of file DetectorSurfaces.cpp.

◆ surfaceList()

const SurfaceList& dd4hep::rec::DetectorSurfaces::surfaceList ( )
inline

get the list of surfaces added to this DetElement

Definition at line 38 of file DetectorSurfaces.h.

Member Data Documentation

◆ _sL

SurfaceList* dd4hep::rec::DetectorSurfaces::_sL
protected

Definition at line 41 of file DetectorSurfaces.h.


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