A base class to handle the hexagonal shape of HGCal silicon volumes. More...
#include <FlatHexagon.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 |
float | dz () const |
float | etaPos () const override |
float | etaSpan () const override |
FlatHexagon (void) | |
FlatHexagon (const FlatHexagon &tr) | |
FlatHexagon (CornersMgr *cMgr, const GlobalPoint &fCtr, const GlobalPoint &bCtr, const GlobalPoint &cor1, const CCGFloat *parV) | |
FlatHexagon (const CornersVec &corn, const CCGFloat *par) | |
FlatHexagon (const FlatHexagon &tr, const Pt3D &local) | |
Pt3D | getLocal (const GlobalPoint &global) const |
CCGFloat | getPhiAxis () const |
GlobalPoint const & | getPosition () const override |
Returns the position of reference for this cell. More... | |
GlobalPoint | getPosition (const Pt3D &local) const override |
CCGFloat | getThetaAxis () const |
void | getTransform (Tr3D &tr, Pt3DVec *lptr) const override |
--------— only needed by specific utility; overloaded when needed -— More... | |
FlatHexagon & | operator= (const FlatHexagon &tr) |
float | phiPos () const override |
float | phiSpan () const override |
void | setPosition (const GlobalPoint &p) |
void | vocalCorners (Pt3DVec &vec, const CCGFloat *pv, Pt3D &ref) const override |
float | zPos () const |
~FlatHexagon () override | |
Public Member Functions inherited from CaloCellGeometry | |
bool | emptyCorners () const |
GlobalPoint const & | getBackPoint () const |
CornersVec const & | getCorners () const |
Returns the corner points of this cell's volume. More... | |
RepCorners const & | getCornersREP () const |
virtual GlobalPoint | getPosition (CCGFloat) const |
bool | inside (const GlobalPoint &point) const |
Returns true if the specified point is inside this cell. More... | |
const CCGFloat * | param () 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 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_dZ = 0 |
static constexpr uint32_t | k_r = 1 |
static constexpr uint32_t | k_R = 2 |
static constexpr unsigned int | ncorner_ = 12 |
static constexpr unsigned int | ncornerBy2_ = 6 |
static constexpr double | oneBySix_ = 1.0 / 6.0 |
Static Public Attributes inherited from CaloCellGeometry | |
static constexpr unsigned int | k_cornerSize = 8 |
static const CCGFloat | k_ScaleFromDDDtoGeant |
Private Member Functions | |
GlobalPoint | backCtr (void) const |
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 | |
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 hexagonal shape of HGCal silicon volumes.
Definition at line 20 of file FlatHexagon.h.
Definition at line 22 of file FlatHexagon.h.
Definition at line 23 of file FlatHexagon.h.
Definition at line 24 of file FlatHexagon.h.
Definition at line 25 of file FlatHexagon.h.
FlatHexagon::FlatHexagon | ( | void | ) |
Definition at line 25 of file FlatHexagon.cc.
FlatHexagon::FlatHexagon | ( | const FlatHexagon & | tr | ) |
Definition at line 28 of file FlatHexagon.cc.
FlatHexagon::FlatHexagon | ( | CornersMgr * | cMgr, |
const GlobalPoint & | fCtr, | ||
const GlobalPoint & | bCtr, | ||
const GlobalPoint & | cor1, | ||
const CCGFloat * | parV | ||
) |
Definition at line 47 of file FlatHexagon.cc.
References etaPos(), getTransform(), glb, m_global, m_local, m_tr, and phiPos().
FlatHexagon::FlatHexagon | ( | const CornersVec & | corn, |
const CCGFloat * | par | ||
) |
Definition at line 63 of file FlatHexagon.cc.
References etaPos(), getTransform(), glb, m_axis, m_global, m_local, m_tr, makeAxis(), and phiPos().
FlatHexagon::FlatHexagon | ( | const FlatHexagon & | tr, |
const Pt3D & | local | ||
) |
Definition at line 76 of file FlatHexagon.cc.
References etaPos(), glb, m_global, m_local, m_tr, and phiPos().
|
override |
Definition at line 87 of file FlatHexagon.cc.
const GlobalVector & FlatHexagon::axis | ( | ) | const |
|
private |
Definition at line 243 of file FlatHexagon.cc.
References dz(), CaloCellGeometry::getCorners(), k_dZ, m_local, m_tr, ncornerBy2_, and CaloCellGeometry::param().
Referenced by makeAxis().
|
static |
Definition at line 134 of file FlatHexagon.cc.
References cms::cuda::assert(), mps_fire::i, localCorners(), ncorner_, AlCaHLTBitMon_ParallelJobs::p, and createJobs::tmp.
Referenced by HGCalGeometryLoader::buildGeom(), and CaloGeometryDBEP< T, U >::produceAligned().
|
inline |
Definition at line 56 of file FlatHexagon.h.
References k_dZ, and CaloCellGeometry::param().
Referenced by backCtr(), Electron.Electron::cutBasedId(), ntupleDataFormat.Track::dzPull(), and localCorners().
|
inlineoverridevirtual |
Reimplemented from CaloCellGeometry.
Definition at line 51 of file FlatHexagon.h.
References PV3DBase< T, PVType, FrameType >::eta(), and m_global.
Referenced by FlatHexagon(), operator<<(), and operator=().
|
overridevirtual |
Reimplemented from CaloCellGeometry.
Definition at line 101 of file FlatHexagon.cc.
References funct::abs(), cms::cuda::assert(), HLT_FULL_cff::eta1, HLT_FULL_cff::eta2, k_R, log, m_global, SiStripPI::max, CaloCellGeometry::param(), PV3DBase< T, PVType, FrameType >::perp(), funct::tan(), tolmin, and PV3DBase< T, PVType, FrameType >::z().
Pt3D FlatHexagon::getLocal | ( | const GlobalPoint & | global | ) | const |
Definition at line 117 of file FlatHexagon.cc.
References m_tr, PV3DBase< T, PVType, FrameType >::x(), PV3DBase< T, PVType, FrameType >::y(), and PV3DBase< T, PVType, FrameType >::z().
CCGFloat FlatHexagon::getPhiAxis | ( | ) | const |
Definition at line 128 of file FlatHexagon.cc.
References m_axis, and PV3DBase< T, PVType, FrameType >::phi().
Referenced by operator<<().
|
inlineoverridevirtual |
Returns the position of reference for this cell.
Reimplemented from CaloCellGeometry.
Definition at line 49 of file FlatHexagon.h.
References m_global.
Referenced by makeAxis(), and operator<<().
|
overridevirtual |
Reimplemented from CaloCellGeometry.
Definition at line 89 of file FlatHexagon.cc.
CCGFloat FlatHexagon::getThetaAxis | ( | ) | const |
Definition at line 126 of file FlatHexagon.cc.
References m_axis, and PV3DBase< T, PVType, FrameType >::theta().
Referenced by operator<<().
--------— only needed by specific utility; overloaded when needed -—
Reimplemented from CaloCellGeometry.
Definition at line 183 of file FlatHexagon.cc.
References angle(), cms::cuda::assert(), axis(), alignCSCRings::e, CaloCellGeometry::getPosition(), localCorners(), m_corOne, mag(), ncorner_, AlCaHLTBitMon_ParallelJobs::p, CaloCellGeometry::param(), unit(), x, PV3DBase< T, PVType, FrameType >::x(), y, PV3DBase< T, PVType, FrameType >::y(), z, and PV3DBase< T, PVType, FrameType >::z().
Referenced by FlatHexagon(), and initCorners().
|
overrideprivatevirtual |
Implements CaloCellGeometry.
Definition at line 227 of file FlatHexagon.cc.
References getTransform(), mps_fire::i, ncorner_, and EZArrayFL< T >::uninitialized().
Definition at line 154 of file FlatHexagon.cc.
References cms::cuda::assert(), dz(), k_dZ, k_r, k_R, ncorner_, oneBySix_, dttmaxenums::R, and alignCSCRings::r.
Referenced by createCorners(), getTransform(), HGCalGeometry::localCorners(), and vocalCorners().
|
private |
Definition at line 241 of file FlatHexagon.cc.
References backCtr(), getPosition(), and Vector3DBase< T, FrameTag >::unit().
Referenced by FlatHexagon().
FlatHexagon & FlatHexagon::operator= | ( | const FlatHexagon & | tr | ) |
|
inlineoverridevirtual |
Reimplemented from CaloCellGeometry.
Definition at line 52 of file FlatHexagon.h.
References m_global, and PV3DBase< T, PVType, FrameType >::phi().
Referenced by FlatHexagon(), operator<<(), and operator=().
|
overridevirtual |
Reimplemented from CaloCellGeometry.
Definition at line 111 of file FlatHexagon.cc.
References cms::cuda::assert(), k_r, m_global, SiStripPI::max, CaloCellGeometry::param(), PV3DBase< T, PVType, FrameType >::perp(), and tolmin.
|
inline |
Definition at line 75 of file FlatHexagon.h.
References m_global, AlCaHLTBitMon_ParallelJobs::p, and CaloCellGeometry::setRefPoint().
|
overridevirtual |
Implements CaloCellGeometry.
Definition at line 132 of file FlatHexagon.cc.
References localCorners().
|
inline |
Definition at line 55 of file FlatHexagon.h.
References m_global, and PV3DBase< T, PVType, FrameType >::z().
|
static |
Definition at line 27 of file FlatHexagon.h.
Referenced by backCtr(), HGCalGeometryLoader::build(), dz(), HGCalGeometry::get8Corners(), HGCalGeometry::getCorners(), HGCalGeometry::getNewCorners(), HGCalGeometry::getSummary(), and localCorners().
|
static |
Definition at line 28 of file FlatHexagon.h.
Referenced by HGCalGeometryLoader::build(), HGCalGeometry::get8Corners(), HGCalGeometry::getCorners(), HGCalGeometry::getNewCorners(), HGCalGeometry::getSummary(), localCorners(), and phiSpan().
|
static |
Definition at line 29 of file FlatHexagon.h.
Referenced by HGCalGeometryLoader::build(), etaSpan(), HGCalGeometry::get8Corners(), HGCalGeometry::getCorners(), HGCalGeometry::getNewCorners(), HGCalGeometry::getSummary(), and localCorners().
|
private |
Definition at line 90 of file FlatHexagon.h.
Referenced by axis(), FlatHexagon(), getPhiAxis(), getThetaAxis(), and operator=().
|
private |
Definition at line 91 of file FlatHexagon.h.
Referenced by getTransform(), and operator=().
|
private |
Definition at line 92 of file FlatHexagon.h.
Referenced by etaPos(), etaSpan(), FlatHexagon(), getPosition(), operator=(), phiPos(), phiSpan(), setPosition(), and zPos().
|
private |
Definition at line 91 of file FlatHexagon.h.
Referenced by backCtr(), FlatHexagon(), and operator=().
|
private |
Definition at line 93 of file FlatHexagon.h.
Referenced by backCtr(), FlatHexagon(), getLocal(), getPosition(), and operator=().
|
static |
Definition at line 81 of file FlatHexagon.h.
Referenced by HGCalGeometryLoader::buildGeom(), createCorners(), HGCalGeometry::getCorners(), getTransform(), initCorners(), localCorners(), and CaloGeometryDBEP< T, U >::produceAligned().
|
static |
Definition at line 82 of file FlatHexagon.h.
Referenced by backCtr(), HGCalGeometryLoader::buildGeom(), and CaloGeometryDBEP< T, U >::produceAligned().
|
static |
Definition at line 80 of file FlatHexagon.h.
Referenced by HGCalGeometryLoader::buildGeom(), localCorners(), and CaloGeometryDBEP< T, U >::produceAligned().