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 |
virtual float | etaPos () const |
virtual 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 |
virtual float | phiPos () const |
virtual float | phiSpan () const |
RhoEtaPhi const & | repPos () const |
virtual 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 20 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 19 of file TruncatedPyramid.cc.
TruncatedPyramid::TruncatedPyramid | ( | const TruncatedPyramid & | tr | ) |
Definition at line 21 of file TruncatedPyramid.cc.
TruncatedPyramid::TruncatedPyramid | ( | CornersMgr * | cMgr, |
const GlobalPoint & | fCtr, | ||
const GlobalPoint & | bCtr, | ||
const GlobalPoint & | cor1, | ||
const CCGFloat * | parV | ||
) |
Definition at line 32 of file TruncatedPyramid.cc.
References CaloCellGeometry::initSpan().
TruncatedPyramid::TruncatedPyramid | ( | const CornersVec & | corn, |
const CCGFloat * | par | ||
) |
Definition at line 38 of file TruncatedPyramid.cc.
References CaloCellGeometry::initSpan().
|
override |
Definition at line 43 of file TruncatedPyramid.cc.
const GlobalVector & TruncatedPyramid::axis | ( | ) | const |
|
private |
Definition at line 59 of file TruncatedPyramid.cc.
References CaloCellGeometry::getCorners(), x, y, and z.
Referenced by makeAxis().
|
static |
Definition at line 237 of file TruncatedPyramid.cc.
References cms::cuda::assert(), cms::cuda::co, filterCSVwithJSON::copy, cross(), dot(), PVValHelper::dz, mps_fire::i, localCorners(), AlCaHLTBitMon_ParallelJobs::p, truncPyr::refl(), createJobs::tmp, x, y, and z.
CCGFloat TruncatedPyramid::getPhiAxis | ( | ) | const |
Definition at line 51 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 45 of file TruncatedPyramid.cc.
References hcalRecHitTable_cff::depth, CaloCellGeometry::getPosition(), and m_axis.
Referenced by egammaTools::localEcalClusterCoordsEB(), and egammaTools::localEcalClusterCoordsEE().
CCGFloat TruncatedPyramid::getThetaAxis | ( | ) | const |
Definition at line 49 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 65 of file TruncatedPyramid.cc.
References angle(), cms::cuda::assert(), axis(), PVValHelper::dz, MillePedeFileConverter_cfg::e, CaloCellGeometry::getPosition(), localCorners(), localCornersReflection(), localCornersSwap(), m_corOne, mag(), AlCaHLTBitMon_ParallelJobs::p, CaloCellGeometry::param(), unit(), x, y, and z.
Referenced by initCorners().
|
overrideprivatevirtual |
Implements CaloCellGeometry.
Definition at line 129 of file TruncatedPyramid.cc.
References getTransform(), mps_fire::i, and EZArrayFL< T >::uninitialized().
Definition at line 177 of file TruncatedPyramid.cc.
References testProducerWithPsetDescEmpty_cfi::a2, cms::cuda::assert(), b1, b2, 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(), RandomServiceHelper::t1, RandomServiceHelper::t2, and funct::tan().
Referenced by createCorners(), getTransform(), EcalEndcapGeometry::localCorners(), localCornersReflection(), localCornersSwap(), makeEcalShape(), and vocalCorners().
|
static |
Definition at line 147 of file TruncatedPyramid.cc.
References localCorners(), truncPyr::refl(), and createJobs::tmp.
Referenced by getTransform(), and EcalBarrelGeometry::localCorners().
Definition at line 214 of file TruncatedPyramid.cc.
References localCorners(), and createJobs::tmp.
Referenced by getTransform(), and EcalBarrelGeometry::localCorners().
|
private |
Definition at line 57 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 55 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 92 of file TruncatedPyramid.h.
Referenced by axis(), getPhiAxis(), getPosition(), getThetaAxis(), and operator=().
|
private |
Definition at line 93 of file TruncatedPyramid.h.
Referenced by getTransform(), and operator=().