CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Types | Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes
FlatTrd Class Reference

A base class to handle the particular shape of HGCal volumes. More...

#include <FlatTrd.h>

Inheritance diagram for FlatTrd:
CaloCellGeometry

Public Types

typedef CaloCellGeometry::CCGFloat CCGFloat
 
typedef CaloCellGeometry::Pt3D Pt3D
 
typedef CaloCellGeometry::Pt3DVec Pt3DVec
 
typedef CaloCellGeometry::Tr3D Tr3D
 
- Public Types inherited from CaloCellGeometry
typedef float CCGFloat
 
typedef EZMgrFL< GlobalPointCornersMgr
 
enum  CornersSize { k_cornerSize = 8 }
 
typedef EZArrayFL< GlobalPointCornersVec
 
typedef EZMgrFL< CCGFloatParMgr
 
typedef EZArrayFL< CCGFloatParVec
 
typedef std::vector< ParVecParVecVec
 
typedef HepGeom::Point3D
< CCGFloat
Pt3D
 
typedef std::vector< Pt3DPt3DVec
 
typedef HepGeom::Transform3D Tr3D
 

Public Member Functions

const GlobalVectoraxis () const
 
virtual float etaPos () const
 
 FlatTrd (void)
 
 FlatTrd (const FlatTrd &tr)
 
 FlatTrd (CornersMgr *cMgr, const GlobalPoint &fCtr, const GlobalPoint &bCtr, const GlobalPoint &cor1, const CCGFloat *parV)
 
 FlatTrd (const CornersVec &corn, const CCGFloat *par)
 
 FlatTrd (const FlatTrd &tr, const Pt3D &local)
 
Pt3D getLocal (const GlobalPoint &global) const
 
CCGFloat getPhiAxis () const
 
virtual const GlobalPointgetPosition () const
 
GlobalPoint getPosition (const Pt3D &local) const
 
CCGFloat getThetaAxis () const
 
virtual void getTransform (Tr3D &tr, Pt3DVec *lptr) const
 --------— only needed by specific utility; overloaded when needed -— More...
 
FlatTrdoperator= (const FlatTrd &tr)
 
virtual float phiPos () const
 
virtual void vocalCorners (Pt3DVec &vec, const CCGFloat *pv, Pt3D &ref) const
 
virtual ~FlatTrd ()
 
- Public Member Functions inherited from CaloCellGeometry
bool emptyCorners () const
 
float etaPos () const
 
float etaSpan () const
 
const GlobalPointgetBackPoint () const
 
const CornersVecgetCorners () const
 Returns the corner points of this cell's volume. More...
 
const GlobalPointgetPosition () const
 Returns the position of reference for this cell. More...
 
bool inside (const GlobalPoint &point) const
 Returns true if the specified point is inside this cell. More...
 
const CCGFloatparam () const
 
float phiPos () const
 
float phiSpan () const
 
virtual ~CaloCellGeometry ()
 

Static Public Member Functions

static void createCorners (const std::vector< CCGFloat > &pv, const Tr3D &tr, std::vector< GlobalPoint > &co)
 
static void localCorners (Pt3DVec &vec, const CCGFloat *pv, Pt3D &ref)
 
- Static Public Member Functions inherited from CaloCellGeometry
static const CCGFloatcheckParmPtr (const std::vector< CCGFloat > &vd, ParVecVec &pvv)
 
static const CCGFloatgetParmPtr (const std::vector< CCGFloat > &vd, ParMgr *mgr, ParVecVec &pvv)
 

Private Member Functions

const GlobalPoint backCtr (void) const
 
virtual void initCorners (CornersVec &) override
 
GlobalVector makeAxis (void)
 

Private Attributes

GlobalVector m_axis
 
Pt3D m_corOne
 
GlobalPoint m_global
 
Pt3D m_local
 
Tr3D m_tr
 

Additional Inherited Members

- Static Public Attributes inherited from CaloCellGeometry
static const CCGFloat k_ScaleFromDDDtoGeant
 
