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 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 23 of file FlatHexagon.cc.
FlatHexagon::FlatHexagon | ( | const FlatHexagon & | tr | ) |
Definition at line 26 of file FlatHexagon.cc.
FlatHexagon::FlatHexagon | ( | CornersMgr * | cMgr, |
const GlobalPoint & | fCtr, | ||
const GlobalPoint & | bCtr, | ||
const GlobalPoint & | cor1, | ||
const CCGFloat * | parV | ||
) |
Definition at line 45 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 61 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 74 of file FlatHexagon.cc.
References etaPos(), glb, m_global, m_local, m_tr, and phiPos().
|
override |
Definition at line 85 of file FlatHexagon.cc.
const GlobalVector & FlatHexagon::axis | ( | ) | const |
Definition at line 112 of file FlatHexagon.cc.
References m_axis.
Referenced by getTransform(), and phiPos().
|
private |
Definition at line 225 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 116 of file FlatHexagon.cc.
References mps_fire::i, localCorners(), ncorner_, AlCaHLTBitMon_ParallelJobs::p, and createJobs::tmp.
Referenced by HGCalGeometryLoader::buildGeom(), phiPos(), and CaloGeometryDBEP< T, U >::produceAligned().
|
inlinevirtual |
Definition at line 51 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 99 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 110 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 49 of file FlatHexagon.h.
References DTRecHitClients_cfi::local, and m_global.
Referenced by makeAxis(), and operator<<().
|
overridevirtual |
Reimplemented from CaloCellGeometry.
Definition at line 87 of file FlatHexagon.cc.
References glb, DTRecHitClients_cfi::local, and m_tr.
CCGFloat FlatHexagon::getThetaAxis | ( | ) | const |
Definition at line 108 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 165 of file FlatHexagon.cc.
References angle(), axis(), MillePedeFileConverter_cfg::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(), initCorners(), and phiPos().
|
overrideprivatevirtual |
Implements CaloCellGeometry.
Definition at line 209 of file FlatHexagon.cc.
References getTransform(), mps_fire::i, ncorner_, and EZArrayFL< T >::uninitialized().
Definition at line 136 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 223 of file FlatHexagon.cc.
References backCtr(), getPosition(), and Vector3DBase< T, FrameTag >::unit().
Referenced by FlatHexagon().
FlatHexagon & FlatHexagon::operator= | ( | const FlatHexagon & | tr | ) |
Definition at line 28 of file FlatHexagon.cc.
References etaPos(), m_axis, m_corOne, m_global, m_local, m_tr, and phiPos().
|
inlinevirtual |
Definition at line 52 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 71 of file FlatHexagon.h.
References m_global, AlCaHLTBitMon_ParallelJobs::p, and CaloCellGeometry::setRefPoint().
|
overridevirtual |
Implements CaloCellGeometry.
Definition at line 114 of file FlatHexagon.cc.
References localCorners().
Referenced by phiPos().
|
static |
Definition at line 27 of file FlatHexagon.h.
Referenced by backCtr(), HGCalGeometryLoader::build(), 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(), and localCorners().
|
static |
Definition at line 29 of file FlatHexagon.h.
Referenced by HGCalGeometryLoader::build(), HGCalGeometry::getCorners(), HGCalGeometry::getNewCorners(), HGCalGeometry::getSummary(), and localCorners().
|
private |
Definition at line 86 of file FlatHexagon.h.
Referenced by axis(), FlatHexagon(), getPhiAxis(), getThetaAxis(), and operator=().
|
private |
Definition at line 87 of file FlatHexagon.h.
Referenced by getTransform(), and operator=().
|
private |
Definition at line 88 of file FlatHexagon.h.
Referenced by etaPos(), FlatHexagon(), getPosition(), operator=(), phiPos(), and setPosition().
|
private |
Definition at line 87 of file FlatHexagon.h.
Referenced by backCtr(), FlatHexagon(), and operator=().
|
private |
Definition at line 89 of file FlatHexagon.h.
Referenced by backCtr(), FlatHexagon(), getLocal(), getPosition(), and operator=().
|
static |
Definition at line 77 of file FlatHexagon.h.
Referenced by HGCalGeometryLoader::buildGeom(), createCorners(), HGCalGeometry::getCorners(), getTransform(), initCorners(), localCorners(), and CaloGeometryDBEP< T, U >::produceAligned().
|
static |
Definition at line 78 of file FlatHexagon.h.
Referenced by backCtr(), HGCalGeometryLoader::buildGeom(), and CaloGeometryDBEP< T, U >::produceAligned().
|
static |
Definition at line 76 of file FlatHexagon.h.
Referenced by HGCalGeometryLoader::buildGeom(), localCorners(), and CaloGeometryDBEP< T, U >::produceAligned().