CMS 3D CMS Logo

EcalTrapezoidParameters.h
Go to the documentation of this file.
1 #ifndef ECALCOMMONDATA_ECALTRAPEZOIDPARAMETERS_H
2 #define ECALCOMMONDATA_ECALTRAPEZOIDPARAMETERS_H
3 // -*- C++ -*-
4 //
5 // Package: EcalCommonData
6 // Module: EcalTrapezoidParameters
7 //
8 // Description: Dimensionally, all you need to know about a trapezoid
9 //
10 // Usage:
11 // This class exists because there are many lengths and
12 // angles of interest in a trapezoidal polyhedron,
13 // and it makes more sense to put them in one place.
14 //
15 //
16 // Our naming convention is as follows: lower case abcdh at +Z
17 // upper case ABCDH at -Z
18 // L = full length in Z
19 // a1, a4 = angles at vertices 1,4
20 // hXx = perp distance between X, x
21 // (x15,y15) = coord of v5 wrt v1
22 // B
23 // 6____________________________________________________________________ 7
24 // \ /\ /
25 // \ | /
26 // \ hBb b /
27 // \ 2 _____\/__________________________ 3 /
28 // \ \ /\ / /
29 // \ \ | / /
30 // \ \ | / /
31 // \ \ | / /
32 // D \ d \ h / c / C Y
33 // \ \ | / / ^
34 // \ \ a1 | / / |
35 // \ \______\/__/ / |
36 // \ 1/\ a 4 / |
37 // \ | / |_____ X
38 // \ | / /
39 // \ y15=hAa / /
40 // \ | a4 / /
41 // \__\/___________/ Z (out of page)
42 // 5 | | A 8
43 // --->|x15|<----
44 //
45 //
46 // Specifying the minimal parameters for a GEANT TRAP
47 // requires 9 numbers, *NOT* 11 as used in GEANT or DDD.
48 //
49 // We choose the following 9:
50 // L/2, a/2, b/2, h/2, a1, A/2, H/2, hAa, x15
51 // In GEANT these correspond to
52 // dz, bl2, tl2, h2, -, bl1, h1, -, -
53 //
54 // Author: Brian K. Heltsley
55 // Created: Wed Aug 12 09:25:08 EDT 1998
56 
57 #include <vector>
58 #include <CLHEP/Geometry/Point3D.h>
59 
61 
63 public:
66 
67  EcalTrapezoidParameters(TPFloat aHalfLengthXNegZLoY, // bl1, A/2
68  TPFloat aHalfLengthXPosZLoY, // bl2, a/2
69  TPFloat aHalfLengthXPosZHiY, // tl2, b/2
70  TPFloat aHalfLengthYNegZ, // h1, H/2
71  TPFloat aHalfLengthYPosZ, // h2, h/2
72  TPFloat aHalfLengthZ, // dz, L/2
73  TPFloat aAngleAD, // alfa1
74  TPFloat aCoord15X, // x15
75  TPFloat aCoord15Y // y15
76  );
77 
78  // GEANT parameters, in order
79  TPFloat dz() const;
80  TPFloat theta() const;
81  TPFloat phi() const;
82  TPFloat h1() const;
83  TPFloat bl1() const;
84  TPFloat tl1() const;
85  TPFloat alp1() const;
86  TPFloat h2() const;
87  TPFloat bl2() const;
88  TPFloat tl2() const;
89  TPFloat alp2() const;
90 
91  // everything else
92  TPFloat x15() const;
93  TPFloat y15() const;
94  TPFloat hAa() const;
95  TPFloat hBb() const;
96  TPFloat hCc() const;
97  TPFloat hDd() const;
98  TPFloat a1() const;
99  TPFloat a4() const;
100 
101  TPFloat L() const;
102  TPFloat a() const;
103  TPFloat b() const;
104  TPFloat c() const;
105  TPFloat d() const;
106  TPFloat h() const;
107  TPFloat A() const;
108  TPFloat B() const;
109  TPFloat C() const;
110  TPFloat D() const;
111  TPFloat H() const;
112 
113  VertexList vertexList() const; // order is as in picture above: index=vtx-1
114 
115  EcalTrapezoidParameters() = delete;
118 
119 private:
124 };
125 
126 #endif /* ECALCOMMONDATA_ECALTRAPEZOIDPARAMETERS_H */
CaloCellGeometry::Pt3DVec
std::vector< Pt3D > Pt3DVec
Definition: CaloCellGeometry.h:55
EcalTrapezoidParameters::m_h
TPFloat m_h
Definition: EcalTrapezoidParameters.h:123
CaloCellGeometry::CCGFloat
float CCGFloat
Definition: CaloCellGeometry.h:52
EcalTrapezoidParameters
Definition: EcalTrapezoidParameters.h:62
EcalTrapezoidParameters::m_hDd
TPFloat m_hDd
Definition: EcalTrapezoidParameters.h:122
EcalTrapezoidParameters::m_bl2
TPFloat m_bl2
Definition: EcalTrapezoidParameters.h:120
EcalTrapezoidParameters::hBb
TPFloat hBb() const
Definition: EcalTrapezoidParameters.cc:158
EcalTrapezoidParameters::m_hAa
TPFloat m_hAa
Definition: EcalTrapezoidParameters.h:121
EcalTrapezoidParameters::bl1
TPFloat bl1() const
Definition: EcalTrapezoidParameters.cc:147
EcalTrapezoidParameters::c
TPFloat c() const
Definition: EcalTrapezoidParameters.cc:166
EcalTrapezoidParameters::alp1
TPFloat alp1() const
Definition: EcalTrapezoidParameters.cc:149
EcalTrapezoidParameters::vertexList
VertexList vertexList() const
Definition: EcalTrapezoidParameters.cc:175
EcalTrapezoidParameters::d
TPFloat d() const
Definition: EcalTrapezoidParameters.cc:167
EcalTrapezoidParameters::m_hCc
TPFloat m_hCc
Definition: EcalTrapezoidParameters.h:122
EcalTrapezoidParameters::hCc
TPFloat hCc() const
Definition: EcalTrapezoidParameters.cc:159
EcalTrapezoidParameters::a
TPFloat a() const
Definition: EcalTrapezoidParameters.cc:164
EcalTrapezoidParameters::theta
TPFloat theta() const
Definition: EcalTrapezoidParameters.cc:144
EcalTrapezoidParameters::C
TPFloat C() const
Definition: EcalTrapezoidParameters.cc:171
EcalTrapezoidParameters::B
TPFloat B() const
Definition: EcalTrapezoidParameters.cc:170
EcalTrapezoidParameters::m_y15
TPFloat m_y15
Definition: EcalTrapezoidParameters.h:121
EcalTrapezoidParameters::m_a4
TPFloat m_a4
Definition: EcalTrapezoidParameters.h:122
EcalTrapezoidParameters::tl2
TPFloat tl2() const
Definition: EcalTrapezoidParameters.cc:152
EcalTrapezoidParameters::a1
TPFloat a1() const
Definition: EcalTrapezoidParameters.cc:161
EcalTrapezoidParameters::m_C
TPFloat m_C
Definition: EcalTrapezoidParameters.h:123
EcalTrapezoidParameters::h2
TPFloat h2() const
Definition: EcalTrapezoidParameters.cc:150
EcalTrapezoidParameters::y15
TPFloat y15() const
Definition: EcalTrapezoidParameters.cc:156
EcalTrapezoidParameters::TPFloat
CaloCellGeometry::CCGFloat TPFloat
Definition: EcalTrapezoidParameters.h:65
EcalTrapezoidParameters::m_alp2
TPFloat m_alp2
Definition: EcalTrapezoidParameters.h:120
EcalTrapezoidParameters::h1
TPFloat h1() const
Definition: EcalTrapezoidParameters.cc:146
EcalTrapezoidParameters::m_c
TPFloat m_c
Definition: EcalTrapezoidParameters.h:123
EcalTrapezoidParameters::m_h1
TPFloat m_h1
Definition: EcalTrapezoidParameters.h:120
EcalTrapezoidParameters::m_alp1
TPFloat m_alp1
Definition: EcalTrapezoidParameters.h:120
EcalTrapezoidParameters::m_h2
TPFloat m_h2
Definition: EcalTrapezoidParameters.h:120
EcalTrapezoidParameters::m_b
TPFloat m_b
Definition: EcalTrapezoidParameters.h:123
EcalTrapezoidParameters::m_tl2
TPFloat m_tl2
Definition: EcalTrapezoidParameters.h:120
EcalTrapezoidParameters::m_B
TPFloat m_B
Definition: EcalTrapezoidParameters.h:123
EcalTrapezoidParameters::tl1
TPFloat tl1() const
Definition: EcalTrapezoidParameters.cc:148
EcalTrapezoidParameters::alp2
TPFloat alp2() const
Definition: EcalTrapezoidParameters.cc:153
EcalTrapezoidParameters::m_tl1
TPFloat m_tl1
Definition: EcalTrapezoidParameters.h:120
EcalTrapezoidParameters::h
TPFloat h() const
Definition: EcalTrapezoidParameters.cc:168
EcalTrapezoidParameters::m_ph
TPFloat m_ph
Definition: EcalTrapezoidParameters.h:120
EcalTrapezoidParameters::phi
TPFloat phi() const
Definition: EcalTrapezoidParameters.cc:145
CaloCellGeometry.h
EcalTrapezoidParameters::hAa
TPFloat hAa() const
Definition: EcalTrapezoidParameters.cc:157
EcalTrapezoidParameters::m_A
TPFloat m_A
Definition: EcalTrapezoidParameters.h:123
EcalTrapezoidParameters::m_th
TPFloat m_th
Definition: EcalTrapezoidParameters.h:120
EcalTrapezoidParameters::operator=
const EcalTrapezoidParameters & operator=(const EcalTrapezoidParameters &)=delete
EcalTrapezoidParameters::D
TPFloat D() const
Definition: EcalTrapezoidParameters.cc:172
EcalTrapezoidParameters::m_H
TPFloat m_H
Definition: EcalTrapezoidParameters.h:123
EcalTrapezoidParameters::m_L
TPFloat m_L
Definition: EcalTrapezoidParameters.h:123
EcalTrapezoidParameters::m_dz
TPFloat m_dz
Definition: EcalTrapezoidParameters.h:120
EcalTrapezoidParameters::m_a
TPFloat m_a
Definition: EcalTrapezoidParameters.h:123
EcalTrapezoidParameters::L
TPFloat L() const
Definition: EcalTrapezoidParameters.cc:163
EcalTrapezoidParameters::bl2
TPFloat bl2() const
Definition: EcalTrapezoidParameters.cc:151
EcalTrapezoidParameters::m_d
TPFloat m_d
Definition: EcalTrapezoidParameters.h:123
EcalTrapezoidParameters::EcalTrapezoidParameters
EcalTrapezoidParameters()=delete
EcalTrapezoidParameters::m_a1
TPFloat m_a1
Definition: EcalTrapezoidParameters.h:121
EcalTrapezoidParameters::VertexList
CaloCellGeometry::Pt3DVec VertexList
Definition: EcalTrapezoidParameters.h:64
EcalTrapezoidParameters::m_hBb
TPFloat m_hBb
Definition: EcalTrapezoidParameters.h:122
EcalTrapezoidParameters::hDd
TPFloat hDd() const
Definition: EcalTrapezoidParameters.cc:160
EcalTrapezoidParameters::m_x15
TPFloat m_x15
Definition: EcalTrapezoidParameters.h:121
EcalTrapezoidParameters::dz
TPFloat dz() const
Definition: EcalTrapezoidParameters.cc:143
EcalTrapezoidParameters::m_bl1
TPFloat m_bl1
Definition: EcalTrapezoidParameters.h:120
EcalTrapezoidParameters::A
TPFloat A() const
Definition: EcalTrapezoidParameters.cc:169
EcalTrapezoidParameters::m_D
TPFloat m_D
Definition: EcalTrapezoidParameters.h:123
EcalTrapezoidParameters::x15
TPFloat x15() const
Definition: EcalTrapezoidParameters.cc:155
EcalTrapezoidParameters::a4
TPFloat a4() const
Definition: EcalTrapezoidParameters.cc:162
EcalTrapezoidParameters::b
TPFloat b() const
Definition: EcalTrapezoidParameters.cc:165
EcalTrapezoidParameters::H
TPFloat H() const
Definition: EcalTrapezoidParameters.cc:173