- Protected Member Functions inherited from CaloCellGeometry
 CaloCellGeometry (CornersVec::const_reference gp, CornersMgr *mgr, const CCGFloat *par)
 
 CaloCellGeometry (const CornersVec &cv, const CCGFloat *par)
 
 CaloCellGeometry (void)
 
void initSpan ()
 

Detailed Description

A base class to handle the particular shape of HGCal volumes.

Definition at line 19 of file FlatTrd.h.

Member Typedef Documentation

Definition at line 22 of file FlatTrd.h.

Definition at line 23 of file FlatTrd.h.

Definition at line 24 of file FlatTrd.h.

Definition at line 25 of file FlatTrd.h.

Constructor & Destructor Documentation

FlatTrd::FlatTrd ( void  )

Definition at line 22 of file FlatTrd.cc.

22  : CaloCellGeometry(), m_axis ( 0., 0., 0. ),
23  m_corOne ( 0., 0., 0. ), m_local (0., 0., 0.),
24  m_global ( 0., 0., 0. ) {
25 }
Pt3D m_local
Definition: FlatTrd.h:82
Pt3D m_corOne
Definition: FlatTrd.h:82
GlobalPoint m_global
Definition: FlatTrd.h:83
GlobalVector m_axis
Definition: FlatTrd.h:81
FlatTrd::FlatTrd ( const FlatTrd tr)

Definition at line 27 of file FlatTrd.cc.

27  : CaloCellGeometry( tr ) {
28  *this = tr ;
29 }
FlatTrd::FlatTrd ( CornersMgr cMgr,
const GlobalPoint fCtr,
const GlobalPoint bCtr,
const GlobalPoint cor1,
const CCGFloat parV 
)

Definition at line 48 of file FlatTrd.cc.

References gather_cfg::cout, etaPos(), getTransform(), glb, m_global, m_local, m_tr, and phiPos().

53  :
54  CaloCellGeometry ( fCtr, cMgr, parV ) ,
55  m_axis ( ( bCtr - fCtr ).unit() ) ,
56  m_corOne ( cor1.x(), cor1.y(), cor1.z() ),
57  m_local (0., 0., 0.) {
58  getTransform(m_tr,0);
59  Pt3D glb = m_tr*m_local;
60  m_global = GlobalPoint(glb.x(),glb.y(),glb.z());
61 #ifdef DebugLog
62  std::cout << "FlatTrd: Local " << m_local << " Global " << glb << " eta "
63  << etaPos() << " phi " << phiPos() << " Translation "
64  << m_tr.getTranslation() << " and rotation " << m_tr.getRotation();
65 #endif
66 }
double glb
Definition: hdecay.h:105
Global3DPoint GlobalPoint
Definition: GlobalPoint.h:10
T y() const
Definition: PV3DBase.h:63
Tr3D m_tr
Definition: FlatTrd.h:84
Pt3D m_local
Definition: FlatTrd.h:82
string unit
Definition: csvLumiCalc.py:46
T z() const
Definition: PV3DBase.h:64
virtual void getTransform(Tr3D &tr, Pt3DVec *lptr) const
--------— only needed by specific utility; overloaded when needed -—
Definition: FlatTrd.cc:180
Pt3D m_corOne
Definition: FlatTrd.h:82
CaloCellGeometry::Pt3D Pt3D
GlobalPoint m_global
Definition: FlatTrd.h:83
virtual float phiPos() const
Definition: FlatTrd.h:49
tuple cout
Definition: gather_cfg.py:121
virtual float etaPos() const
Definition: FlatTrd.h:48
T x() const
Definition: PV3DBase.h:62
GlobalVector m_axis
Definition: FlatTrd.h:81
FlatTrd::FlatTrd ( const CornersVec corn,
const CCGFloat par 
)

Definition at line 68 of file FlatTrd.cc.

References gather_cfg::cout, etaPos(), getTransform(), glb, m_axis, m_global, m_local, m_tr, makeAxis(), and phiPos().

