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 |
virtual float | etaPos () const |
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) |
virtual float | phiPos () const |
void | setPosition (const GlobalPoint &p) |
void | vocalCorners (Pt3DVec &vec, const CCGFloat *pv, Pt3D &ref) const override |
~FlatHexagon () 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 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 |
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 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 23 of file FlatHexagon.h.
Definition at line 24 of file FlatHexagon.h.
Definition at line 25 of file FlatHexagon.h.
Definition at line 26 of file FlatHexagon.h.
FlatHexagon::FlatHexagon | ( | void | ) |
Definition at line 23 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 51 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 72 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 90 of file FlatHexagon.cc.
References etaPos(), glb, m_global, m_local, m_tr, and phiPos().
|
override |
Definition at line 104 of file FlatHexagon.cc.
const GlobalVector & FlatHexagon::axis | ( | ) | const |
Definition at line 142 of file FlatHexagon.cc.
References m_axis.
Referenced by getTransform(), and phiPos().
|
private |
Definition at line 273 of file FlatHexagon.cc.
References PVValHelper::dz, CaloCellGeometry::getCorners(), k_dZ, m_local, m_tr, ncornerBy2_, and CaloCellGeometry::param().
Referenced by makeAxis().
|
static |
Definition at line 152 of file FlatHexagon.cc.
References mps_fire::i, localCorners(), ncorner_, AlCaHLTBitMon_ParallelJobs::p, and tmp.
Referenced by HGCalGeometryLoader::buildGeom(), phiPos(), and CaloGeometryDBEP< T, U >::produceAligned().
|
inlinevirtual |
Definition at line 53 of file FlatHexagon.h.
References PV3DBase< T, PVType, FrameType >::eta(), and m_global.
Referenced by FlatHexagon(), operator<<(), and operator=().
Pt3D FlatHexagon::getLocal | ( | const GlobalPoint & | global | ) | const |
Definition at line 123 of file FlatHexagon.cc.
References DTRecHitClients_cfi::local, m_tr, PV3DBase< T, PVType, FrameType >::x(), PV3DBase< T, PVType, FrameType >::y(), and PV3DBase< T, PVType, FrameType >::z().
Referenced by phiPos().
CCGFloat FlatHexagon::getPhiAxis | ( | ) | const |
Definition at line 138 of file FlatHexagon.cc.
References m_axis, and PV3DBase< T, PVType, FrameType >::phi().
Referenced by operator<<(), and phiPos().
|
inlineoverridevirtual |
Returns the position of reference for this cell.
Reimplemented from CaloCellGeometry.
Definition at line 51 of file FlatHexagon.h.
References DTRecHitClients_cfi::local, and m_global.
Referenced by makeAxis(), and operator<<().
|
overridevirtual |
Reimplemented from CaloCellGeometry.
Definition at line 106 of file FlatHexagon.cc.
References glb, DTRecHitClients_cfi::local, and m_tr.
CCGFloat FlatHexagon::getThetaAxis | ( | ) | const |
Definition at line 134 of file FlatHexagon.cc.
References m_axis, and PV3DBase< T, PVType, FrameType >::theta().
Referenced by operator<<(), and phiPos().
--------— only needed by specific utility; overloaded when needed -—
Reimplemented from CaloCellGeometry.
Definition at line 209 of file FlatHexagon.cc.
References angle(), axis(), MillePedeFileConverter_cfg::e, CaloCellGeometry::getPosition(), localCorners(), m_corOne, mag(), ncorner_, 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 FlatHexagon(), initCorners(), and phiPos().
|
overrideprivatevirtual |
Implements CaloCellGeometry.
Definition at line 254 of file FlatHexagon.cc.
References getTransform(), mps_fire::i, ncorner_, and EZArrayFL< T >::uninitialized().
Definition at line 175 of file FlatHexagon.cc.
References PVValHelper::dz, k_dZ, k_r, k_R, ncorner_, oneBySix_, dttmaxenums::R, and alignCSCRings::r.
Referenced by createCorners(), getTransform(), HGCalGeometry::localCorners(), phiPos(), and vocalCorners().
|
private |
Definition at line 269 of file FlatHexagon.cc.
References backCtr(), getPosition(), and Vector3DBase< T, FrameTag >::unit().
Referenced by FlatHexagon().
FlatHexagon & FlatHexagon::operator= | ( | const FlatHexagon & | tr | ) |
Definition at line 32 of file FlatHexagon.cc.
References etaPos(), m_axis, m_corOne, m_global, m_local, m_tr, and phiPos().
|
inlinevirtual |
Definition at line 54 of file FlatHexagon.h.
References axis(), createCorners(), getLocal(), getPhiAxis(), getThetaAxis(), getTransform(), localCorners(), m_global, PV3DBase< T, PVType, FrameType >::phi(), MetAnalyzer::pv(), and vocalCorners().
Referenced by FlatHexagon(), operator<<(), and operator=().
|
inline |
Definition at line 79 of file FlatHexagon.h.
References m_global, AlCaHLTBitMon_ParallelJobs::p, and CaloCellGeometry::setRefPoint().
|
overridevirtual |
Implements CaloCellGeometry.
Definition at line 146 of file FlatHexagon.cc.
References localCorners().
Referenced by phiPos().
|
static |
Definition at line 28 of file FlatHexagon.h.
Referenced by backCtr(), HGCalGeometryLoader::build(), HGCalGeometry::get8Corners(), HGCalGeometry::getCorners(), HGCalGeometry::getNewCorners(), HGCalGeometry::getSummary(), and localCorners().
|
static |
Definition at line 29 of file FlatHexagon.h.
Referenced by HGCalGeometryLoader::build(), HGCalGeometry::get8Corners(), HGCalGeometry::getCorners(), HGCalGeometry::getNewCorners(), HGCalGeometry::getSummary(), and localCorners().
|
static |
Definition at line 30 of file FlatHexagon.h.
Referenced by HGCalGeometryLoader::build(), HGCalGeometry::getCorners(), HGCalGeometry::getNewCorners(), HGCalGeometry::getSummary(), and localCorners().
|
private |
Definition at line 92 of file FlatHexagon.h.
Referenced by axis(), FlatHexagon(), getPhiAxis(), getThetaAxis(), and operator=().
|
private |
Definition at line 93 of file FlatHexagon.h.
Referenced by getTransform(), and operator=().
|
private |
Definition at line 94 of file FlatHexagon.h.
Referenced by etaPos(), FlatHexagon(), getPosition(), operator=(), phiPos(), and setPosition().
|
private |
Definition at line 93 of file FlatHexagon.h.
Referenced by backCtr(), FlatHexagon(), and operator=().
|
private |
Definition at line 95 of file FlatHexagon.h.
Referenced by backCtr(), FlatHexagon(), getLocal(), getPosition(), and operator=().
|
static |
Definition at line 82 of file FlatHexagon.h.
Referenced by HGCalGeometryLoader::buildGeom(), createCorners(), HGCalGeometry::getCorners(), getTransform(), initCorners(), localCorners(), and CaloGeometryDBEP< T, U >::produceAligned().
|
static |
Definition at line 83 of file FlatHexagon.h.
Referenced by backCtr(), HGCalGeometryLoader::buildGeom(), and CaloGeometryDBEP< T, U >::produceAligned().
|
static |
Definition at line 81 of file FlatHexagon.h.
Referenced by HGCalGeometryLoader::buildGeom(), localCorners(), and CaloGeometryDBEP< T, U >::produceAligned().