A base class to handle the particular shape of Ecal Xtals. Taken from ORCA Calorimetry Code. More...
#include <TruncatedPyramid.h>
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< GlobalPoint > | CornersMgr |
typedef EZArrayFL< GlobalPoint > | CornersVec |
typedef EZMgrFL< CCGFloat > | ParMgr |
typedef EZArrayFL< CCGFloat > | ParVec |
typedef std::vector< ParVec > | ParVecVec |
typedef HepGeom::Point3D< CCGFloat > | Pt3D |
typedef std::vector< Pt3D > | Pt3DVec |
using | RepCorners = std::array< RhoEtaPhi, k_cornerSize > |
typedef HepGeom::Transform3D | Tr3D |
Public Member Functions | |
const GlobalVector & | axis () const |
CCGFloat | getPhiAxis () const |
GlobalPoint | getPosition (CCGFloat depth) const override |
CCGFloat | getThetaAxis () const |
void | getTransform (Tr3D &tr, Pt3DVec *lptr) const override |
--------— only needed by specific utility; overloaded when needed -— More... | |
TruncatedPyramid & | operator= (const TruncatedPyramid &tr) |
TruncatedPyramid (void) | |
TruncatedPyramid (const TruncatedPyramid &tr) | |
TruncatedPyramid (CornersMgr *cMgr, const GlobalPoint &fCtr, const GlobalPoint &bCtr, const GlobalPoint &cor1, const CCGFloat *parV) | |
TruncatedPyramid (const CornersVec &corn, const CCGFloat *par) | |
void | vocalCorners (Pt3DVec &vec, const CCGFloat *pv, Pt3D &ref) const override |
~TruncatedPyramid () override | |
Public Member Functions inherited from CaloCellGeometry | |
bool | emptyCorners () const |
float | etaPos () const |
float | etaSpan () const |
GlobalPoint const & | getBackPoint () const |
CornersVec const & | getCorners () const |
Returns the corner points of this cell's volume. More... | |
RepCorners const & | getCornersREP () const |
virtual const GlobalPoint & | getPosition () const |
Returns the position of reference for this cell. More... | |
virtual GlobalPoint | getPosition (const Pt3D &) const |
bool | inside (const GlobalPoint &point) const |
Returns true if the specified point is inside this cell. More... | |
const CCGFloat * | param () const |
float | phiPos () const |
float | phiSpan () const |
RhoEtaPhi const & | repPos () const |
float | rhoPos () const |
void | setBackPoint (const GlobalPoint &pos) |
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 void | localCornersReflection (Pt3DVec &vec, const CCGFloat *pv, Pt3D &ref) |
static void | localCornersSwap (Pt3DVec &vec, const CCGFloat *pv, Pt3D &ref) |
Static Public Member Functions inherited from CaloCellGeometry | |
static const CCGFloat * | checkParmPtr (const std::vector< CCGFloat > &vd, ParVecVec &pvv) |
static const CCGFloat * | getParmPtr (const std::vector< CCGFloat > &vd, ParMgr *mgr, ParVecVec &pvv) |
Static Public Attributes | |
static constexpr uint32_t | k_Alp1 = 6 |
static constexpr uint32_t | k_Alp2 =10 |
static constexpr uint32_t | k_Dx1 = 4 |
static constexpr uint32_t | k_Dx2 = 5 |
static constexpr uint32_t | k_Dx3 = 8 |
static constexpr uint32_t | k_Dx4 = 9 |
static constexpr uint32_t | k_Dy1 = 3 |
static constexpr uint32_t | k_Dy2 = 7 |
static constexpr uint32_t | k_Dz = 0 |
static constexpr uint32_t | k_Phi = 2 |
static constexpr uint32_t | k_Theta = 1 |
Static Public Attributes inherited from CaloCellGeometry | |
static constexpr unsigned int | k_cornerSize = 8 |
static const CCGFloat | k_ScaleFromDDDtoGeant |
Private Member Functions | |
const GlobalPoint | backCtr (void) const |
void | initCorners (CornersVec &) override |
GlobalVector | makeAxis (void) |
Private Attributes | |
GlobalVector | m_axis |
Pt3D | m_corOne |
Additional Inherited Members | |
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 () |
void | setCornerVec (const std::vector< GlobalPoint > &cor) |
void | setRefPoint (const GlobalPoint &pos) |
A base class to handle the particular shape of Ecal Xtals. Taken from ORCA Calorimetry Code.
Definition at line 19 of file TruncatedPyramid.h.
Definition at line 22 of file TruncatedPyramid.h.
Definition at line 23 of file TruncatedPyramid.h.
Definition at line 24 of file TruncatedPyramid.h.
Definition at line 25 of file TruncatedPyramid.h.
TruncatedPyramid::TruncatedPyramid | ( | void | ) |
Definition at line 20 of file TruncatedPyramid.cc.
TruncatedPyramid::TruncatedPyramid | ( | const TruncatedPyramid & | tr | ) |
Definition at line 26 of file TruncatedPyramid.cc.
TruncatedPyramid::TruncatedPyramid | ( | CornersMgr * | cMgr, |
const GlobalPoint & | fCtr, | ||
const GlobalPoint & | bCtr, | ||
const GlobalPoint & | cor1, | ||
const CCGFloat * | parV | ||
) |
TruncatedPyramid::TruncatedPyramid | ( | const CornersVec & | corn, |
const CCGFloat * | par | ||
) |
|
override |
Definition at line 61 of file TruncatedPyramid.cc.
const GlobalVector & TruncatedPyramid::axis | ( | ) | const |
|
private |
Definition at line 103 of file TruncatedPyramid.cc.
References CaloCellGeometry::getCorners(), x, y, and z.
Referenced by makeAxis().
|
static |
Definition at line 314 of file TruncatedPyramid.cc.
References popcon2dropbox::copy(), cross(), dot(), PVValHelper::dz, mps_fire::i, localCorners(), AlCaHLTBitMon_ParallelJobs::p, truncPyr::refl(), tmp, x, y, and z.
CCGFloat TruncatedPyramid::getPhiAxis | ( | ) | const |
Definition at line 76 of file TruncatedPyramid.cc.
References m_axis, and PV3DBase< T, PVType, FrameType >::phi().
Referenced by egammaTools::localEcalClusterCoordsEB(), egammaTools::localEcalClusterCoordsEE(), and operator<<().
|
overridevirtual |
Reimplemented from CaloCellGeometry.
Definition at line 64 of file TruncatedPyramid.cc.
References CaloCellGeometry::getPosition(), and m_axis.
Referenced by egammaTools::localEcalClusterCoordsEB(), egammaTools::localEcalClusterCoordsEE(), and PFPhotonClusters::SetSeed().
CCGFloat TruncatedPyramid::getThetaAxis | ( | ) | const |
Definition at line 70 of file TruncatedPyramid.cc.
References m_axis, and PV3DBase< T, PVType, FrameType >::theta().
Referenced by egammaTools::localEcalClusterCoordsEB(), egammaTools::localEcalClusterCoordsEE(), and operator<<().
--------— only needed by specific utility; overloaded when needed -—
Reimplemented from CaloCellGeometry.
Definition at line 114 of file TruncatedPyramid.cc.
References angle(), axis(), PVValHelper::dz, MillePedeFileConverter_cfg::e, CaloCellGeometry::getPosition(), localCorners(), localCornersReflection(), localCornersSwap(), 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 initCorners().
|
overrideprivatevirtual |
Implements CaloCellGeometry.
Definition at line 185 of file TruncatedPyramid.cc.
References getTransform(), mps_fire::i, and EZArrayFL< T >::uninitialized().
Definition at line 245 of file TruncatedPyramid.cc.
References funct::cos(), PVValHelper::dz, k_Alp1, k_Alp2, k_Dx1, k_Dx2, k_Dx3, k_Dx4, k_Dy1, k_Dy2, k_Dz, k_Phi, k_Theta, funct::sin(), and funct::tan().
Referenced by createCorners(), getTransform(), EcalEndcapGeometry::localCorners(), localCornersReflection(), localCornersSwap(), makeEcalShape(), and vocalCorners().
|
static |
Definition at line 211 of file TruncatedPyramid.cc.
References localCorners(), truncPyr::refl(), and tmp.
Referenced by getTransform(), and EcalBarrelGeometry::localCorners().
Definition at line 286 of file TruncatedPyramid.cc.
References localCorners(), and tmp.
Referenced by getTransform(), and EcalBarrelGeometry::localCorners().
|
private |
Definition at line 96 of file TruncatedPyramid.cc.
References backCtr(), CaloCellGeometry::getPosition(), and Vector3DBase< T, FrameTag >::unit().
TruncatedPyramid & TruncatedPyramid::operator= | ( | const TruncatedPyramid & | tr | ) |
|
overridevirtual |
Implements CaloCellGeometry.
Definition at line 88 of file TruncatedPyramid.cc.
References localCorners().
|
static |
Definition at line 37 of file TruncatedPyramid.h.
Referenced by localCorners().
|
static |
Definition at line 44 of file TruncatedPyramid.h.
Referenced by localCorners().
|
static |
Definition at line 33 of file TruncatedPyramid.h.
Referenced by localCorners().
|
static |
Definition at line 35 of file TruncatedPyramid.h.
Referenced by localCorners().
|
static |
Definition at line 40 of file TruncatedPyramid.h.
Referenced by localCorners().
|
static |
Definition at line 42 of file TruncatedPyramid.h.
Referenced by localCorners().
|
static |
Definition at line 32 of file TruncatedPyramid.h.
Referenced by localCorners().
|
static |
Definition at line 39 of file TruncatedPyramid.h.
Referenced by localCorners().
|
static |
Definition at line 27 of file TruncatedPyramid.h.
Referenced by localCorners().
|
static |
Definition at line 30 of file TruncatedPyramid.h.
Referenced by localCorners().
|
static |
Definition at line 28 of file TruncatedPyramid.h.
Referenced by localCorners().
|
private |
Definition at line 103 of file TruncatedPyramid.h.
Referenced by axis(), getPhiAxis(), getPosition(), getThetaAxis(), and operator=().
|
private |
Definition at line 104 of file TruncatedPyramid.h.
Referenced by getTransform(), and operator=().