69  :
70  CaloCellGeometry ( corn, par ) ,
71  m_corOne ( corn[0].x(), corn[0].y(), corn[0].z() ),
72  m_local (0., 0., 0.) {
73  getTransform(m_tr,0);
74  m_axis = makeAxis();
75  Pt3D glb = m_tr*m_local;
76  m_global = GlobalPoint(glb.x(),glb.y(),glb.z());
77 #ifdef DebugLog
78  std::cout << "FlatTrd: Local " << m_local << " Global " << glb << " eta "
79  << etaPos() << " phi " << phiPos() << " Translation "
80  << m_tr.getTranslation() << " and rotation " << m_tr.getRotation();
81 #endif
82 }
double glb
Definition: hdecay.h:105
Global3DPoint GlobalPoint
Definition: GlobalPoint.h:10
Tr3D m_tr
Definition: FlatTrd.h:84
Pt3D m_local
Definition: FlatTrd.h:82
virtual void getTransform(Tr3D &tr, Pt3DVec *lptr) const
--------— only needed by specific utility; overloaded when needed -—
Definition: FlatTrd.cc:180
Pt3D m_corOne
Definition: FlatTrd.h:82
CaloCellGeometry::Pt3D Pt3D
GlobalVector makeAxis(void)
Definition: FlatTrd.cc:240
GlobalPoint m_global
Definition: FlatTrd.h:83
virtual float phiPos() const
Definition: FlatTrd.h:49
tuple cout
Definition: gather_cfg.py:121
virtual float etaPos() const
Definition: FlatTrd.h:48
GlobalVector m_axis
Definition: FlatTrd.h:81
FlatTrd::FlatTrd ( const FlatTrd tr,
const Pt3D local 
)

Definition at line 84 of file FlatTrd.cc.

References gather_cfg::cout, etaPos(), glb, m_global, m_local, m_tr, and phiPos().

84  :
85  CaloCellGeometry( tr ), m_local(local) {
86  *this = tr;
87  Pt3D glb = m_tr*m_local;
88  m_global = GlobalPoint(glb.x(),glb.y(),glb.z());
89 #ifdef DebugLog
90  std::cout << "FlatTrd: Local " << m_local << " Global " << glb << " eta "
91  << etaPos() << " phi " << phiPos() << " Translation "
92  << m_tr.getTranslation() << " and rotation " << m_tr.getRotation();
93 #endif
94 }
double glb
Definition: hdecay.h:105
Global3DPoint GlobalPoint
Definition: GlobalPoint.h:10
Tr3D m_tr
Definition: FlatTrd.h:84
Pt3D m_local
Definition: FlatTrd.h:82
CaloCellGeometry::Pt3D Pt3D
GlobalPoint m_global
Definition: FlatTrd.h:83
virtual float phiPos() const
Definition: FlatTrd.h:49
tuple cout
Definition: gather_cfg.py:121
virtual float etaPos() const
Definition: FlatTrd.h:48
FlatTrd::~FlatTrd ( )
virtual

Definition at line 96 of file FlatTrd.cc.

96 {}

Member Function Documentation

const GlobalVector & FlatTrd::axis ( ) const

Definition at line 116 of file FlatTrd.cc.

References m_axis.

Referenced by getTransform().

116  {
117  return m_axis ;
118 }
GlobalVector m_axis
Definition: FlatTrd.h:81
const GlobalPoint FlatTrd::backCtr ( void  ) const
private

Definition at line 244 of file FlatTrd.cc.

References CaloCellGeometry::getCorners(), m_local, m_tr, and CaloCellGeometry::param().

Referenced by makeAxis().

244  {
245  float dz = (getCorners()[4].z() > getCorners()[0].z()) ?
246  param()[0] : -param()[0];
247  Pt3D local_b(m_local.x(),m_local.y(),m_local.z()+dz);
248  Pt3D global_b = m_tr*local_b;
249  GlobalPoint global(global_b.x(),global_b.y(),global_b.z());
250  return global;
251 }
Tr3D m_tr
Definition: FlatTrd.h:84
const CCGFloat * param() const
Pt3D m_local
Definition: FlatTrd.h:82
CaloCellGeometry::Pt3D Pt3D
const CornersVec & getCorners() const
Returns the corner points of this cell&#39;s volume.
void FlatTrd::createCorners ( const std::vector< CCGFloat > &  pv,
const Tr3D tr,
std::vector< GlobalPoint > &  co 
)
static

