#include <EcalTrapezoidParameters.h>
Definition at line 68 of file EcalTrapezoidParameters.h.
Definition at line 76 of file EcalTrapezoidParameters.h.
Definition at line 74 of file EcalTrapezoidParameters.h.
EcalTrapezoidParameters::EcalTrapezoidParameters | ( | TPFloat | aHalfLengthXNegZLoY, |
TPFloat | aHalfLengthXPosZLoY, | ||
TPFloat | aHalfLengthXPosZHiY, | ||
TPFloat | aHalfLengthYNegZ, | ||
TPFloat | aHalfLengthYPosZ, | ||
TPFloat | aHalfLengthZ, | ||
TPFloat | aAngleAD, | ||
TPFloat | aCoord15X, | ||
TPFloat | aCoord15Y | ||
) |
Definition at line 41 of file EcalTrapezoidParameters.cc.
References funct::cos(), benchmark_cfg::fc, m_A, m_a, m_a1, m_a4, m_alp1, m_alp2, m_b, m_B, m_bl1, m_bl2, m_c, m_C, m_D, m_d, m_dz, m_H, m_h, m_h1, m_h2, m_hAa, m_hBb, m_hCc, m_hDd, m_L, m_ph, M_PI, M_PI_2, m_th, m_tl1, m_tl2, m_x15, m_y15, funct::sin(), mathSSE::sqrt(), and funct::tan().
{ m_dz = aHalfLengthZ ; m_h1 = aHalfLengthYNegZ ; m_bl1 = aHalfLengthXNegZLoY ; m_h2 = aHalfLengthYPosZ ; m_bl2 = aHalfLengthXPosZLoY ; m_tl2 = aHalfLengthXPosZHiY ; m_a1 = aAngleAD ; m_y15 = aCoord15Y ; m_x15 = aCoord15X ; m_hAa = fabs( m_y15 ) ; m_L = 2*m_dz ; m_h = 2*m_h2 ; m_a = 2*m_bl2 ; m_b = 2*m_tl2 ; m_H = 2*m_h1 ; m_A = 2*m_bl1 ; // derive everything else const TPFloat sina1 ( sin( m_a1 ) ) ; const TPFloat cosa1 ( cos( m_a1 ) ) ; const TPFloat tana1 ( tan( m_a1 - M_PI_2 ) ) ; const TPFloat tana4 ( ( m_tl2 - m_bl2 - m_h2*tana1 )/m_h2 ) ; m_a4 = M_PI_2 + atan( tana4 ) ; m_tl1 = m_bl1 + m_h1*( tana1 + tana4 ) ; m_d = m_h/sina1 ; m_D = m_H/sina1 ; const TPFloat tanalp1 ( ( m_D*cosa1 + m_tl1 - m_bl1 )/m_H ) ; const TPFloat tanalp2 ( ( m_d*cosa1 + m_tl2 - m_bl2 )/m_h ) ; m_alp1 = atan( tanalp1 ) ; m_alp2 = atan( tanalp2 ) ; const TPFloat sina4 ( sin( m_a4 ) ) ; m_c = m_h/sina4 ; m_C = m_H/sina4 ; m_B = 2*m_tl1 ; // same as m_A - m_D*cosa1 - m_C*cos( m_a4 ) ; m_hDd = fabs( m_x15 )*sina1 - m_hAa*cosa1 ; const TPFloat xd5 ( ( m_hAa + m_hDd*cosa1 )/sina1 ) ; const TPFloat xd6 ( m_D - m_d - xd5 ) ; const TPFloat z6 ( sqrt( m_hDd*m_hDd + xd6*xd6 ) ) ; TPFloat gb6 ; if( 0. == z6 || 1. < fabs( m_hDd/z6 ) ) { gb6 = 0 ; } else { gb6 = M_PI - m_a1 - asin( m_hDd/z6 ) ; } m_hBb = z6*sin( gb6 ) ; const TPFloat xb6 ( z6*cos( gb6 ) ) ; const TPFloat xb7 ( m_B - xb6 - m_b ) ; const TPFloat z7 ( sqrt( m_hBb*m_hBb + xb7*xb7 ) ) ; TPFloat gc7 ; if( 0 == z7 || 1. < fabs( m_hBb/z7 ) ) { gc7 = 0 ; } else { gc7 = M_PI - m_a4 - asin( m_hBb/z7 ) ; } m_hCc = z7*sin( gc7 ) ; const Pt3D fc ( m_bl2 + m_h2*tanalp2, m_h2, 0 ) ; const Pt3D v5 ( m_x15 , m_y15 , -m_L ) ; const Pt3D bc ( v5 + Pt3D ( m_bl1 + m_h1*tanalp1, m_h1, 0 ) ) ; const Pt3D dc ( fc - bc ) ; m_th = dc.theta() ; m_ph = dc.phi() ; }
EcalTrapezoidParameters::EcalTrapezoidParameters | ( | ) | [private] |
EcalTrapezoidParameters::EcalTrapezoidParameters | ( | const EcalTrapezoidParameters & | ) | [private] |
TPFloat EcalTrapezoidParameters::a | ( | ) | const |
Definition at line 189 of file EcalTrapezoidParameters.cc.
References m_a.
Referenced by DDEcalBarrelNewAlgo::execute(), DDEcalBarrelAlgo::execute(), vertexList(), DDEcalBarrelNewAlgo::web(), and DDEcalBarrelAlgo::web().
{ return m_a ; }
TPFloat EcalTrapezoidParameters::A | ( | ) | const |
Definition at line 194 of file EcalTrapezoidParameters.cc.
References m_A.
Referenced by DDEcalBarrelNewAlgo::execute(), DDEcalBarrelAlgo::execute(), vertexList(), DDEcalBarrelNewAlgo::web(), and DDEcalBarrelAlgo::web().
{ return m_A ; }
TPFloat EcalTrapezoidParameters::a1 | ( | ) | const |
Definition at line 186 of file EcalTrapezoidParameters.cc.
References m_a1.
Referenced by vertexList().
{ return m_a1 ; }
TPFloat EcalTrapezoidParameters::a4 | ( | ) | const |
TPFloat EcalTrapezoidParameters::alp1 | ( | ) | const |
Definition at line 174 of file EcalTrapezoidParameters.cc.
References m_alp1.
Referenced by DDEcalBarrelNewAlgo::mytrap(), DDEcalBarrelAlgo::mytrap(), and vertexList().
{ return m_alp1 ; }
TPFloat EcalTrapezoidParameters::alp2 | ( | ) | const |
Definition at line 178 of file EcalTrapezoidParameters.cc.
References m_alp2.
Referenced by DDEcalBarrelNewAlgo::mytrap(), DDEcalBarrelAlgo::mytrap(), and vertexList().
{ return m_alp2 ; }
TPFloat EcalTrapezoidParameters::b | ( | ) | const |
Definition at line 190 of file EcalTrapezoidParameters.cc.
References m_b.
Referenced by DDEcalBarrelNewAlgo::execute(), DDEcalBarrelAlgo::execute(), vertexList(), DDEcalBarrelNewAlgo::web(), and DDEcalBarrelAlgo::web().
{ return m_b ; }
TPFloat EcalTrapezoidParameters::B | ( | ) | const |
Definition at line 195 of file EcalTrapezoidParameters.cc.
References m_B.
Referenced by vertexList(), DDEcalBarrelNewAlgo::web(), and DDEcalBarrelAlgo::web().
{ return m_B ; }
TPFloat EcalTrapezoidParameters::bl1 | ( | ) | const |
Definition at line 172 of file EcalTrapezoidParameters.cc.
References m_bl1.
Referenced by DDEcalBarrelNewAlgo::execute(), DDEcalBarrelAlgo::execute(), DDEcalBarrelNewAlgo::mytrap(), DDEcalBarrelAlgo::mytrap(), and vertexList().
{ return m_bl1 ; }
TPFloat EcalTrapezoidParameters::bl2 | ( | ) | const |
Definition at line 176 of file EcalTrapezoidParameters.cc.
References m_bl2.
Referenced by DDEcalBarrelNewAlgo::mytrap(), DDEcalBarrelAlgo::mytrap(), and vertexList().
{ return m_bl2 ; }
TPFloat EcalTrapezoidParameters::c | ( | ) | const |
TPFloat EcalTrapezoidParameters::C | ( | ) | const |
TPFloat EcalTrapezoidParameters::d | ( | ) | const |
TPFloat EcalTrapezoidParameters::D | ( | ) | const |
TPFloat EcalTrapezoidParameters::dz | ( | ) | const |
Definition at line 168 of file EcalTrapezoidParameters.cc.
References m_dz.
Referenced by DDEcalBarrelNewAlgo::execute(), DDEcalBarrelAlgo::execute(), DDEcalBarrelNewAlgo::mytrap(), DDEcalBarrelAlgo::mytrap(), and vertexList().
{ return m_dz ; }
TPFloat EcalTrapezoidParameters::h | ( | ) | const |
Definition at line 193 of file EcalTrapezoidParameters.cc.
References m_h.
Referenced by DDEcalBarrelNewAlgo::execute(), DDEcalBarrelAlgo::execute(), vertexList(), DDEcalBarrelNewAlgo::web(), and DDEcalBarrelAlgo::web().
{ return m_h ; }
TPFloat EcalTrapezoidParameters::H | ( | ) | const |
Definition at line 198 of file EcalTrapezoidParameters.cc.
References m_H.
Referenced by DDEcalBarrelNewAlgo::execute(), DDEcalBarrelAlgo::execute(), and vertexList().
{ return m_H ; }
TPFloat EcalTrapezoidParameters::h1 | ( | ) | const |
Definition at line 171 of file EcalTrapezoidParameters.cc.
References m_h1.
Referenced by DDEcalBarrelNewAlgo::execute(), DDEcalBarrelAlgo::execute(), DDEcalBarrelNewAlgo::mytrap(), DDEcalBarrelAlgo::mytrap(), and vertexList().
{ return m_h1 ; }
TPFloat EcalTrapezoidParameters::h2 | ( | ) | const |
Definition at line 175 of file EcalTrapezoidParameters.cc.
References m_h2.
Referenced by DDEcalBarrelNewAlgo::mytrap(), DDEcalBarrelAlgo::mytrap(), and vertexList().
{ return m_h2 ; }
TPFloat EcalTrapezoidParameters::hAa | ( | ) | const |
TPFloat EcalTrapezoidParameters::hBb | ( | ) | const |
TPFloat EcalTrapezoidParameters::hCc | ( | ) | const |
TPFloat EcalTrapezoidParameters::hDd | ( | ) | const |
TPFloat EcalTrapezoidParameters::L | ( | ) | const |
Definition at line 188 of file EcalTrapezoidParameters.cc.
References m_L.
Referenced by DDEcalBarrelNewAlgo::execute(), DDEcalBarrelAlgo::execute(), DDEcalBarrelNewAlgo::web(), and DDEcalBarrelAlgo::web().
{ return m_L ; }
const EcalTrapezoidParameters& EcalTrapezoidParameters::operator= | ( | const EcalTrapezoidParameters & | ) | [private] |
TPFloat EcalTrapezoidParameters::phi | ( | void | ) | const |
Definition at line 170 of file EcalTrapezoidParameters.cc.
References m_ph.
Referenced by DDEcalBarrelNewAlgo::mytrap(), DDEcalBarrelAlgo::mytrap(), and vertexList().
{ return m_ph ; }
TPFloat EcalTrapezoidParameters::theta | ( | void | ) | const |
Definition at line 169 of file EcalTrapezoidParameters.cc.
References m_th.
Referenced by DDEcalBarrelNewAlgo::mytrap(), DDEcalBarrelAlgo::mytrap(), and vertexList().
{ return m_th ; }
TPFloat EcalTrapezoidParameters::tl1 | ( | ) | const |
Definition at line 173 of file EcalTrapezoidParameters.cc.
References m_tl1.
Referenced by DDEcalBarrelNewAlgo::mytrap(), and DDEcalBarrelAlgo::mytrap().
{ return m_tl1 ; }
TPFloat EcalTrapezoidParameters::tl2 | ( | ) | const |
Definition at line 177 of file EcalTrapezoidParameters.cc.
References m_tl2.
Referenced by DDEcalBarrelNewAlgo::mytrap(), and DDEcalBarrelAlgo::mytrap().
{ return m_tl2 ; }
EcalTrapezoidParameters::VertexList EcalTrapezoidParameters::vertexList | ( | ) | const |
Definition at line 201 of file EcalTrapezoidParameters.cc.
References A(), a(), a1(), alp1(), alp2(), b(), B(), bl1(), bl2(), funct::cos(), dz(), validate-o2o-wbm::f1, validate-o2o-wbm::f2, connectstrParser::f3, connectstrParser::f4, connectstrParser::f5, connectstrParser::f6, benchmark_cfg::fc, h(), H(), h1(), h2(), M_PI_2, phi(), funct::sin(), funct::tan(), and theta().
Referenced by DDEcalBarrelNewAlgo::execute(), DDEcalBarrelAlgo::execute(), DDEcalBarrelNewAlgo::web(), and DDEcalBarrelAlgo::web().
{ VertexList vtx ; vtx.reserve( 8 ) ; const TPFloat dztanth ( dz()*tan( theta() ) ) ; const TPFloat ph ( phi() ) ; const Pt3D fc ( dztanth*cos(ph), dztanth*sin(ph), dz() ) ; const TPFloat h_ ( h() ) ; const TPFloat H_ ( H() ) ; const TPFloat b_ ( b() ) ; const TPFloat B_ ( B() ) ; const TPFloat a_ ( a() ) ; const TPFloat A_ ( A() ) ; // const TPFloat tl1 ( tl1() ) ; const TPFloat tanalp1 ( tan(alp1()) ) ; const TPFloat tanalp2 ( tan(alp2()) ) ; const TPFloat tana1 ( tan( a1() - M_PI_2 ) ) ; const Pt3D f1 ( -Pt3D( bl2() + h2()*tanalp2, h2(), 0 ) ) ; const Pt3D f2 ( Pt3D( -h_*tana1, h_, 0 ) + f1 ) ; const Pt3D f3 ( f2 + Pt3D( b_,0,0 ) ) ; const Pt3D f4 ( Pt3D( a_,0,0 ) + f1 ) ; const Pt3D f5 ( -Pt3D( bl1() + h1()*tanalp1, h1(), 0 ) ) ; const Pt3D f6 ( Pt3D( -H_*tana1, H_, 0 ) + f5 ) ; const Pt3D f7 ( f6 + Pt3D( B_,0,0 ) ) ; const Pt3D f8 ( Pt3D( A_,0,0 ) + f5 ) ; vtx.push_back( fc + f1 ) ; vtx.push_back( fc + f2 ) ; vtx.push_back( fc + f3 ) ; vtx.push_back( fc + f4 ) ; vtx.push_back( -fc + f5 ) ; vtx.push_back( -fc + f6 ) ; vtx.push_back( -fc + f7 ) ; vtx.push_back( -fc + f8 ) ; return vtx ; }
TPFloat EcalTrapezoidParameters::x15 | ( | ) | const |
TPFloat EcalTrapezoidParameters::y15 | ( | ) | const |
TPFloat EcalTrapezoidParameters::m_a [private] |
Definition at line 152 of file EcalTrapezoidParameters.h.
Referenced by a(), and EcalTrapezoidParameters().
TPFloat EcalTrapezoidParameters::m_A [private] |
Definition at line 152 of file EcalTrapezoidParameters.h.
Referenced by A(), and EcalTrapezoidParameters().
TPFloat EcalTrapezoidParameters::m_a1 [private] |
Definition at line 150 of file EcalTrapezoidParameters.h.
Referenced by a1(), and EcalTrapezoidParameters().
TPFloat EcalTrapezoidParameters::m_a4 [private] |
Definition at line 151 of file EcalTrapezoidParameters.h.
Referenced by a4(), and EcalTrapezoidParameters().
TPFloat EcalTrapezoidParameters::m_alp1 [private] |
Definition at line 149 of file EcalTrapezoidParameters.h.
Referenced by alp1(), and EcalTrapezoidParameters().
TPFloat EcalTrapezoidParameters::m_alp2 [private] |
Definition at line 149 of file EcalTrapezoidParameters.h.
Referenced by alp2(), and EcalTrapezoidParameters().
TPFloat EcalTrapezoidParameters::m_b [private] |
Definition at line 152 of file EcalTrapezoidParameters.h.
Referenced by b(), and EcalTrapezoidParameters().
TPFloat EcalTrapezoidParameters::m_B [private] |
Definition at line 152 of file EcalTrapezoidParameters.h.
Referenced by B(), and EcalTrapezoidParameters().
TPFloat EcalTrapezoidParameters::m_bl1 [private] |
Definition at line 149 of file EcalTrapezoidParameters.h.
Referenced by bl1(), and EcalTrapezoidParameters().
TPFloat EcalTrapezoidParameters::m_bl2 [private] |
Definition at line 149 of file EcalTrapezoidParameters.h.
Referenced by bl2(), and EcalTrapezoidParameters().
TPFloat EcalTrapezoidParameters::m_c [private] |
Definition at line 152 of file EcalTrapezoidParameters.h.
Referenced by c(), and EcalTrapezoidParameters().
TPFloat EcalTrapezoidParameters::m_C [private] |
Definition at line 152 of file EcalTrapezoidParameters.h.
Referenced by C(), and EcalTrapezoidParameters().
TPFloat EcalTrapezoidParameters::m_d [private] |
Definition at line 152 of file EcalTrapezoidParameters.h.
Referenced by d(), and EcalTrapezoidParameters().
TPFloat EcalTrapezoidParameters::m_D [private] |
Definition at line 152 of file EcalTrapezoidParameters.h.
Referenced by D(), and EcalTrapezoidParameters().
TPFloat EcalTrapezoidParameters::m_dz [private] |
Definition at line 149 of file EcalTrapezoidParameters.h.
Referenced by dz(), and EcalTrapezoidParameters().
TPFloat EcalTrapezoidParameters::m_h [private] |
Definition at line 152 of file EcalTrapezoidParameters.h.
Referenced by EcalTrapezoidParameters(), and h().
TPFloat EcalTrapezoidParameters::m_H [private] |
Definition at line 152 of file EcalTrapezoidParameters.h.
Referenced by EcalTrapezoidParameters(), and H().
TPFloat EcalTrapezoidParameters::m_h1 [private] |
Definition at line 149 of file EcalTrapezoidParameters.h.
Referenced by EcalTrapezoidParameters(), and h1().
TPFloat EcalTrapezoidParameters::m_h2 [private] |
Definition at line 149 of file EcalTrapezoidParameters.h.
Referenced by EcalTrapezoidParameters(), and h2().
TPFloat EcalTrapezoidParameters::m_hAa [private] |
Definition at line 150 of file EcalTrapezoidParameters.h.
Referenced by EcalTrapezoidParameters(), and hAa().
TPFloat EcalTrapezoidParameters::m_hBb [private] |
Definition at line 151 of file EcalTrapezoidParameters.h.
Referenced by EcalTrapezoidParameters(), and hBb().
TPFloat EcalTrapezoidParameters::m_hCc [private] |
Definition at line 151 of file EcalTrapezoidParameters.h.
Referenced by EcalTrapezoidParameters(), and hCc().
TPFloat EcalTrapezoidParameters::m_hDd [private] |
Definition at line 151 of file EcalTrapezoidParameters.h.
Referenced by EcalTrapezoidParameters(), and hDd().
TPFloat EcalTrapezoidParameters::m_L [private] |
Definition at line 152 of file EcalTrapezoidParameters.h.
Referenced by EcalTrapezoidParameters(), and L().
TPFloat EcalTrapezoidParameters::m_ph [private] |
Definition at line 149 of file EcalTrapezoidParameters.h.
Referenced by EcalTrapezoidParameters(), and phi().
TPFloat EcalTrapezoidParameters::m_th [private] |
Definition at line 149 of file EcalTrapezoidParameters.h.
Referenced by EcalTrapezoidParameters(), and theta().
TPFloat EcalTrapezoidParameters::m_tl1 [private] |
Definition at line 149 of file EcalTrapezoidParameters.h.
Referenced by EcalTrapezoidParameters(), and tl1().
TPFloat EcalTrapezoidParameters::m_tl2 [private] |
Definition at line 149 of file EcalTrapezoidParameters.h.
Referenced by EcalTrapezoidParameters(), and tl2().
TPFloat EcalTrapezoidParameters::m_x15 [private] |
Definition at line 150 of file EcalTrapezoidParameters.h.
Referenced by EcalTrapezoidParameters(), and x15().
TPFloat EcalTrapezoidParameters::m_y15 [private] |
Definition at line 150 of file EcalTrapezoidParameters.h.
Referenced by EcalTrapezoidParameters(), and y15().