Main Page
Namespaces
Classes
Package Documentation
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Pages
src
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:57
EcalTrapezoidParameters::bl2
TPFloat bl2() const
Definition:
EcalTrapezoidParameters.cc:176
CaloCellGeometry::CCGFloat
float CCGFloat
Definition:
CaloCellGeometry.h:54
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