Definition at line 126 of file FlatTrd.cc.

References assert(), gather_cfg::cout, i, localCorners(), AlCaHLTBitMon_ParallelJobs::p, and tmp.

Referenced by HGCalGeometryLoader::build().

128  {
129 
130  assert( 11 <= pv.size() ) ;
131  assert( 8 == co.size() ) ;
132 
133  Pt3DVec ko ( 8, Pt3D(0,0,0) ) ;
134 
135  Pt3D tmp ;
136  Pt3DVec to ( 8, Pt3D(0,0,0) ) ;
137  localCorners( to, &pv.front(), tmp ) ;
138 
139  for( unsigned int i ( 0 ) ; i != 8 ; ++i ) {
140  ko[i] = tr * to[i] ; // apply transformation
141  const Pt3D & p ( ko[i] ) ;
142  co[ i ] = GlobalPoint( p.x(), p.y(), p.z() ) ;
143 #ifdef DebugLog
144  std::cout << "Corner[" << i << "] = " << co[i] << std::endl;
145 #endif
146  }
147 }
int i
Definition: DBlmapReader.cc:9
CaloCellGeometry::Pt3D Pt3D
Definition: FlatTrd.h:23
assert(m_qm.get())
Global3DPoint GlobalPoint
Definition: GlobalPoint.h:10
static void localCorners(Pt3DVec &vec, const CCGFloat *pv, Pt3D &ref)
Definition: FlatTrd.cc:149
CaloCellGeometry::Pt3D Pt3D
CaloCellGeometry::Pt3DVec Pt3DVec
std::vector< std::vector< double > > tmp
Definition: MVATrainer.cc:100
tuple cout
Definition: gather_cfg.py:121
virtual float FlatTrd::etaPos ( ) const
inlinevirtual

Definition at line 48 of file FlatTrd.h.

References PV3DBase< T, PVType, FrameType >::eta(), and m_global.

Referenced by FlatTrd(), operator<<(), and operator=().

48 { return m_global.eta(); }
T eta() const
Definition: PV3DBase.h:76
GlobalPoint m_global
Definition: FlatTrd.h:83
Pt3D FlatTrd::getLocal ( const GlobalPoint global) const

Definition at line 103 of file FlatTrd.cc.

References m_tr, PV3DBase< T, PVType, FrameType >::x(), PV3DBase< T, PVType, FrameType >::y(), and PV3DBase< T, PVType, FrameType >::z().

103  {
104  Pt3D local = m_tr.inverse()*Pt3D(global.x(),global.y(),global.z());
105  return local;
106 }
CaloCellGeometry::Pt3D Pt3D
Definition: FlatTrd.h:23
T y() const
Definition: PV3DBase.h:63
Tr3D m_tr
Definition: FlatTrd.h:84
T z() const
Definition: PV3DBase.h:64
CaloCellGeometry::Pt3D Pt3D
T x() const
Definition: PV3DBase.h:62
CCGFloat FlatTrd::getPhiAxis ( ) const

Definition at line 112 of file FlatTrd.cc.

References m_axis, and PV3DBase< T, PVType, FrameType >::phi().

Referenced by operator<<().

112  {
113  return m_axis.phi() ;
114 }
Geom::Phi< T > phi() const
Definition: PV3DBase.h:69
GlobalVector m_axis
Definition: FlatTrd.h:81
virtual const GlobalPoint& FlatTrd::getPosition ( ) const
inlinevirtual

Definition at line 46 of file FlatTrd.h.

References m_global.

Referenced by makeAxis(), and operator<<().

46 { return m_global; }
GlobalPoint m_global
Definition: FlatTrd.h:83
GlobalPoint FlatTrd::getPosition ( const Pt3D local) const

Definition at line 98 of file FlatTrd.cc.

References glb, and m_tr.

98  {
99  Pt3D glb = m_tr*local;
100  return GlobalPoint(glb.x(),glb.y(),glb.z());
101 }
double glb
Definition: hdecay.h:105
Global3DPoint GlobalPoint
Definition: GlobalPoint.h:10
Tr3D m_tr
Definition: FlatTrd.h:84
CaloCellGeometry::Pt3D Pt3D
CCGFloat FlatTrd::getThetaAxis ( ) const

