24 #include "TGeoMatrix.h"
30 namespace DetectorTools = DD4hep::Geometry::DetectorTools;
55 if ( parent.isValid() ) {
58 for (
size_t i = 0, n=path.size(); n>0 && i < n-1; ++i) {
59 const PlacedVolume& p = path[i];
61 a->
nodes.push_back(p);
68 mask.set(AlignmentData::HAVE_PARENT_TRAFO);
69 mask.set(AlignmentData::HAVE_WORLD_TRAFO);
70 mask.set(AlignmentData::IDEAL);
81 for (
size_t i = a->
nodes.size(); i > 1; --i) {
82 TGeoMatrix*
m = a->
nodes[i - 1]->GetMatrix();
86 if ( !a->
nodes.empty() ) {
96 mask.set(AlignmentData::IDEAL);
107 if ( parent.isValid() ) {
113 for (
size_t i = 0, n=path.size(); n>0 && i < n-1; ++i) {
114 const PlacedVolume& p = path[i];
122 mask.set(AlignmentData::SURVEY);
BitMask flag
Flag to remember internally calculated quatities.
Handle class holding a placed volume (also called physical volume)
TGeoHMatrix detectorTrafo
Intermediate buffer to store the transformation to the parent detector element.
PlacedVolume placement
The subdetector placement corresponding to the actual detector element's volume.
Main handle class to hold an alignment object.
NodeList nodes
The list of TGeoNodes (physical placements)
T * ptr() const
Access to the held object.
DD4hep::Geometry::DetElement DetElement
DetElement detector
Reference to the next hosting detector element.
unsigned int magic
Magic word to verify object if necessary.
Delta delta
Alignment changes.
TGeoHMatrix * _transform(const Geometry::Transform3D &trans)
Convert a Transform3D object to a TGeoHMatrix
std::vector< PlacedVolume > NodeList
Forward definition of the nodelist leading to the world.
Transform3D trToWorld
Transformation from volume to the world.
Data class with properties of a detector element.
PlacedVolume placement
The subdetector placement corresponding to the actual detector element's volume.
Derived condition data-object definition.
TGeoHMatrix worldTrafo
Intermediate buffer to store the transformation to the world coordination system. ...