Main Page
Namespaces
Classes
Package Documentation
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Pages
Geometry
CaloGeometry
interface
EcalTrapezoidParameters.h
Go to the documentation of this file.
1
#if !defined(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
// system include files
57
58
// user include files
59
60
#include <vector>
61
#include <CLHEP/Geometry/Point3D.h>
62
63
#include "
Geometry/CaloGeometry/interface/CaloCellGeometry.h
"
64
65
// forward declarations
66
67
68
class
EcalTrapezoidParameters
69
{
70
// ---------- friend classes and functions ---------------
71
public
:
72
// ---------- constants, enums and typedefs --------------
73
74
typedef
CaloCellGeometry::Pt3DVec
VertexList
;
75
76
typedef
CaloCellGeometry::CCGFloat
TPFloat
;
77
78
// ---------- Constructors and destructor ----------------
79
80
EcalTrapezoidParameters
(
TPFloat
aHalfLengthXNegZLoY ,
// bl1, A/2
81
TPFloat
aHalfLengthXPosZLoY ,
// bl2, a/2
82
TPFloat
aHalfLengthXPosZHiY ,
// tl2, b/2
83
TPFloat
aHalfLengthYNegZ ,
// h1, H/2
84
TPFloat
aHalfLengthYPosZ ,
// h2, h/2
85
TPFloat
aHalfLengthZ ,
// dz, L/2
86
TPFloat
aAngleAD ,
// alfa1
87
TPFloat
aCoord15X ,
// x15
88
TPFloat
aCoord15Y
// y15
89
) ;
90
91
//virtual ~EcalTrapezoidParameters() ;
92
93
// ---------- member functions ---------------------------
94
// ---------- const member functions ---------------------
95
96
// GEANT parameters, in order
97
TPFloat
dz
()
const
;
98
TPFloat
theta
()
const
;
99
TPFloat
phi
()
const
;
100
TPFloat
h1
()
const
;
101
TPFloat
bl1
()
const
;
102
TPFloat
tl1
()
const
;
103
TPFloat
alp1
()
const
;
104
TPFloat
h2
()
const
;
105
TPFloat
bl2
()
const
;
106
TPFloat
tl2
()
const
;
107
TPFloat
alp2
()
const
;
108
109
// everything else
110
TPFloat
x15
()
const
;
111
TPFloat
y15
()
const
;
112
TPFloat
hAa
()
const
;
113
TPFloat
hBb
()
const
;
114
TPFloat
hCc
()
const
;
115
TPFloat
hDd
()
const
;
116
TPFloat
a1
()
const
;
117
TPFloat
a4
()
const
;
118
119
TPFloat
L
()
const
;
120
TPFloat
a
()
const
;
121
TPFloat
b
()
const
;
122
TPFloat
c
()
const
;
123
TPFloat
d
()
const
;
124
TPFloat
h
()
const
;
125
TPFloat
A
()
const
;
126
TPFloat
B
()
const
;
127
TPFloat
C
()
const
;
128
TPFloat
D
()
const
;
129
TPFloat
H
()
const
;
130
131
VertexList
vertexList
()
const
;
// order is as in picture above: index=vtx-1
132
133
// ---------- static member functions --------------------
134
protected
:
135
// ---------- protected member functions -----------------
136
// ---------- protected const member functions -----------
137
private
:
138
// ---------- Constructors and destructor ----------------
139
EcalTrapezoidParameters
();
140
EcalTrapezoidParameters
(
const
EcalTrapezoidParameters
& );
// stop default
141
142
// ---------- assignment operator(s) ---------------------
143
const
EcalTrapezoidParameters
&
operator=
(
const
EcalTrapezoidParameters
& );
// stop default
144
145
// ---------- private member functions -------------------
146
// ---------- private const member functions -------------
147
// ---------- data members -------------------------------
148
149
TPFloat
m_dz
,
m_th
,
m_ph
,
m_h1
,
m_bl1
,
m_tl1
,
m_alp1
,
m_h2
,
m_bl2
,
m_tl2
,
m_alp2
;
150
TPFloat
m_a1
,
m_hAa
,
m_x15
,
m_y15
;
151
TPFloat
m_a4
,
m_hBb
,
m_hCc
,
m_hDd
;
152
TPFloat
m_L
,
m_a
,
m_b
,
m_c
,
m_d
,
m_h
,
m_A
,
m_B
,
m_C
,
m_D
,
m_H
;
153
154
// ---------- static data members ------------------------
155
};
156
157
// inline function definitions
158
159
#endif
/* ECALCOMMONDATA_ECALTRAPEZOIDPARAMETERS_H */
EcalTrapezoidParameters::alp1
TPFloat alp1() const
Definition:
EcalTrapezoidParameters.cc:174
EcalTrapezoidParameters::hDd
TPFloat hDd() const
Definition:
EcalTrapezoidParameters.cc:185
EcalTrapezoidParameters::m_x15
TPFloat m_x15
Definition:
EcalTrapezoidParameters.h:150
EcalTrapezoidParameters::m_bl2
TPFloat m_bl2
Definition:
EcalTrapezoidParameters.h:149
CaloCellGeometry.h
EcalTrapezoidParameters::phi
TPFloat phi() const
Definition:
EcalTrapezoidParameters.cc:170
EcalTrapezoidParameters::b
TPFloat b() const
Definition:
EcalTrapezoidParameters.cc:190
EcalTrapezoidParameters::m_hDd
TPFloat m_hDd
Definition:
EcalTrapezoidParameters.h:151
EcalTrapezoidParameters::vertexList
VertexList vertexList() const
Definition:
EcalTrapezoidParameters.cc:201
EcalTrapezoidParameters::h
TPFloat h() const
Definition:
EcalTrapezoidParameters.cc:193
EcalTrapezoidParameters::m_hAa
TPFloat m_hAa
Definition:
EcalTrapezoidParameters.h:150
EcalTrapezoidParameters::C
TPFloat C() const
Definition:
EcalTrapezoidParameters.cc:196
EcalTrapezoidParameters::L
TPFloat L() const
Definition:
EcalTrapezoidParameters.cc:188
EcalTrapezoidParameters::VertexList
CaloCellGeometry::Pt3DVec VertexList
Definition:
EcalTrapezoidParameters.h:74
EcalTrapezoidParameters::m_hCc
TPFloat m_hCc
Definition:
EcalTrapezoidParameters.h:151
EcalTrapezoidParameters::bl1
TPFloat bl1() const
Definition:
EcalTrapezoidParameters.cc:172
EcalTrapezoidParameters::m_y15
TPFloat m_y15
Definition:
EcalTrapezoidParameters.h:150
CaloCellGeometry::Pt3DVec
std::vector< Pt3D > Pt3DVec
Definition:
CaloCellGeometry.h:58
EcalTrapezoidParameters::bl2
TPFloat bl2() const
Definition:
EcalTrapezoidParameters.cc:176
CaloCellGeometry::CCGFloat
float CCGFloat
Definition:
CaloCellGeometry.h:55
EcalTrapezoidParameters::y15
TPFloat y15() const
Definition:
EcalTrapezoidParameters.cc:181
EcalTrapezoidParameters::x15
TPFloat x15() const
Definition:
EcalTrapezoidParameters.cc:180
EcalTrapezoidParameters::theta
TPFloat theta() const
Definition:
EcalTrapezoidParameters.cc:169
EcalTrapezoidParameters::B
TPFloat B() const
Definition:
EcalTrapezoidParameters.cc:195
EcalTrapezoidParameters::hBb
TPFloat hBb() const
Definition:
EcalTrapezoidParameters.cc:183
EcalTrapezoidParameters::m_c
TPFloat m_c
Definition:
EcalTrapezoidParameters.h:152
EcalTrapezoidParameters::m_alp1
TPFloat m_alp1
Definition:
EcalTrapezoidParameters.h:149
EcalTrapezoidParameters::hCc
TPFloat hCc() const
Definition:
EcalTrapezoidParameters.cc:184
EcalTrapezoidParameters::a1
TPFloat a1() const
Definition:
EcalTrapezoidParameters.cc:186
EcalTrapezoidParameters::operator=
const EcalTrapezoidParameters & operator=(const EcalTrapezoidParameters &)
EcalTrapezoidParameters::m_alp2
TPFloat m_alp2
Definition:
EcalTrapezoidParameters.h:149
EcalTrapezoidParameters::d
TPFloat d() const
Definition:
EcalTrapezoidParameters.cc:192
EcalTrapezoidParameters::m_h1
TPFloat m_h1
Definition:
EcalTrapezoidParameters.h:149
EcalTrapezoidParameters::D
TPFloat D() const
Definition:
EcalTrapezoidParameters.cc:197
EcalTrapezoidParameters::A
TPFloat A() const
Definition:
EcalTrapezoidParameters.cc:194
EcalTrapezoidParameters::tl1
TPFloat tl1() const
Definition:
EcalTrapezoidParameters.cc:173
EcalTrapezoidParameters::m_C
TPFloat m_C
Definition:
EcalTrapezoidParameters.h:152
EcalTrapezoidParameters::m_a4
TPFloat m_a4
Definition:
EcalTrapezoidParameters.h:151
EcalTrapezoidParameters::m_ph
TPFloat m_ph
Definition:
EcalTrapezoidParameters.h:149
EcalTrapezoidParameters::m_A
TPFloat m_A
Definition:
EcalTrapezoidParameters.h:152
EcalTrapezoidParameters::m_h2
TPFloat m_h2
Definition:
EcalTrapezoidParameters.h:149
EcalTrapezoidParameters::m_H
TPFloat m_H
Definition:
EcalTrapezoidParameters.h:152
EcalTrapezoidParameters::TPFloat
CaloCellGeometry::CCGFloat TPFloat
Definition:
EcalTrapezoidParameters.h:76
EcalTrapezoidParameters::m_a
TPFloat m_a
Definition:
EcalTrapezoidParameters.h:152
EcalTrapezoidParameters::h1
TPFloat h1() const
Definition:
EcalTrapezoidParameters.cc:171
EcalTrapezoidParameters::tl2
TPFloat tl2() const
Definition:
EcalTrapezoidParameters.cc:177
EcalTrapezoidParameters::m_th
TPFloat m_th
Definition:
EcalTrapezoidParameters.h:149
EcalTrapezoidParameters::h2
TPFloat h2() const
Definition:
EcalTrapezoidParameters.cc:175
EcalTrapezoidParameters::m_tl2
TPFloat m_tl2
Definition:
EcalTrapezoidParameters.h:149
EcalTrapezoidParameters::m_hBb
TPFloat m_hBb
Definition:
EcalTrapezoidParameters.h:151
EcalTrapezoidParameters::m_a1
TPFloat m_a1
Definition:
EcalTrapezoidParameters.h:150
EcalTrapezoidParameters::m_L
TPFloat m_L
Definition:
EcalTrapezoidParameters.h:152
EcalTrapezoidParameters::m_bl1
TPFloat m_bl1
Definition:
EcalTrapezoidParameters.h:149
EcalTrapezoidParameters::hAa
TPFloat hAa() const
Definition:
EcalTrapezoidParameters.cc:182
EcalTrapezoidParameters::m_tl1
TPFloat m_tl1
Definition:
EcalTrapezoidParameters.h:149
EcalTrapezoidParameters::a
TPFloat a() const
Definition:
EcalTrapezoidParameters.cc:189
EcalTrapezoidParameters
Definition:
EcalTrapezoidParameters.h:68
EcalTrapezoidParameters::c
TPFloat c() const
Definition:
EcalTrapezoidParameters.cc:191
EcalTrapezoidParameters::m_d
TPFloat m_d
Definition:
EcalTrapezoidParameters.h:152
EcalTrapezoidParameters::m_D
TPFloat m_D
Definition:
EcalTrapezoidParameters.h:152
EcalTrapezoidParameters::m_b
TPFloat m_b
Definition:
EcalTrapezoidParameters.h:152
EcalTrapezoidParameters::alp2
TPFloat alp2() const
Definition:
EcalTrapezoidParameters.cc:178
EcalTrapezoidParameters::m_B
TPFloat m_B
Definition:
EcalTrapezoidParameters.h:152
EcalTrapezoidParameters::m_dz
TPFloat m_dz
Definition:
EcalTrapezoidParameters.h:149
EcalTrapezoidParameters::a4
TPFloat a4() const
Definition:
EcalTrapezoidParameters.cc:187
EcalTrapezoidParameters::H
TPFloat H() const
Definition:
EcalTrapezoidParameters.cc:198
EcalTrapezoidParameters::m_h
TPFloat m_h
Definition:
EcalTrapezoidParameters.h:152
EcalTrapezoidParameters::dz
TPFloat dz() const
Definition:
EcalTrapezoidParameters.cc:168
EcalTrapezoidParameters::EcalTrapezoidParameters
EcalTrapezoidParameters()
Generated for CMSSW Reference Manual by
1.8.5