Definition at line 108 of file FlatTrd.cc.

References m_axis, and PV3DBase< T, PVType, FrameType >::theta().

Referenced by operator<<().

108  {
109  return m_axis.theta() ;
110 }
Geom::Theta< T > theta() const
Definition: PV3DBase.h:75
GlobalVector m_axis
Definition: FlatTrd.h:81
void FlatTrd::getTransform ( Tr3D tr,
Pt3DVec lptr 
) const
virtual

--------— only needed by specific utility; overloaded when needed -—

Reimplemented from CaloCellGeometry.

Definition at line 180 of file FlatTrd.cc.

References angle(), assert(), axis(), alignCSCRings::e, CaloCellGeometry::getPosition(), localCorners(), m_corOne, mag(), AlCaHLTBitMon_ParallelJobs::p, CaloCellGeometry::param(), csvLumiCalc::unit, x, PV3DBase< T, PVType, FrameType >::x(), y, PV3DBase< T, PVType, FrameType >::y(), z, and PV3DBase< T, PVType, FrameType >::z().

Referenced by FlatTrd(), and initCorners().

180  {
182  const Pt3D gFront ( p.x(), p.y(), p.z() ) ;
183  const DPt3D dgFront ( p.x(), p.y(), p.z() ) ;
184 
185  Pt3D lFront ;
186  assert( 0 != param() ) ;
187  std::vector<Pt3D > lc( 8, Pt3D(0,0,0) ) ;
188  localCorners( lc, param(), lFront ) ;
189 
190  // figure out if reflction volume or not
191 
192  Pt3D lBack ( 0.25*(lc[4]+lc[5]+lc[6]+lc[7]) ) ;
193 
194  const DPt3D dlFront ( lFront.x(), lFront.y(), lFront.z() ) ;
195  const DPt3D dlBack ( lBack.x() , lBack.y() , lBack.z() ) ;
196  const DPt3D dlOne ( lc[0].x() , lc[0].y() , lc[0].z() ) ;
197 
198  const FVec3D dgAxis ( axis().x(), axis().y(), axis().z() ) ;
199 
200  const DPt3D dmOne ( m_corOne.x(), m_corOne.y(), m_corOne.z() ) ;
201 
202  const DPt3D dgBack ( dgFront + ( dlBack - dlFront ).mag()*dgAxis ) ;
203  DPt3D dgOne ( dgFront + ( dlOne - dlFront ).mag()*( dmOne - dgFront ).unit() ) ;
204 
205  const double dlangle ( ( dlBack - dlFront).angle( dlOne - dlFront ) ) ;
206  const double dgangle ( ( dgBack - dgFront).angle( dgOne - dgFront ) ) ;
207  const double dangle ( dlangle - dgangle ) ;
208 
209  if( 1.e-6 < fabs(dangle) ) {//guard against precision problems
210  const DPlane3D dgPl ( dgFront, dgOne, dgBack ) ;
211  const DPt3D dp2 ( dgFront + dgPl.normal().unit() ) ;
212 
213  DPt3D dgOld ( dgOne ) ;
214 
215  dgOne = ( dgFront + HepGeom::Rotate3D( -dangle, dgFront, dp2 )*
216  DVec3D( dgOld - dgFront ) ) ;
217  }
218 
219  tr = Tr3D( dlFront , dlBack , dlOne ,
220  dgFront , dgBack , dgOne ) ;
221 
222  if( 0 != lptr ) (*lptr) = lc ;
223 }
const GlobalVector & axis() const
Definition: FlatTrd.cc:116
CaloCellGeometry::Pt3D Pt3D
Definition: FlatTrd.h:23
HepGeom::Point3D< double > DPt3D
T mag() const
The vector magnitude. Equivalent to sqrt(vec.mag2())
assert(m_qm.get())
const CCGFloat * param() const
string unit
Definition: csvLumiCalc.py:46
HepGeom::Vector3D< double > DVec3D
Pt3D m_corOne
Definition: FlatTrd.h:82
static void localCorners(Pt3DVec &vec, const CCGFloat *pv, Pt3D &ref)
Definition: FlatTrd.cc:149
CaloCellGeometry::Pt3D Pt3D
HepGeom::Plane3D< double > DPlane3D
CaloCellGeometry::Tr3D Tr3D
Definition: FlatTrd.h:25
const GlobalPoint & getPosition() const
Returns the position of reference for this cell.
HepGeom::Vector3D< CCGFloat > FVec3D
T angle(T x1, T y1, T z1, T x2, T y2, T z2)
Definition: angle.h:11
void FlatTrd::initCorners ( CaloCellGeometry::CornersVec co)
overrideprivatevirtual

