CMS 3D CMS Logo

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