![]() |
DD4hep
1.33.0
Detector Description Toolkit for High Energy Physics
|
GlobalDetectorAlignment. DetElement Handle supporting alignment operations. More...
#include <GlobalDetectorAlignment.h>
Public Member Functions | |
| GlobalDetectorAlignment (DetElement e) | |
| Initializing constructor. More... | |
| GlobalDetectorAlignment (DetElement &&e) | |
| Initializing constructor. More... | |
| void | collectNodes (std::vector< PlacedVolume > &nodes) |
| Collect all placements from the detector element up to the world volume. More... | |
| GlobalAlignment | alignment () const |
| Access to the alignment block. More... | |
| std::vector< GlobalAlignment > & | volumeAlignments () |
| Alignment entries for lower level volumes, which are NOT attached to daughter DetElements. More... | |
| const std::vector< GlobalAlignment > & | volumeAlignments () const |
| Alignment entries for lower level volumes, which are NOT attached to daughter DetElements. More... | |
| GlobalAlignment | align (const Position &pos, bool check=false, double overlap=0.001) |
| Align the PhysicalNode of the placement of the detector element (translation only) More... | |
| GlobalAlignment | align (const RotationZYX &rot, bool check=false, double overlap=0.001) |
| Align the PhysicalNode of the placement of the detector element (rotation only) More... | |
| GlobalAlignment | align (const Position &pos, const RotationZYX &rot, bool check=false, double overlap=0.001) |
| Align the PhysicalNode of the placement of the detector element (translation + rotation) More... | |
| GlobalAlignment | align (const Transform3D &tr, bool check=false, double overlap=0.001) |
| Align the physical node according to a generic Transform3D. More... | |
| GlobalAlignment | align (TGeoHMatrix *matrix, bool check=false, double overlap=0.001) |
| Align the physical node according to a generic TGeo matrix. More... | |
| GlobalAlignment | align (const std::string &volume_path, const Position &pos, bool check=false, double overlap=0.001) |
| Align the PhysicalNode of the placement of the detector element (translation only) More... | |
| GlobalAlignment | align (const std::string &volume_path, const RotationZYX &rot, bool check=false, double overlap=0.001) |
| Align the PhysicalNode of the placement of the detector element (rotation only) More... | |
| GlobalAlignment | align (const std::string &volume_path, const Position &pos, const RotationZYX &rot, bool check=false, double overlap=0.001) |
| Align the PhysicalNode of the placement of the detector element (translation + rotation) More... | |
| GlobalAlignment | align (const std::string &volume_path, const Transform3D &tr, bool check=false, double overlap=0.001) |
| Align the physical node according to a generic Transform3D. More... | |
| GlobalAlignment | align (const std::string &volume_path, TGeoHMatrix *matrix, bool check=false, double overlap=0.001) |
| Align the physical node according to a generic TGeo matrix. 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... | |
| DetElement & | operator= (DetElement &&sd)=default |
| Assignment move operator. More... | |
| DetElement & | operator= (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, Volume > | reflect (const std::string &new_name) const |
| Reflect (Deep copy) the DetElement structure with a new name. More... | |
| std::pair< DetElement, Volume > | reflect (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, Volume > | reflect (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... | |
| DetElement & | setCombineHits (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... | |
| DetElement & | setType (const std::string &typ) |
| Set detector type (structure, tracker, calorimeter, etc.). More... | |
| unsigned int | typeFlag () const |
| Access the type of the sensitive detector. More... | |
| DetElement & | setTypeFlag (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... | |
| DetElement & | setAttributes (const Detector &description, const Volume &volume, const std::string ®ion, const std::string &limits, const std::string &vis) |
| Set all attributes in one go. More... | |
| DetElement & | setVisAttributes (const Detector &description, const std::string &name, const Volume &volume) |
| Set Visualization attributes to the detector element. More... | |
| DetElement & | setRegion (const Detector &description, const std::string &name, const Volume &volume) |
| Set the regional attributes to the detector element. More... | |
| DetElement & | setLimitSet (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... | |
| DetElement & | setPlacement (const PlacedVolume &volume) |
| Set the physical volumes of the detector element. More... | |
| VolumeID | volumeID () const |
| The cached VolumeID of this subdetector element. More... | |
| DetElement & | add (DetElement sub_element) |
| Add new child to the detector structure. More... | |
| const Children & | children () 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... | |
| DetElementObject * | operator-> () const |
| Access the held object using the -> operator. More... | |
| operator DetElementObject & () const | |
| Automatic type conversion to an object references. More... | |
| DetElementObject & | operator* () const |
| Access the held object using the * operator. More... | |
| DetElementObject * | ptr () 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... | |
| DetElementObject * | access () 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... | |
Static Public Member Functions | |
| static bool | debug () |
| Access debugging flag. More... | |
| static bool | debug (bool value) |
| Set debugging flag. More... | |
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... | |
Additional Inherited Members | |
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, DetElement > | Children |
Public Types inherited from dd4hep::Handle< DetElementObject > | |
| typedef DetElementObject | Object |
| Extern accessible definition of the contained element type. More... | |
| typedef Handle< DetElementObject > | Base |
| Self type: used by sub-classes. More... | |
Public Attributes inherited from dd4hep::Handle< DetElementObject > | |
| DetElementObject * | m_element |
| Single and only data member: Reference to the actual element. 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... | |
GlobalDetectorAlignment. DetElement Handle supporting alignment operations.
Definition at line 35 of file GlobalDetectorAlignment.h.
| GlobalDetectorAlignment::GlobalDetectorAlignment | ( | DetElement | e | ) |
Initializing constructor.
Definition at line 180 of file GlobalDetectorAlignment.cpp.
| GlobalDetectorAlignment::GlobalDetectorAlignment | ( | DetElement && | e | ) |
Initializing constructor.
Definition at line 186 of file GlobalDetectorAlignment.cpp.
| GlobalAlignment GlobalDetectorAlignment::align | ( | const Position & | pos, |
| bool | check = false, |
||
| double | overlap = 0.001 |
||
| ) |
Align the PhysicalNode of the placement of the detector element (translation only)
@DetElement alignment: Calls to align the detector element itself
Definition at line 226 of file GlobalDetectorAlignment.cpp.
| GlobalAlignment GlobalDetectorAlignment::align | ( | const Position & | pos, |
| const RotationZYX & | rot, | ||
| bool | check = false, |
||
| double | overlap = 0.001 |
||
| ) |
Align the PhysicalNode of the placement of the detector element (translation + rotation)
Definition at line 236 of file GlobalDetectorAlignment.cpp.
| GlobalAlignment GlobalDetectorAlignment::align | ( | const RotationZYX & | rot, |
| bool | check = false, |
||
| double | overlap = 0.001 |
||
| ) |
Align the PhysicalNode of the placement of the detector element (rotation only)
Definition at line 231 of file GlobalDetectorAlignment.cpp.
| GlobalAlignment GlobalDetectorAlignment::align | ( | const std::string & | volume_path, |
| const Position & | pos, | ||
| bool | check = false, |
||
| double | overlap = 0.001 |
||
| ) |
Align the PhysicalNode of the placement of the detector element (translation only)
@Volume alignment: Calls to align the volumes within on detector element
Definition at line 251 of file GlobalDetectorAlignment.cpp.
| GlobalAlignment GlobalDetectorAlignment::align | ( | const std::string & | volume_path, |
| const Position & | pos, | ||
| const RotationZYX & | rot, | ||
| bool | check = false, |
||
| double | overlap = 0.001 |
||
| ) |
Align the PhysicalNode of the placement of the detector element (translation + rotation)
Definition at line 262 of file GlobalDetectorAlignment.cpp.
| GlobalAlignment GlobalDetectorAlignment::align | ( | const std::string & | volume_path, |
| const RotationZYX & | rot, | ||
| bool | check = false, |
||
| double | overlap = 0.001 |
||
| ) |
Align the PhysicalNode of the placement of the detector element (rotation only)
Definition at line 256 of file GlobalDetectorAlignment.cpp.
| GlobalAlignment GlobalDetectorAlignment::align | ( | const std::string & | volume_path, |
| const Transform3D & | tr, | ||
| bool | check = false, |
||
| double | overlap = 0.001 |
||
| ) |
Align the physical node according to a generic Transform3D.
Definition at line 267 of file GlobalDetectorAlignment.cpp.
| GlobalAlignment GlobalDetectorAlignment::align | ( | const std::string & | volume_path, |
| TGeoHMatrix * | matrix, | ||
| bool | check = false, |
||
| double | overlap = 0.001 |
||
| ) |
Align the physical node according to a generic TGeo matrix.
Definition at line 272 of file GlobalDetectorAlignment.cpp.
| GlobalAlignment GlobalDetectorAlignment::align | ( | const Transform3D & | tr, |
| bool | check = false, |
||
| double | overlap = 0.001 |
||
| ) |
Align the physical node according to a generic Transform3D.
Definition at line 241 of file GlobalDetectorAlignment.cpp.
| GlobalAlignment GlobalDetectorAlignment::align | ( | TGeoHMatrix * | matrix, |
| bool | check = false, |
||
| double | overlap = 0.001 |
||
| ) |
Align the physical node according to a generic TGeo matrix.
Definition at line 246 of file GlobalDetectorAlignment.cpp.
| GlobalAlignment GlobalDetectorAlignment::alignment | ( | ) | const |
Access to the alignment block.
Definition at line 209 of file GlobalDetectorAlignment.cpp.
| void GlobalDetectorAlignment::collectNodes | ( | std::vector< PlacedVolume > & | nodes | ) |
Collect all placements from the detector element up to the world volume.
Definition at line 204 of file GlobalDetectorAlignment.cpp.
|
static |
Access debugging flag.
Definition at line 192 of file GlobalDetectorAlignment.cpp.
|
static |
Set debugging flag.
Definition at line 197 of file GlobalDetectorAlignment.cpp.
| std::vector< GlobalAlignment > & GlobalDetectorAlignment::volumeAlignments | ( | ) |
Alignment entries for lower level volumes, which are NOT attached to daughter DetElements.
Definition at line 214 of file GlobalDetectorAlignment.cpp.
| const std::vector< GlobalAlignment > & GlobalDetectorAlignment::volumeAlignments | ( | ) | const |
Alignment entries for lower level volumes, which are NOT attached to daughter DetElements.
Definition at line 220 of file GlobalDetectorAlignment.cpp.
1.8.18