Implements CaloCellGeometry.

Definition at line 225 of file FlatTrd.cc.

References getTransform(), i, and EZArrayFL< T >::uninitialized().

225  {
226 
227  if( co.uninitialized() ) {
228  CornersVec& corners ( co ) ;
229  Pt3DVec lc ;
230  Tr3D tr ;
231  getTransform( tr, &lc ) ;
232 
233  for (unsigned int i ( 0 ) ; i != 8 ; ++i ) {
234  const Pt3D corn ( tr*lc[i] ) ;
235  corners[i] = GlobalPoint( corn.x(), corn.y(), corn.z() ) ;
236  }
237  }
238 }
EZArrayFL< GlobalPoint > CornersVec
int i
Definition: DBlmapReader.cc:9
Global3DPoint GlobalPoint
Definition: GlobalPoint.h:10
virtual void getTransform(Tr3D &tr, Pt3DVec *lptr) const
--------— only needed by specific utility; overloaded when needed -—
Definition: FlatTrd.cc:180
CaloCellGeometry::Pt3D Pt3D
CaloCellGeometry::Pt3DVec Pt3DVec
CaloCellGeometry::Tr3D Tr3D
bool uninitialized() const
Definition: EZArrayFL.h:77
void FlatTrd::localCorners ( Pt3DVec vec,
const CCGFloat pv,
Pt3D ref 
)
static

Definition at line 149 of file FlatTrd.cc.

References assert(), gather_cfg::cout, h, and funct::tan().

Referenced by createCorners(), getTransform(), and vocalCorners().

151  {
152  assert( 0 != pv ) ;
153  assert( 8 == lc.size() ) ;
154 
155  const CCGFloat dz ( pv[0] ) ;
156  const CCGFloat h ( pv[3] ) ;
157  const CCGFloat bl ( pv[4] ) ;
158  const CCGFloat tl ( pv[5] ) ;
159  const CCGFloat a1 ( pv[6] ) ;
160 
161  const CCGFloat ta1 ( tan( a1 ) ) ;
162 
163  lc[0] = Pt3D ( - h*ta1 - bl, - h , -dz ); // (-,-,-)
164  lc[1] = Pt3D ( + h*ta1 - tl, + h , -dz ); // (-,+,-)
165  lc[2] = Pt3D ( + h*ta1 + tl, + h , -dz ); // (+,+,-)
166  lc[3] = Pt3D ( - h*ta1 + bl, - h , -dz ); // (+,-,-)
167  lc[4] = Pt3D ( - h*ta1 - bl, - h , dz ); // (-,-,+)
168  lc[5] = Pt3D ( + h*ta1 - tl, + h , dz ); // (-,+,+)
169  lc[6] = Pt3D ( + h*ta1 + tl, + h , dz ); // (+,+,+)
170  lc[7] = Pt3D ( - h*ta1 + bl, - h , dz ); // (+,-,+)
171 
172  ref = 0.25*( lc[0] + lc[1] + lc[2] + lc[3] ) ;
173 #ifdef DebugLog
174  std::cout << "Ref " << ref << " Local Corners " << lc[0] << "|" << lc[1]
175  << "|" << lc[2] << "|" << lc[3] << "|" << lc[4] << "|" << lc[5]
176  << "|" << lc[6] << "|" << lc[7] << std::endl;
177 #endif
178 }
CaloCellGeometry::Pt3D Pt3D
Definition: FlatTrd.h:23
assert(m_qm.get())
Tan< T >::type tan(const T &t)
Definition: Tan.h:22
CaloCellGeometry::CCGFloat CCGFloat
The Signals That Services Can Subscribe To This is based on ActivityRegistry h
Helper function to determine trigger accepts.
Definition: Activities.doc:4
tuple cout
Definition: gather_cfg.py:121
GlobalVector FlatTrd::makeAxis ( void  )
private

