A base class to handle the particular shape of Ecal Xtals. Taken from ORCA Calorimetry Code. More...
#include <TruncatedPyramid.h>
Public Types | |
typedef std::vector < HepGeom::Plane3D< double > > | BoundaryVec |
Public Types inherited from CaloCellGeometry | |
typedef EZMgrFL< GlobalPoint > | CornersMgr |
enum | CornersSize { k_cornerSize = 8 } |
typedef EZArrayFL< GlobalPoint > | CornersVec |
typedef EZMgrFL< double > | ParMgr |
typedef EZArrayFL< double > | ParVec |
typedef std::vector< ParVec > | ParVecVec |
Public Member Functions | |
const GlobalVector & | axis () const |
virtual const CornersVec & | getCorners () const |
float | getPhiAxis () const |
const GlobalPoint | getPosition (float depth) const |
float | getThetaAxis () const |
virtual HepGeom::Transform3D | getTransform (std::vector< HepGeom::Point3D< double > > *lptr) const |
TruncatedPyramid (const CornersMgr *cMgr, const GlobalPoint &fCtr, const GlobalPoint &bCtr, const GlobalPoint &cor1, const double *parV) | |
TruncatedPyramid (const CornersVec &corn, const double *par) | |
virtual std::vector < HepGeom::Point3D< double > > | vocalCorners (const double *pv, HepGeom::Point3D< double > &ref) const |
virtual | ~TruncatedPyramid () |
Public Member Functions inherited from CaloCellGeometry | |
bool | emptyCorners () const |
const GlobalPoint & | getPosition () const |
bool | inside (const GlobalPoint &point) const |
const double * | param () const |
virtual | ~CaloCellGeometry () |
Static Public Member Functions | |
static void | createCorners (const std::vector< double > &pv, const HepGeom::Transform3D &tr, CornersVec &co) |
static std::vector < HepGeom::Point3D< double > > | localCorners (const double *pv, HepGeom::Point3D< double > &ref) |
static std::vector < HepGeom::Point3D< double > > | localCornersReflection (const double *pv, HepGeom::Point3D< double > &ref) |
static std::vector < HepGeom::Point3D< double > > | localCornersSwap (const double *pv, HepGeom::Point3D< double > &ref) |
Static Public Member Functions inherited from CaloCellGeometry | |
static const double * | checkParmPtr (const std::vector< double > &vd, ParVecVec &pvv) |
static const double * | getParmPtr (const std::vector< double > &vd, ParMgr *mgr, ParVecVec &pvv) |
Private Member Functions | |
const GlobalPoint | backCtr () const |
GlobalVector | makeAxis () |
Private Attributes | |
GlobalVector | m_axis |
HepGeom::Point3D< double > * | m_corOne |
Additional Inherited Members | |
Static Public Attributes inherited from CaloCellGeometry | |
static const float | k_ScaleFromDDDtoGeant |
Protected Member Functions inherited from CaloCellGeometry | |
CaloCellGeometry (CornersVec::const_reference gp, const CornersMgr *mgr, const double *par) | |
CaloCellGeometry (const CornersVec &cv, const double *par) | |
CornersVec & | setCorners () const |
A base class to handle the particular shape of Ecal Xtals. Taken from ORCA Calorimetry Code.
Definition at line 25 of file TruncatedPyramid.h.
typedef std::vector< HepGeom::Plane3D<double> > TruncatedPyramid::BoundaryVec |
Definition at line 29 of file TruncatedPyramid.h.
|
inline |
Definition at line 31 of file TruncatedPyramid.h.
|
inline |
Definition at line 41 of file TruncatedPyramid.h.
|
inlinevirtual |
|
inline |
|
inlineprivate |
Definition at line 98 of file TruncatedPyramid.h.
References getCorners(), x, detailsBasic3DVector::y, and detailsBasic3DVector::z.
Referenced by makeAxis().
|
static |
Definition at line 209 of file TruncatedPyramid.cc.
References filterCSVwithJSON::copy, cross(), dot(), i, localCorners(), L1TEmulatorMonitor_cff::p, truncPyr::refl(), tmp, x, detailsBasic3DVector::y, and detailsBasic3DVector::z.
|
virtual |
Implements CaloCellGeometry.
Definition at line 69 of file TruncatedPyramid.cc.
References CaloCellGeometry::getCorners(), getTransform(), i, m_corOne, CaloCellGeometry::setCorners(), and EZArrayFL< T >::uninitialized().
Referenced by backCtr(), and operator<<().
|
inline |
Definition at line 65 of file TruncatedPyramid.h.
References m_axis, and PV3DBase< T, PVType, FrameType >::phi().
Referenced by operator<<().
|
inline |
Position corresponding to the center of the front face at a certain
depth (default is zero) along the crystal axis. If "depth" is <=0, the nomial position of the cell is returned (center of the front face).
Definition at line 56 of file TruncatedPyramid.h.
References CaloCellGeometry::getPosition(), and m_axis.
Referenced by EcalSimple2007H4TBAnalyzer::analyze(), PFRecHitProducerECAL::createEcalRecHit(), and PFRecHitProducerECAL::findEcalRecHitGeometry().
|
inline |
Definition at line 62 of file TruncatedPyramid.h.
References m_axis, and PV3DBase< T, PVType, FrameType >::theta().
Referenced by operator<<().
|
virtual |
Reimplemented from CaloCellGeometry.
Definition at line 9 of file TruncatedPyramid.cc.
References angle(), axis(), CaloCellGeometry::getPosition(), localCorners(), localCornersReflection(), localCornersSwap(), m_corOne, mag(), L1TEmulatorMonitor_cff::p, p2, CaloCellGeometry::param(), csvLumiCalc::unit, x, PV3DBase< T, PVType, FrameType >::x(), detailsBasic3DVector::y, PV3DBase< T, PVType, FrameType >::y(), detailsBasic3DVector::z, and PV3DBase< T, PVType, FrameType >::z().
Referenced by getCorners().
|
static |
Definition at line 137 of file TruncatedPyramid.cc.
References funct::cos(), funct::sin(), and funct::tan().
Referenced by createCorners(), getTransform(), EcalEndcapGeometry::localCorners(), localCornersReflection(), localCornersSwap(), and vocalCorners().
|
static |
Definition at line 101 of file TruncatedPyramid.cc.
References localCorners(), truncPyr::refl(), and tmp.
Referenced by getTransform(), and EcalBarrelGeometry::localCorners().
|
static |
Definition at line 180 of file TruncatedPyramid.cc.
References localCorners(), and tmp.
Referenced by getTransform(), and EcalBarrelGeometry::localCorners().
|
inlineprivate |
Definition at line 92 of file TruncatedPyramid.h.
References backCtr(), CaloCellGeometry::getPosition(), and Vector3DBase< T, FrameTag >::unit().
|
inlinevirtual |
Implements CaloCellGeometry.
Definition at line 75 of file TruncatedPyramid.h.
References localCorners().
|
private |
Definition at line 108 of file TruncatedPyramid.h.
Referenced by axis(), getPhiAxis(), getPosition(), and getThetaAxis().
|
mutableprivate |
Definition at line 110 of file TruncatedPyramid.h.
Referenced by getCorners(), getTransform(), and ~TruncatedPyramid().