39 double aHalfLengthXNegZLoY ,
40 double aHalfLengthXPosZLoY ,
41 double aHalfLengthXPosZHiY ,
42 double aHalfLengthYNegZ ,
43 double aHalfLengthYPosZ ,
51 m_h1 = aHalfLengthYNegZ ;
52 m_bl1 = aHalfLengthXNegZLoY ;
53 m_h2 = aHalfLengthYPosZ ;
54 m_bl2 = aHalfLengthXPosZLoY ;
55 m_tl2 = aHalfLengthXPosZHiY ;
71 const double sina1 (
sin(
m_a1 ) ) ;
72 const double cosa1 (
cos(
m_a1 ) ) ;
89 const double sina4 (
sin(
m_a4 ) ) ;
96 const double xd5 ( (
m_hAa +
m_hDd*cosa1 )/sina1 ) ;
97 const double xd6 (
m_D - m_d - xd5 ) ;
100 if( 0. == z6 || 1. < fabs(
m_hDd/z6 ) )
110 const double xb6 ( z6*
cos( gb6 ) ) ;
111 const double xb7 (
m_B - xb6 -
m_b ) ;
114 if( 0 == z7 || 1. < fabs(
m_hBb/z7 ) )
126 const HepGeom::Point3D<double> bc ( v5 +
127 HepGeom::Point3D<double> (
m_bl1 +
m_h1*tanalp1,
m_h1, 0 ) ) ;
128 const HepGeom::Point3D<double> dc ( fc - bc ) ;
204 const double dztanth (
dz()*
tan(
theta() ) ) ;
206 const double ph (
phi() ) ;
207 const HepGeom::Point3D<double>
fc ( dztanth*
cos(ph), dztanth*
sin(ph),
dz() ) ;
209 const double h_ (
h() ) ;
210 const double H_ (
H() ) ;
211 const double b_ (
b() ) ;
212 const double B_ (
B() ) ;
213 const double a_ (
a() ) ;
214 const double A_ (
A() ) ;
218 const double tanalp1 (
tan(
alp1()) ) ;
220 const double tanalp2 (
tan(
alp2()) ) ;
224 const HepGeom::Point3D<double>
f1 ( -HepGeom::Point3D<double> (
bl2() +
h2()*tanalp2,
h2(), 0 ) ) ;
226 const HepGeom::Point3D<double>
f2 ( HepGeom::Point3D<double> ( -h_*tana1, h_, 0 ) + f1 ) ;
228 const HepGeom::Point3D<double>
f3 ( f2 + HepGeom::Point3D<double> ( b_,0,0 ) ) ;
230 const HepGeom::Point3D<double>
f4 ( HepGeom::Point3D<double> ( a_,0,0 ) + f1 ) ;
233 const HepGeom::Point3D<double>
f5 ( -HepGeom::Point3D<double> (
bl1() +
h1()*tanalp1,
h1(), 0 ) ) ;
235 const HepGeom::Point3D<double>
f6 ( HepGeom::Point3D<double> ( -H_*tana1, H_, 0 ) + f5 ) ;
237 const HepGeom::Point3D<double> f7 ( f6 + HepGeom::Point3D<double> ( B_,0,0 ) ) ;
239 const HepGeom::Point3D<double> f8 ( HepGeom::Point3D<double> ( A_,0,0 ) + f5 ) ;
241 vtx.push_back( fc + f1 ) ;
242 vtx.push_back( fc + f2 ) ;
243 vtx.push_back( fc + f3 ) ;
244 vtx.push_back( fc + f4 ) ;
245 vtx.push_back( -fc + f5 ) ;
246 vtx.push_back( -fc + f6 ) ;
247 vtx.push_back( -fc + f7 ) ;
248 vtx.push_back( -fc + f8 ) ;
VertexList vertexList() const
Sin< T >::type sin(const T &t)
std::vector< HepGeom::Point3D< double > > VertexList
Cos< T >::type cos(const T &t)
Tan< T >::type tan(const T &t)
EcalTrapezoidParameters()