Definition at line 240 of file FlatTrd.cc.

References backCtr(), getPosition(), and Vector3DBase< T, FrameTag >::unit().

Referenced by FlatTrd().

240  {
241  return GlobalVector( backCtr() - getPosition() ).unit() ;
242 }
const GlobalPoint backCtr(void) const
Definition: FlatTrd.cc:244
virtual const GlobalPoint & getPosition() const
Definition: FlatTrd.h:46
Vector3DBase unit() const
Definition: Vector3DBase.h:57
Global3DVector GlobalVector
Definition: GlobalVector.h:10
FlatTrd & FlatTrd::operator= ( const FlatTrd tr)

Definition at line 31 of file FlatTrd.cc.

References gather_cfg::cout, etaPos(), m_axis, m_corOne, m_global, m_local, m_tr, and phiPos().

31  {
32  CaloCellGeometry::operator=( tr ) ;
33  if ( this != &tr ) {
34  m_axis = tr.m_axis ;
35  m_corOne = tr.m_corOne ;
36  m_local = tr.m_local;
37  m_global = tr.m_global;
38  m_tr = tr.m_tr;
39  }
40 #ifdef DebugLog
41  std::cout << "FlatTrd(Copy): Local " << m_local << " Global " << m_global
42  << " eta " << etaPos() << " phi " << phiPos() << " Translation "
43  << m_tr.getTranslation() << " and rotation " << m_tr.getRotation();
44 #endif
45  return *this ;
46 }
Tr3D m_tr
Definition: FlatTrd.h:84
Pt3D m_local
Definition: FlatTrd.h:82
Pt3D m_corOne
Definition: FlatTrd.h:82
GlobalPoint m_global
Definition: FlatTrd.h:83
virtual float phiPos() const
Definition: FlatTrd.h:49
tuple cout
Definition: gather_cfg.py:121
virtual float etaPos() const
Definition: FlatTrd.h:48
GlobalVector m_axis
Definition: FlatTrd.h:81
virtual float FlatTrd::phiPos ( ) const
inlinevirtual

Definition at line 49 of file FlatTrd.h.

References m_global, and PV3DBase< T, PVType, FrameType >::phi().

Referenced by FlatTrd(), operator<<(), and operator=().

49 { return m_global.phi(); }
Geom::Phi< T > phi() const
Definition: PV3DBase.h:69
GlobalPoint m_global
Definition: FlatTrd.h:83
void FlatTrd::vocalCorners ( Pt3DVec vec,
const CCGFloat pv,
Pt3D ref 
) const
virtual

Implements CaloCellGeometry.

Definition at line 120 of file FlatTrd.cc.

References localCorners().

122  {
123  localCorners( vec, pv, ref ) ;
124 }
static void localCorners(Pt3DVec &vec, const CCGFloat *pv, Pt3D &ref)
Definition: FlatTrd.cc:149

Member Data Documentation

GlobalVector FlatTrd::m_axis
private

Definition at line 81 of file FlatTrd.h.

Referenced by axis(), FlatTrd(), getPhiAxis(), getThetaAxis(), and operator=().

Pt3D FlatTrd::m_corOne
private

Definition at line 82 of file FlatTrd.h.

Referenced by getTransform(), and operator=().

GlobalPoint FlatTrd::m_global
private

Definition at line 83 of file FlatTrd.h.

Referenced by etaPos(), FlatTrd(), getPosition(), operator=(), and phiPos().

Pt3D FlatTrd::m_local
private

Definition at line 82 of file FlatTrd.h.

Referenced by backCtr(), FlatTrd(), and operator=().

Tr3D FlatTrd::m_tr
private

Definition at line 84 of file FlatTrd.h.

Referenced by backCtr(), FlatTrd(), getLocal(), getPosition(), and operator=().