#include <CaloCellGeometry.h>
Public Types | |
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 | |
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 void | vocalCorners (Pt3DVec &vec, const CCGFloat *pv, Pt3D &ref) const =0 |
virtual | ~CaloCellGeometry () |
Static Public Member Functions | |
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 unsigned int | k_cornerSize = 8 |
static const CCGFloat | k_ScaleFromDDDtoGeant |
Protected Member Functions | |
CaloCellGeometry (const CornersVec &cv, const CCGFloat *par) | |
CaloCellGeometry (CornersVec::const_reference gp, CornersMgr *mgr, const CCGFloat *par) | |
CaloCellGeometry (void) | |
virtual void | initCorners (CornersVec &)=0 |
void | initSpan () |
void | setCornerVec (const std::vector< GlobalPoint > &cor) |
void | setRefPoint (const GlobalPoint &pos) |
Private Member Functions | |
void | initBack () |
void | initReps () |
Private Attributes | |
GlobalPoint | m_backPoint |
CornersVec | m_corners |
float | m_dEta |
float | m_dPhi |
const CCGFloat * | m_parms |
GlobalPoint | m_refPoint |
RhoEtaPhi | m_rep |
std::array< RhoEtaPhi, k_cornerSize > | m_repCorners |
Abstract base class for an individual cell's geometry.
The base class declares a pure virtual function and also writes a definition (body) to force conscious acceptance of default behaviour.
If a derived class doesn't choose to override a normal virtual, it just inherits the base version's behaviour by default. If you want to provide a default behaviour but not let derived classes just inherit it "silently" like this, you can make it pure virtual but still provide a default that the derived class author has to call deliberately if he wants it:
Definition at line 50 of file CaloCellGeometry.h.
typedef float CaloCellGeometry::CCGFloat |
Definition at line 52 of file CaloCellGeometry.h.
Definition at line 58 of file CaloCellGeometry.h.
Definition at line 57 of file CaloCellGeometry.h.
typedef EZMgrFL<CCGFloat> CaloCellGeometry::ParMgr |
Definition at line 62 of file CaloCellGeometry.h.
typedef EZArrayFL<CCGFloat> CaloCellGeometry::ParVec |
Definition at line 60 of file CaloCellGeometry.h.
typedef std::vector<ParVec> CaloCellGeometry::ParVecVec |
Definition at line 61 of file CaloCellGeometry.h.
Definition at line 54 of file CaloCellGeometry.h.
typedef std::vector<Pt3D> CaloCellGeometry::Pt3DVec |
Definition at line 55 of file CaloCellGeometry.h.
using CaloCellGeometry::RepCorners = std::array<RhoEtaPhi, k_cornerSize> |
Definition at line 66 of file CaloCellGeometry.h.
typedef HepGeom::Transform3D CaloCellGeometry::Tr3D |
Definition at line 53 of file CaloCellGeometry.h.
|
virtual |
Definition at line 22 of file CaloCellGeometry.cc.
|
protected |
|
protected |
Definition at line 27 of file CaloCellGeometry.cc.
|
protected |
Definition at line 19 of file CaloCellGeometry.cc.
|
static |
Definition at line 96 of file CaloCellGeometry.cc.
References cms::cuda::assert(), cuy::ii, dqmiolumiharvest::j, and findQualityFiles::v.
Referenced by getParmPtr().
|
inline |
Definition at line 97 of file CaloCellGeometry.h.
References EZArrayFL< T >::empty(), and m_corners.
Referenced by operator<<().
|
inlinevirtual |
Reimplemented in FlatTrd, and FlatHexagon.
Definition at line 88 of file CaloCellGeometry.h.
References RhoEtaPhi::eta(), and m_rep.
Referenced by FWTGeoRecoGeometryESProducer::addCaloTowerGeometry(), FWTGeoRecoGeometryESProducer::addHcalCaloGeometryBarrel(), FWTGeoRecoGeometryESProducer::addHcalCaloGeometryEndcap(), FWTGeoRecoGeometryESProducer::addHcalCaloGeometryForward(), FWTGeoRecoGeometryESProducer::addHcalCaloGeometryOuter(), EcalEndcapGeometry::getCells(), and EcalBarrelGeometry::getCells().
|
inlinevirtual |
Reimplemented in FlatTrd, and FlatHexagon.
Definition at line 91 of file CaloCellGeometry.h.
References m_dEta.
|
inline |
|
inline |
Returns the corner points of this cell's volume.
Definition at line 73 of file CaloCellGeometry.h.
References cms::cuda::assert(), m_corners, and EZArrayFL< T >::uninitialized().
Referenced by FWTGeoRecoGeometryESProducer::addCaloTowerGeometry(), FWTGeoRecoGeometryESProducer::addEcalCaloGeometry(), FWTGeoRecoGeometryESProducer::addHcalCaloGeometryBarrel(), FWTGeoRecoGeometryESProducer::addHcalCaloGeometryEndcap(), FWTGeoRecoGeometryESProducer::addHcalCaloGeometryForward(), FWTGeoRecoGeometryESProducer::addHcalCaloGeometryOuter(), FlatHexagon::backCtr(), TruncatedPyramid::backCtr(), FlatTrd::backCtr(), reco::PFRecHit::getCornersXYZ(), getTransform(), initBack(), initReps(), initSpan(), inside(), and operator<<().
|
inline |
Definition at line 77 of file CaloCellGeometry.h.
References m_repCorners.
Referenced by reco::PFRecHit::getCornersREP().
|
static |
Definition at line 117 of file CaloCellGeometry.cc.
References checkParmPtr(), and mps_fire::i.
Referenced by FastTimeGeometryLoader::buildGeom(), HGCalGeometryLoader::buildGeom(), HcalHardcodeGeometryLoader::fillHBHO(), HcalFlexiHardcodeGeometryLoader::fillHBHO(), HcalHardcodeGeometryLoader::fillHE(), HcalFlexiHardcodeGeometryLoader::fillHE(), HcalHardcodeGeometryLoader::fillHF(), HcalFlexiHardcodeGeometryLoader::fillHF(), CaloTowerHardcodeGeometryLoader::makeCell(), CastorHardcodeGeometryLoader::makeCell(), ZdcHardcodeGeometryLoader::makeCell(), HcalDDDGeometryLoader::makeCell(), EcalTBHodoscopeGeometryLoaderFromDDD::makeGeometry(), and CaloGeometryDBEP< T, U >::produceAligned().
|
inlinevirtual |
Returns the position of reference for this cell.
Reimplemented in FlatTrd, and FlatHexagon.
Definition at line 80 of file CaloCellGeometry.h.
References m_refPoint.
Referenced by TruncatedPyramid::getPosition(), FlatHexagon::getTransform(), TruncatedPyramid::getTransform(), FlatTrd::getTransform(), getTransform(), IdealZDCTrapezoid::initCorners(), PreshowerStrip::initCorners(), IdealObliquePrism::initCorners(), IdealCastorTrapezoid::initCorners(), IdealZPrism::initCorners(), TruncatedPyramid::makeAxis(), operator<<(), and reco::PFRecHit::position().
|
inlinevirtual |
Reimplemented in TruncatedPyramid.
Definition at line 81 of file CaloCellGeometry.h.
References m_refPoint.
|
inlinevirtual |
Reimplemented in FlatTrd, and FlatHexagon.
Definition at line 82 of file CaloCellGeometry.h.
References m_refPoint.
--------— only needed by specific utility; overloaded when needed -—
Reimplemented in FlatTrd, TruncatedPyramid, FlatHexagon, and PreshowerStrip.
Definition at line 51 of file CaloCellGeometry.cc.
References angle(), cms::cuda::assert(), getCorners(), getPosition(), mps_fire::i, mag(), AlCaHLTBitMon_ParallelJobs::p, param(), unit(), vocalCorners(), x, y, and z.
|
inlineprivate |
Definition at line 137 of file CaloCellGeometry.h.
References cuy::cv, getCorners(), m_backPoint, x, y, and z.
Referenced by initSpan().
|
protectedpure virtual |
Implemented in FlatTrd, TruncatedPyramid, FlatHexagon, IdealZPrism, IdealCastorTrapezoid, IdealObliquePrism, PreshowerStrip, and IdealZDCTrapezoid.
Referenced by initSpan().
|
inlineprivate |
Definition at line 144 of file CaloCellGeometry.h.
References getCorners(), mps_fire::i, k_cornerSize, m_repCorners, and mitigatedMETSequence_cff::U.
Referenced by initSpan().
|
inlineprotected |
Definition at line 120 of file CaloCellGeometry.h.
References funct::abs(), PVValHelper::eta, getCorners(), initBack(), initCorners(), initReps(), m_corners, m_dEta, m_dPhi, and phi.
Referenced by IdealCastorTrapezoid::IdealCastorTrapezoid(), IdealObliquePrism::IdealObliquePrism(), IdealZDCTrapezoid::IdealZDCTrapezoid(), IdealZPrism::IdealZPrism(), PreshowerStrip::PreshowerStrip(), and TruncatedPyramid::TruncatedPyramid().
bool CaloCellGeometry::inside | ( | const GlobalPoint & | point | ) | const |
Returns true if the specified point is inside this cell.
Definition at line 133 of file CaloCellGeometry.cc.
References cms::cuda::co, L1DTConfigTraco_cff::DD, EE, getCorners(), mps_fire::i, AlCaHLTBitMon_ParallelJobs::p, point, x, y, and z.
|
inline |
Definition at line 99 of file CaloCellGeometry.h.
References m_parms.
Referenced by FWTGeoRecoGeometryESProducer::addCaloTowerGeometry(), FWTGeoRecoGeometryESProducer::addEcalCaloGeometry(), FWTGeoRecoGeometryESProducer::addHcalCaloGeometryBarrel(), FWTGeoRecoGeometryESProducer::addHcalCaloGeometryEndcap(), FWTGeoRecoGeometryESProducer::addHcalCaloGeometryForward(), FWTGeoRecoGeometryESProducer::addHcalCaloGeometryOuter(), IdealZDCTrapezoid::an(), IdealCastorTrapezoid::an(), FlatHexagon::backCtr(), FlatTrd::backCtr(), IdealObliquePrism::dEta(), IdealZPrism::dEta(), IdealCastorTrapezoid::dh(), IdealObliquePrism::dPhi(), IdealZPrism::dPhi(), IdealCastorTrapezoid::dR(), PreshowerStrip::dx(), IdealZDCTrapezoid::dx(), IdealCastorTrapezoid::dxh(), IdealCastorTrapezoid::dxl(), PreshowerStrip::dy(), IdealZDCTrapezoid::dy(), PreshowerStrip::dz(), IdealZDCTrapezoid::dz(), IdealObliquePrism::dz(), IdealZPrism::dz(), IdealCastorTrapezoid::dz(), FlatHexagon::dz(), FlatTrd::dz(), IdealObliquePrism::eta(), IdealZPrism::eta(), FlatHexagon::etaSpan(), FlatTrd::etaSpan(), EcalTBHodoscopeGeometry::getGeometryRawPtr(), HcalDDDGeometry::getGeometryRawPtr(), ZdcGeometry::getGeometryRawPtr(), CastorGeometry::getGeometryRawPtr(), CaloTowerGeometry::getGeometryRawPtr(), EcalPreshowerGeometry::getGeometryRawPtr(), EcalEndcapGeometry::getGeometryRawPtr(), FastTimeGeometry::getGeometryRawPtr(), EcalBarrelGeometry::getGeometryRawPtr(), HcalGeometry::getGeometryRawPtr(), HGCalGeometry::getGeometryRawPtr(), FlatHexagon::getTransform(), TruncatedPyramid::getTransform(), FlatTrd::getTransform(), getTransform(), IdealZDCTrapezoid::initCorners(), IdealCastorTrapezoid::initCorners(), makeEcalShape(), operator<<(), FlatHexagon::phiSpan(), FlatTrd::phiSpan(), PreshowerStrip::tilt(), IdealObliquePrism::z(), and IdealZPrism::z().
|
inlinevirtual |
Reimplemented in FlatTrd, and FlatHexagon.
Definition at line 89 of file CaloCellGeometry.h.
References m_rep, and RhoEtaPhi::phi().
Referenced by FWTGeoRecoGeometryESProducer::addCaloTowerGeometry(), FWTGeoRecoGeometryESProducer::addHcalCaloGeometryBarrel(), FWTGeoRecoGeometryESProducer::addHcalCaloGeometryEndcap(), FWTGeoRecoGeometryESProducer::addHcalCaloGeometryForward(), FWTGeoRecoGeometryESProducer::addHcalCaloGeometryOuter(), EcalEndcapGeometry::getCells(), and EcalBarrelGeometry::getCells().
|
inlinevirtual |
Reimplemented in FlatTrd, and FlatHexagon.
Definition at line 92 of file CaloCellGeometry.h.
References m_dPhi.
|
inline |
Definition at line 86 of file CaloCellGeometry.h.
References m_rep.
Referenced by reco::PFRecHit::positionREP().
|
inlinevirtual |
Definition at line 87 of file CaloCellGeometry.h.
References m_rep, and RhoEtaPhi::rho().
|
inline |
|
inlineprotected |
Definition at line 131 of file CaloCellGeometry.h.
References dqmdumpme::k, and m_corners.
|
inlineprotected |
Definition at line 130 of file CaloCellGeometry.h.
References m_refPoint.
Referenced by FlatHexagon::setPosition(), and FlatTrd::setPosition().
|
pure virtual |
Implemented in FlatTrd, TruncatedPyramid, FlatHexagon, IdealCastorTrapezoid, IdealZPrism, IdealObliquePrism, IdealZDCTrapezoid, and PreshowerStrip.
Referenced by getTransform().
|
staticconstexpr |
Definition at line 64 of file CaloCellGeometry.h.
Referenced by CaloSubdetectorGeometry::allocateCorners(), and initReps().
|
static |
Definition at line 68 of file CaloCellGeometry.h.
Referenced by EcalTBHodoscopeGeometryLoaderFromDDD::makeGeometry().
|
private |
Definition at line 150 of file CaloCellGeometry.h.
Referenced by getBackPoint(), initBack(), and setBackPoint().
|
private |
Definition at line 151 of file CaloCellGeometry.h.
Referenced by emptyCorners(), getCorners(), initSpan(), and setCornerVec().
|
private |
Definition at line 154 of file CaloCellGeometry.h.
Referenced by etaSpan(), and initSpan().
|
private |
Definition at line 155 of file CaloCellGeometry.h.
Referenced by initSpan(), and phiSpan().
|
private |
Definition at line 152 of file CaloCellGeometry.h.
Referenced by param().
|
private |
Definition at line 149 of file CaloCellGeometry.h.
Referenced by getPosition(), and setRefPoint().
|
private |
|
private |
Definition at line 156 of file CaloCellGeometry.h.
Referenced by getCornersREP(), and initReps().