Main Page
Namespaces
Classes
Package Documentation
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Groups
Pages
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::alp1
TPFloat alp1() const
Definition:
EcalTrapezoidParameters.cc:149
EcalTrapezoidParameters::hDd
TPFloat hDd() const
Definition:
EcalTrapezoidParameters.cc:160
EcalTrapezoidParameters::EcalTrapezoidParameters
EcalTrapezoidParameters()=delete
EcalTrapezoidParameters::m_x15
TPFloat m_x15
Definition:
EcalTrapezoidParameters.h:121
EcalTrapezoidParameters::m_bl2
TPFloat m_bl2
Definition:
EcalTrapezoidParameters.h:120
CaloCellGeometry.h
EcalTrapezoidParameters::phi
TPFloat phi() const
Definition:
EcalTrapezoidParameters.cc:145
EcalTrapezoidParameters::b
TPFloat b() const
Definition:
EcalTrapezoidParameters.cc:165
EcalTrapezoidParameters::m_hDd
TPFloat m_hDd
Definition:
EcalTrapezoidParameters.h:122
EcalTrapezoidParameters::vertexList
VertexList vertexList() const
Definition:
EcalTrapezoidParameters.cc:175
EcalTrapezoidParameters::h
TPFloat h() const
Definition:
EcalTrapezoidParameters.cc:168
EcalTrapezoidParameters::m_hAa
TPFloat m_hAa
Definition:
EcalTrapezoidParameters.h:121
EcalTrapezoidParameters::C
TPFloat C() const
Definition:
EcalTrapezoidParameters.cc:171
EcalTrapezoidParameters::L
TPFloat L() const
Definition:
EcalTrapezoidParameters.cc:163
EcalTrapezoidParameters::m_hCc
TPFloat m_hCc
Definition:
EcalTrapezoidParameters.h:122
EcalTrapezoidParameters::bl1
TPFloat bl1() const
Definition:
EcalTrapezoidParameters.cc:147
EcalTrapezoidParameters::m_y15
TPFloat m_y15
Definition:
EcalTrapezoidParameters.h:121
CaloCellGeometry::Pt3DVec
std::vector< Pt3D > Pt3DVec
Definition:
CaloCellGeometry.h:55
EcalTrapezoidParameters::bl2
TPFloat bl2() const
Definition:
EcalTrapezoidParameters.cc:151
CaloCellGeometry::CCGFloat
float CCGFloat
Definition:
CaloCellGeometry.h:52
EcalTrapezoidParameters::y15
TPFloat y15() const
Definition:
EcalTrapezoidParameters.cc:156
EcalTrapezoidParameters::x15
TPFloat x15() const
Definition:
EcalTrapezoidParameters.cc:155
EcalTrapezoidParameters::theta
TPFloat theta() const
Definition:
EcalTrapezoidParameters.cc:144
EcalTrapezoidParameters::B
TPFloat B() const
Definition:
EcalTrapezoidParameters.cc:170
EcalTrapezoidParameters::hBb
TPFloat hBb() const
Definition:
EcalTrapezoidParameters.cc:158
EcalTrapezoidParameters::m_c
TPFloat m_c
Definition:
EcalTrapezoidParameters.h:123
EcalTrapezoidParameters::m_alp1
TPFloat m_alp1
Definition:
EcalTrapezoidParameters.h:120
EcalTrapezoidParameters::hCc
TPFloat hCc() const
Definition:
EcalTrapezoidParameters.cc:159
EcalTrapezoidParameters::a1
TPFloat a1() const
Definition:
EcalTrapezoidParameters.cc:161
EcalTrapezoidParameters::m_alp2
TPFloat m_alp2
Definition:
EcalTrapezoidParameters.h:120
EcalTrapezoidParameters::d
TPFloat d() const
Definition:
EcalTrapezoidParameters.cc:167
EcalTrapezoidParameters::m_h1
TPFloat m_h1
Definition:
EcalTrapezoidParameters.h:120
EcalTrapezoidParameters::D
TPFloat D() const
Definition:
EcalTrapezoidParameters.cc:172
EcalTrapezoidParameters::A
TPFloat A() const
Definition:
EcalTrapezoidParameters.cc:169
EcalTrapezoidParameters::tl1
TPFloat tl1() const
Definition:
EcalTrapezoidParameters.cc:148
EcalTrapezoidParameters::m_C
TPFloat m_C
Definition:
EcalTrapezoidParameters.h:123
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::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::h1
TPFloat h1() const
Definition:
EcalTrapezoidParameters.cc:146
EcalTrapezoidParameters::tl2
TPFloat tl2() const
Definition:
EcalTrapezoidParameters.cc:152
EcalTrapezoidParameters::m_th
TPFloat m_th
Definition:
EcalTrapezoidParameters.h:120
EcalTrapezoidParameters::h2
TPFloat h2() const
Definition:
EcalTrapezoidParameters.cc:150
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::m_L
TPFloat m_L
Definition:
EcalTrapezoidParameters.h:123
EcalTrapezoidParameters::m_bl1
TPFloat m_bl1
Definition:
EcalTrapezoidParameters.h:120
EcalTrapezoidParameters::hAa
TPFloat hAa() const
Definition:
EcalTrapezoidParameters.cc:157
EcalTrapezoidParameters::m_tl1
TPFloat m_tl1
Definition:
EcalTrapezoidParameters.h:120
EcalTrapezoidParameters::a
TPFloat a() const
Definition:
EcalTrapezoidParameters.cc:164
EcalTrapezoidParameters
Definition:
EcalTrapezoidParameters.h:62
EcalTrapezoidParameters::c
TPFloat c() const
Definition:
EcalTrapezoidParameters.cc:166
EcalTrapezoidParameters::m_d
TPFloat m_d
Definition:
EcalTrapezoidParameters.h:123
EcalTrapezoidParameters::m_D
TPFloat m_D
Definition:
EcalTrapezoidParameters.h:123
EcalTrapezoidParameters::m_b
TPFloat m_b
Definition:
EcalTrapezoidParameters.h:123
EcalTrapezoidParameters::alp2
TPFloat alp2() const
Definition:
EcalTrapezoidParameters.cc:153
EcalTrapezoidParameters::m_B
TPFloat m_B
Definition:
EcalTrapezoidParameters.h:123
EcalTrapezoidParameters::m_dz
TPFloat m_dz
Definition:
EcalTrapezoidParameters.h:120
EcalTrapezoidParameters::a4
TPFloat a4() const
Definition:
EcalTrapezoidParameters.cc:162
EcalTrapezoidParameters::VertexList
CaloCellGeometry::Pt3DVec VertexList
Definition:
EcalTrapezoidParameters.h:64
EcalTrapezoidParameters::H
TPFloat H() const
Definition:
EcalTrapezoidParameters.cc:173
EcalTrapezoidParameters::m_h
TPFloat m_h
Definition:
EcalTrapezoidParameters.h:123
EcalTrapezoidParameters::dz
TPFloat dz() const
Definition:
EcalTrapezoidParameters.cc:143
Generated for CMSSW Reference Manual by
1.8.5