src
Geometry
CaloGeometry
interface
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
60
#include "
Geometry/CaloGeometry/interface/CaloCellGeometry.h
"
61
62
class
EcalTrapezoidParameters
{
63
public
:
64
using
VertexList
=
CaloCellGeometry::Pt3DVec
;
65
using
TPFloat
=
CaloCellGeometry::CCGFloat
;
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
;
116
EcalTrapezoidParameters
(
const
EcalTrapezoidParameters
&) =
delete
;
117
const
EcalTrapezoidParameters
&
operator=
(
const
EcalTrapezoidParameters
&) =
delete
;
118
119
private
:
120
TPFloat
m_dz
,
m_th
,
m_ph
,
m_h1
,
m_bl1
,
m_tl1
,
m_alp1
,
m_h2
,
m_bl2
,
m_tl2
,
m_alp2
;
121
TPFloat
m_a1
,
m_hAa
,
m_x15
,
m_y15
;
122
TPFloat
m_a4
,
m_hBb
,
m_hCc
,
m_hDd
;
123
TPFloat
m_L
,
m_a
,
m_b
,
m_c
,
m_d
,
m_h
,
m_A
,
m_B
,
m_C
,
m_D
,
m_H
;
124
};
125
126
#endif
/* ECALCOMMONDATA_ECALTRAPEZOIDPARAMETERS_H */
EcalTrapezoidParameters::vertexList
VertexList vertexList() const
Definition:
EcalTrapezoidParameters.cc:175
EcalTrapezoidParameters::EcalTrapezoidParameters
EcalTrapezoidParameters()=delete
EcalTrapezoidParameters::a4
TPFloat a4() const
Definition:
EcalTrapezoidParameters.cc:162
EcalTrapezoidParameters::b
TPFloat b() const
Definition:
EcalTrapezoidParameters.cc:165
EcalTrapezoidParameters::m_x15
TPFloat m_x15
Definition:
EcalTrapezoidParameters.h:121
EcalTrapezoidParameters::H
TPFloat H() const
Definition:
EcalTrapezoidParameters.cc:173
EcalTrapezoidParameters::m_bl2
TPFloat m_bl2
Definition:
EcalTrapezoidParameters.h:120
CaloCellGeometry.h
EcalTrapezoidParameters::m_hDd
TPFloat m_hDd
Definition:
EcalTrapezoidParameters.h:122
EcalTrapezoidParameters::m_hAa
TPFloat m_hAa
Definition:
EcalTrapezoidParameters.h:121
EcalTrapezoidParameters::m_hCc
TPFloat m_hCc
Definition:
EcalTrapezoidParameters.h:122
EcalTrapezoidParameters::d
TPFloat d() const
Definition:
EcalTrapezoidParameters.cc:167
EcalTrapezoidParameters::hCc
TPFloat hCc() const
Definition:
EcalTrapezoidParameters.cc:159
EcalTrapezoidParameters::a
TPFloat a() const
Definition:
EcalTrapezoidParameters.cc:164
EcalTrapezoidParameters::m_y15
TPFloat m_y15
Definition:
EcalTrapezoidParameters.h:121
EcalTrapezoidParameters::hBb
TPFloat hBb() const
Definition:
EcalTrapezoidParameters.cc:158
CaloCellGeometry::Pt3DVec
std::vector< Pt3D > Pt3DVec
Definition:
CaloCellGeometry.h:55
EcalTrapezoidParameters::tl2
TPFloat tl2() const
Definition:
EcalTrapezoidParameters.cc:152
EcalTrapezoidParameters::c
TPFloat c() const
Definition:
EcalTrapezoidParameters.cc:166
EcalTrapezoidParameters::C
TPFloat C() const
Definition:
EcalTrapezoidParameters.cc:171
EcalTrapezoidParameters::B
TPFloat B() const
Definition:
EcalTrapezoidParameters.cc:170
CaloCellGeometry::CCGFloat
float CCGFloat
Definition:
CaloCellGeometry.h:52
EcalTrapezoidParameters::h2
TPFloat h2() const
Definition:
EcalTrapezoidParameters.cc:150
EcalTrapezoidParameters::m_c
TPFloat m_c
Definition:
EcalTrapezoidParameters.h:123
EcalTrapezoidParameters::m_alp1
TPFloat m_alp1
Definition:
EcalTrapezoidParameters.h:120
EcalTrapezoidParameters::m_alp2
TPFloat m_alp2
Definition:
EcalTrapezoidParameters.h:120
EcalTrapezoidParameters::theta
TPFloat theta() const
Definition:
EcalTrapezoidParameters.cc:144
EcalTrapezoidParameters::m_h1
TPFloat m_h1
Definition:
EcalTrapezoidParameters.h:120
EcalTrapezoidParameters::a1
TPFloat a1() const
Definition:
EcalTrapezoidParameters.cc:161
EcalTrapezoidParameters::tl1
TPFloat tl1() const
Definition:
EcalTrapezoidParameters.cc:148
EcalTrapezoidParameters::m_C
TPFloat m_C
Definition:
EcalTrapezoidParameters.h:123
EcalTrapezoidParameters::h
TPFloat h() const
Definition:
EcalTrapezoidParameters.cc:168
EcalTrapezoidParameters::m_a4
TPFloat m_a4
Definition:
EcalTrapezoidParameters.h:122
EcalTrapezoidParameters::m_ph
TPFloat m_ph
Definition:
EcalTrapezoidParameters.h:120
EcalTrapezoidParameters::TPFloat
CaloCellGeometry::CCGFloat TPFloat
Definition:
EcalTrapezoidParameters.h:65
EcalTrapezoidParameters::hAa
TPFloat hAa() const
Definition:
EcalTrapezoidParameters.cc:157
EcalTrapezoidParameters::h1
TPFloat h1() const
Definition:
EcalTrapezoidParameters.cc:146
EcalTrapezoidParameters::m_A
TPFloat m_A
Definition:
EcalTrapezoidParameters.h:123
EcalTrapezoidParameters::m_h2
TPFloat m_h2
Definition:
EcalTrapezoidParameters.h:120
EcalTrapezoidParameters::operator=
const EcalTrapezoidParameters & operator=(const EcalTrapezoidParameters &)=delete
EcalTrapezoidParameters::m_H
TPFloat m_H
Definition:
EcalTrapezoidParameters.h:123
EcalTrapezoidParameters::m_a
TPFloat m_a
Definition:
EcalTrapezoidParameters.h:123
EcalTrapezoidParameters::alp2
TPFloat alp2() const
Definition:
EcalTrapezoidParameters.cc:153
EcalTrapezoidParameters::y15
TPFloat y15() const
Definition:
EcalTrapezoidParameters.cc:156
EcalTrapezoidParameters::m_th
TPFloat m_th
Definition:
EcalTrapezoidParameters.h:120
EcalTrapezoidParameters::m_tl2
TPFloat m_tl2
Definition:
EcalTrapezoidParameters.h:120
EcalTrapezoidParameters::m_hBb
TPFloat m_hBb
Definition:
EcalTrapezoidParameters.h:122
EcalTrapezoidParameters::m_a1
TPFloat m_a1
Definition:
EcalTrapezoidParameters.h:121
EcalTrapezoidParameters::hDd
TPFloat hDd() const
Definition:
EcalTrapezoidParameters.cc:160
EcalTrapezoidParameters::m_L
TPFloat m_L
Definition:
EcalTrapezoidParameters.h:123
EcalTrapezoidParameters::m_bl1
TPFloat m_bl1
Definition:
EcalTrapezoidParameters.h:120
EcalTrapezoidParameters::m_tl1
TPFloat m_tl1
Definition:
EcalTrapezoidParameters.h:120
EcalTrapezoidParameters
Definition:
EcalTrapezoidParameters.h:62
EcalTrapezoidParameters::A
TPFloat A() const
Definition:
EcalTrapezoidParameters.cc:169
EcalTrapezoidParameters::phi
TPFloat phi() const
Definition:
EcalTrapezoidParameters.cc:145
EcalTrapezoidParameters::bl2
TPFloat bl2() const
Definition:
EcalTrapezoidParameters.cc:151
EcalTrapezoidParameters::m_d
TPFloat m_d
Definition:
EcalTrapezoidParameters.h:123
EcalTrapezoidParameters::x15
TPFloat x15() const
Definition:
EcalTrapezoidParameters.cc:155
EcalTrapezoidParameters::m_D
TPFloat m_D
Definition:
EcalTrapezoidParameters.h:123
EcalTrapezoidParameters::m_b
TPFloat m_b
Definition:
EcalTrapezoidParameters.h:123
EcalTrapezoidParameters::m_B
TPFloat m_B
Definition:
EcalTrapezoidParameters.h:123
EcalTrapezoidParameters::m_dz
TPFloat m_dz
Definition:
EcalTrapezoidParameters.h:120
EcalTrapezoidParameters::L
TPFloat L() const
Definition:
EcalTrapezoidParameters.cc:163
EcalTrapezoidParameters::D
TPFloat D() const
Definition:
EcalTrapezoidParameters.cc:172
EcalTrapezoidParameters::VertexList
CaloCellGeometry::Pt3DVec VertexList
Definition:
EcalTrapezoidParameters.h:64
EcalTrapezoidParameters::dz
TPFloat dz() const
Definition:
EcalTrapezoidParameters.cc:143
EcalTrapezoidParameters::m_h
TPFloat m_h
Definition:
EcalTrapezoidParameters.h:123
EcalTrapezoidParameters::bl1
TPFloat bl1() const
Definition:
EcalTrapezoidParameters.cc:147
EcalTrapezoidParameters::alp1
TPFloat alp1() const
Definition:
EcalTrapezoidParameters.cc:149
Generated for CMSSW Reference Manual by
1.8.14