#include <IdealObliquePrism.h>
Public Types | |
typedef CaloCellGeometry::CCGFloat | CCGFloat |
typedef CaloCellGeometry::Pt3D | Pt3D |
typedef CaloCellGeometry::Pt3DVec | Pt3DVec |
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 | |
CCGFloat | dEta () const |
CCGFloat | dPhi () const |
CCGFloat | dz () const |
CCGFloat | eta () const |
IdealObliquePrism () | |
IdealObliquePrism (const IdealObliquePrism &idop) | |
IdealObliquePrism (const GlobalPoint &faceCenter, CornersMgr *mgr, const CCGFloat *parm) | |
IdealObliquePrism & | operator= (const IdealObliquePrism &idop) |
void | vocalCorners (Pt3DVec &vec, const CCGFloat *pv, Pt3D &ref) const override |
CCGFloat | z () const |
~IdealObliquePrism () 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 (CCGFloat) const |
virtual GlobalPoint | getPosition (const Pt3D &) const |
virtual void | getTransform (Tr3D &tr, Pt3DVec *lptr) const |
--------— only needed by specific utility; overloaded when needed -— More... | |
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 | localCorners (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_dEta = 0 |
static constexpr uint32_t | k_dPhi = 1 |
static constexpr uint32_t | k_dZ = 2 |
static constexpr uint32_t | k_Eta = 3 |
static constexpr uint32_t | k_Z = 4 |
Static Public Attributes inherited from CaloCellGeometry | |
static constexpr unsigned int | k_cornerSize = 8 |
static const CCGFloat | k_ScaleFromDDDtoGeant |
Private Member Functions | |
void | initCorners (CornersVec &) override |
Static Private Member Functions | |
static GlobalPoint | etaPhiPerp (float eta, float phi, float perp) |
static GlobalPoint | etaPhiZ (float eta, float phi, float z) |
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) |
Oblique prism class used for HCAL (HB, HE, HO) volumes.
Required parameters for an ideal oblique prism:
Total: 6+1 parameters
Internally, the "point of reference" is the center (eta/phi) of the front face of the prism. Therefore, the only internally stored parameters are eta and phi widths, the axis tower thickness, and the parallel/perpendicular setting. The parallel/perpendicular setting is encoded in the sign of the thickness. (positive = parallel to z-axis, negative = perpendicular)
Definition at line 28 of file IdealObliquePrism.h.
Definition at line 30 of file IdealObliquePrism.h.
Definition at line 31 of file IdealObliquePrism.h.
Definition at line 32 of file IdealObliquePrism.h.
IdealObliquePrism::IdealObliquePrism | ( | ) |
Definition at line 8 of file IdealObliquePrism.cc.
IdealObliquePrism::IdealObliquePrism | ( | const IdealObliquePrism & | idop | ) |
Definition at line 10 of file IdealObliquePrism.cc.
IdealObliquePrism::IdealObliquePrism | ( | const GlobalPoint & | faceCenter, |
CornersMgr * | mgr, | ||
const CCGFloat * | parm | ||
) |
|
override |
Definition at line 23 of file IdealObliquePrism.cc.
CCGFloat IdealObliquePrism::dEta | ( | ) | const |
Definition at line 25 of file IdealObliquePrism.cc.
References k_dEta, and CaloCellGeometry::param().
Referenced by initCorners(), localCorners(), and operator<<().
CCGFloat IdealObliquePrism::dPhi | ( | ) | const |
Definition at line 27 of file IdealObliquePrism.cc.
References k_dPhi, and CaloCellGeometry::param().
Referenced by initCorners(), localCorners(), and operator<<().
CCGFloat IdealObliquePrism::dz | ( | ) | const |
Definition at line 29 of file IdealObliquePrism.cc.
References k_dZ, and CaloCellGeometry::param().
Referenced by Electron.Electron::cutBasedId(), ntupleDataFormat.Track::dzPull(), initCorners(), localCorners(), and operator<<().
CCGFloat IdealObliquePrism::eta | ( | void | ) | const |
Definition at line 31 of file IdealObliquePrism.cc.
References k_Eta, and CaloCellGeometry::param().
Referenced by Particle.Particle::__str__(), datamodel.Object::DeltaR(), etaPhiPerp(), etaPhiZ(), initCorners(), Jet.Jet::jetID(), localCorners(), datamodel.Object::p4(), and Jet.Jet::puJetId().
|
staticprivate |
Definition at line 37 of file IdealObliquePrism.cc.
References eta(), perp(), and phi.
Referenced by initCorners(), and localCorners().
|
staticprivate |
Definition at line 41 of file IdealObliquePrism.cc.
References eta(), phi, and z().
Referenced by initCorners(), and localCorners().
|
overrideprivatevirtual |
Implements CaloCellGeometry.
Definition at line 89 of file IdealObliquePrism.cc.
References cms::cuda::co, funct::cos(), dEta(), dPhi(), dz(), eta(), etaPhiPerp(), etaPhiZ(), CaloCellGeometry::getPosition(), mag(), AlCaHLTBitMon_ParallelJobs::p, and phi.
Definition at line 45 of file IdealObliquePrism.cc.
References cms::cuda::assert(), funct::cos(), dEta(), dPhi(), dz(), eta(), etaPhiPerp(), etaPhiZ(), mps_fire::i, k_dEta, k_dPhi, k_dZ, k_Eta, k_Z, AlCaHLTBitMon_ParallelJobs::p, x, y, and z().
Referenced by FWTGeoRecoGeometryESProducer::addCaloTowerGeometry(), FWTGeoRecoGeometryESProducer::addHcalCaloGeometryBarrel(), FWTGeoRecoGeometryESProducer::addHcalCaloGeometryEndcap(), FWTGeoRecoGeometryESProducer::addHcalCaloGeometryOuter(), CaloTowerGeometry::localCorners(), HcalGeometry::localCorners(), and vocalCorners().
IdealObliquePrism & IdealObliquePrism::operator= | ( | const IdealObliquePrism & | idop | ) |
Definition at line 12 of file IdealObliquePrism.cc.
|
overridevirtual |
Implements CaloCellGeometry.
Definition at line 35 of file IdealObliquePrism.cc.
References localCorners().
CCGFloat IdealObliquePrism::z | ( | ) | const |
Definition at line 33 of file IdealObliquePrism.cc.
References k_Z, and CaloCellGeometry::param().
Referenced by etaPhiZ(), localCorners(), geometryXMLparser.Alignable::pos(), and ntupleDataFormat._HitObject::r3D().
|
static |
Definition at line 34 of file IdealObliquePrism.h.
Referenced by dEta(), and localCorners().
|
static |
Definition at line 35 of file IdealObliquePrism.h.
Referenced by dPhi(), and localCorners().
|
static |
Definition at line 36 of file IdealObliquePrism.h.
Referenced by dz(), and localCorners().
|
static |
Definition at line 37 of file IdealObliquePrism.h.
Referenced by eta(), and localCorners().
|
static |
Definition at line 38 of file IdealObliquePrism.h.
Referenced by localCorners(), and z().