File indexing completed on 2024-04-06 12:14:16
0001 #ifndef ECALCOMMONDATA_ECALTRAPEZOIDPARAMETERS_H
0002 #define ECALCOMMONDATA_ECALTRAPEZOIDPARAMETERS_H
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023
0024
0025
0026
0027
0028
0029
0030
0031
0032
0033
0034
0035
0036
0037
0038
0039
0040
0041
0042
0043
0044
0045
0046
0047
0048
0049
0050
0051
0052
0053
0054
0055
0056
0057 #include <vector>
0058 #include <CLHEP/Geometry/Point3D.h>
0059
0060 #include "Geometry/CaloGeometry/interface/CaloCellGeometry.h"
0061
0062 class EcalTrapezoidParameters {
0063 public:
0064 using VertexList = CaloCellGeometry::Pt3DVec;
0065 using TPFloat = CaloCellGeometry::CCGFloat;
0066
0067 EcalTrapezoidParameters(TPFloat aHalfLengthXNegZLoY,
0068 TPFloat aHalfLengthXPosZLoY,
0069 TPFloat aHalfLengthXPosZHiY,
0070 TPFloat aHalfLengthYNegZ,
0071 TPFloat aHalfLengthYPosZ,
0072 TPFloat aHalfLengthZ,
0073 TPFloat aAngleAD,
0074 TPFloat aCoord15X,
0075 TPFloat aCoord15Y
0076 );
0077
0078
0079 TPFloat dz() const;
0080 TPFloat theta() const;
0081 TPFloat phi() const;
0082 TPFloat h1() const;
0083 TPFloat bl1() const;
0084 TPFloat tl1() const;
0085 TPFloat alp1() const;
0086 TPFloat h2() const;
0087 TPFloat bl2() const;
0088 TPFloat tl2() const;
0089 TPFloat alp2() const;
0090
0091
0092 TPFloat x15() const;
0093 TPFloat y15() const;
0094 TPFloat hAa() const;
0095 TPFloat hBb() const;
0096 TPFloat hCc() const;
0097 TPFloat hDd() const;
0098 TPFloat a1() const;
0099 TPFloat a4() const;
0100
0101 TPFloat L() const;
0102 TPFloat a() const;
0103 TPFloat b() const;
0104 TPFloat c() const;
0105 TPFloat d() const;
0106 TPFloat h() const;
0107 TPFloat A() const;
0108 TPFloat B() const;
0109 TPFloat C() const;
0110 TPFloat D() const;
0111 TPFloat H() const;
0112
0113 VertexList vertexList() const;
0114
0115 EcalTrapezoidParameters() = delete;
0116 EcalTrapezoidParameters(const EcalTrapezoidParameters&) = delete;
0117 const EcalTrapezoidParameters& operator=(const EcalTrapezoidParameters&) = delete;
0118
0119 private:
0120 TPFloat m_dz, m_th, m_ph, m_h1, m_bl1, m_tl1, m_alp1, m_h2, m_bl2, m_tl2, m_alp2;
0121 TPFloat m_a1, m_hAa, m_x15, m_y15;
0122 TPFloat m_a4, m_hBb, m_hCc, m_hDd;
0123 TPFloat m_L, m_a, m_b, m_c, m_d, m_h, m_A, m_B, m_C, m_D, m_H;
0124 };
0125
0126 #endif