CMS 3D CMS Logo

DDEcalEndcapTrapX.h
Go to the documentation of this file.
1 #ifndef Geometry_EcalCommonDatao_DDEcalEndcapTrapX_h
2 #define Geometry_EcalCommonDatao_DDEcalEndcapTrapX_h
3 
4 #include <vector>
8 
9 // Define Endcap Supercrystal class
10 
12 public:
13  DDEcalEndcapTrapX(const int hand, const double front, const double rear, const double length);
14  DDEcalEndcapTrapX() = delete;
15 
16  void rotate(const DDRotationMatrix& rot);
17  void translate(const DDTranslation& trans);
18 
19  void rotateX(const double angle);
20  void rotateY(const double angle);
21  void translate();
22  void moveto(const DDTranslation& frontCentre, const DDTranslation& rearCentre);
23  double elevationAngle(const DDTranslation& trans);
24  double polarAngle(const DDTranslation& trans);
25  double elevationAngle();
26  double polarAngle();
27  DDTranslation cornerPos(const int icorner);
28  void cornerPos(const int icorner, const DDTranslation& cc);
32  void calculateCorners();
33  void calculateCentres();
35  void print();
36 
37 private:
40 
41  double m_centre[4];
42  double m_fcentre[4];
43  double m_rcentre[4];
44  double m_corners[25];
45  double m_front;
46  double m_rear;
47  double m_length;
48 
49  int m_hand;
50  int m_update;
51 };
52 
53 #endif
DDRotationMatrix m_rotation
DDTranslation centrePos()
ROOT::Math::Rotation3D DDRotationMatrix
A DDRotationMatrix is currently implemented with a ROOT Rotation3D.
DDTranslation fcentrePos()
void rotateX(const double angle)
void rotate(const DDRotationMatrix &rot)
DDTranslation m_translation
DDTranslation cornerPos(const int icorner)
DDRotationMatrix rotation()
DDTranslation rcentrePos()
void rotateY(const double angle)
DDEcalEndcapTrapX()=delete
ROOT::Math::DisplacementVector3D< ROOT::Math::Cartesian3D< double > > DDTranslation
Definition: DDTranslation.h:7
void moveto(const DDTranslation &frontCentre, const DDTranslation &rearCentre)
T angle(T x1, T y1, T z1, T x2, T y2, T z2)
Definition: angle.h:11