CMS 3D CMS Logo

DDPosData.h
Go to the documentation of this file.
1 #ifndef DETECTOR_DESCRIPTION_CORE_DD_POS_DATA_H
2 #define DETECTOR_DESCRIPTION_CORE_DD_POS_DATA_H
3 
7 
9 
13 struct DDPosData
14 {
16 
23  DDPosData(const DDTranslation & t, const DDRotation& r, int c, const DDDivision * d = nullptr )
24  : trans_(t), rot_(r), copyno_(c), div_(d)
25  {}
26  DDPosData() = delete;
27  DDPosData & operator=(const DDPosData &) = delete;
28 
29  const DDTranslation & translation() const { return trans_; }
30  const DDTranslation & trans() const { return trans_; }
31 
32  const DDRotationMatrix & rotation() const { return *(rot_.rotation()); }
33  const DDRotationMatrix & rot() const { return *(rot_.rotation()); }
34  const DDRotation & ddrot() const { return rot_; }
35  int copyno() const { return copyno_; }
36 
37  const DDDivision & div() const { return *div_; }
38  const DDDivision & division() const { return *div_; }
39 
40 private:
43  int copyno_;
44  const DDDivision * div_;
45 };
46 
47 #endif
const DDRotationMatrix * rotation() const
Returns the read-only rotation-matrix.
Definition: DDTransform.h:91
Relative position of a child-volume inside a parent-volume.
Definition: DDPosData.h:13
const DDDivision * div_
Definition: DDPosData.h:44
ROOT::Math::DisplacementVector3D< ROOT::Math::Cartesian3D< double > > DDTranslation
Definition: DDTranslation.h:7
Represents a uniquely identifyable rotation matrix.
Definition: DDTransform.h:67
DDPosData(const DDTranslation &t, const DDRotation &r, int c, const DDDivision *d=0)
Creates a new relative position.
Definition: DDPosData.h:23
DDPosData & operator=(const DDPosData &)=delete
const DDRotationMatrix & rot() const
Definition: DDPosData.h:33
int copyno_
Definition: DDPosData.h:43
const DDDivision & division() const
Definition: DDPosData.h:38
const DDRotation & ddrot() const
Definition: DDPosData.h:34
const DDTranslation & trans() const
Definition: DDPosData.h:30
DDTranslation trans_
Definition: DDPosData.h:41
int copyno() const
Definition: DDPosData.h:35
DDPosData()=delete
const DDTranslation & translation() const
Definition: DDPosData.h:29
const DDDivision & div() const
Definition: DDPosData.h:37
const DDRotationMatrix & rotation() const
Definition: DDPosData.h:32
ROOT::Math::Rotation3D DDRotationMatrix
A DDRotationMatrix is currently implemented with a ROOT Rotation3D.
DDRotation rot_
Definition: DDPosData.h:42