CMS 3D CMS Logo

List of all members | Classes | Public Types | Public Member Functions | Static Public Member Functions | Static Public Attributes | Protected Member Functions | Private Member Functions | Private Attributes | Friends
CaloCellGeometry Class Referenceabstract

#include <CaloCellGeometry.h>

Inheritance diagram for CaloCellGeometry:
FlatHexagon FlatTrd IdealCastorTrapezoid IdealObliquePrism IdealZDCTrapezoid IdealZPrism PreshowerStrip TruncatedPyramid

Classes

struct  RefCount
 

Public Types

typedef float CCGFloat
 
typedef EZMgrFL< GlobalPointCornersMgr
 
typedef EZArrayFL< GlobalPointCornersVec
 
typedef EZMgrFL< CCGFloatParMgr
 
typedef EZArrayFL< CCGFloatParVec
 
typedef std::vector< ParVecParVecVec
 
typedef HepGeom::Point3D< CCGFloatPt3D
 
typedef std::vector< Pt3DPt3DVec
 
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 GlobalPointgetPosition () 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 CCGFloatparam () 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 CCGFloatcheckParmPtr (const std::vector< CCGFloat > &vd, ParVecVec &pvv)
 
static const CCGFloatgetParmPtr (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 (CornersVec::const_reference gp, CornersMgr *mgr, const CCGFloat *par)
 
 CaloCellGeometry (const CornersVec &cv, const CCGFloat *par)
 
 CaloCellGeometry ()
 
 CaloCellGeometry (CaloCellGeometry &&)=default
 
 CaloCellGeometry (CaloCellGeometry const &)=default
 
virtual void initCorners (CornersVec &)=0
 
void initSpan ()
 
CaloCellGeometryoperator= (CaloCellGeometry &&)=default
 
CaloCellGeometryoperator= (CaloCellGeometry const &)=default
 
void setCornerVec (const std::vector< GlobalPoint > &cor)
 
void setRefPoint (const GlobalPoint &pos)
 

Private Member Functions

bool decrement () const
 
void increment () const
 
void initBack ()
 
void initReps ()
 

Private Attributes

GlobalPoint m_backPoint
 
CornersVec m_corners
 
float m_dEta
 
float m_dPhi
 
const CCGFloatm_parms
 
struct CaloCellGeometry::RefCount m_ref
 
GlobalPoint m_refPoint
 
RhoEtaPhi m_rep
 
std::array< RhoEtaPhi, k_cornerSizem_repCorners
 

Friends

class CaloCellGeometryMayOwnPtr
 

Detailed Description

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:

class B {
public:
virtual bool f() = 0;
};
bool B::f() {
return true; // this is a good default, but
} // shouldn't be used blindly
class D : public B {
public:
bool f() {
return B::f(); // if D wants the default
} // behaviour, it has to say so
};
Author
J. Mans, P. Meridiani

Definition at line 51 of file CaloCellGeometry.h.

Member Typedef Documentation

◆ CCGFloat

Definition at line 53 of file CaloCellGeometry.h.

◆ CornersMgr

Definition at line 59 of file CaloCellGeometry.h.

◆ CornersVec

Definition at line 58 of file CaloCellGeometry.h.

◆ ParMgr

Definition at line 63 of file CaloCellGeometry.h.

◆ ParVec

Definition at line 61 of file CaloCellGeometry.h.

◆ ParVecVec

typedef std::vector<ParVec> CaloCellGeometry::ParVecVec

Definition at line 62 of file CaloCellGeometry.h.

◆ Pt3D

Definition at line 55 of file CaloCellGeometry.h.

◆ Pt3DVec

typedef std::vector<Pt3D> CaloCellGeometry::Pt3DVec

Definition at line 56 of file CaloCellGeometry.h.

◆ RepCorners

Definition at line 69 of file CaloCellGeometry.h.

◆ Tr3D

typedef HepGeom::Transform3D CaloCellGeometry::Tr3D

Definition at line 54 of file CaloCellGeometry.h.

Constructor & Destructor Documentation

◆ ~CaloCellGeometry()

CaloCellGeometry::~CaloCellGeometry ( )
virtual

Definition at line 22 of file CaloCellGeometry.cc.

22 {}

◆ CaloCellGeometry() [1/5]

CaloCellGeometry::CaloCellGeometry ( CornersVec::const_reference  gp,
CornersMgr mgr,
const CCGFloat par 
)
protected

Definition at line 24 of file CaloCellGeometry.cc.

25  : m_refPoint(gp), m_corners(mgr), m_parms(par), m_rep(gp.perp(), gp.eta(), gp.barePhi()), m_dEta(0), m_dPhi(0) {}
const CCGFloat * m_parms
GlobalPoint m_refPoint

◆ CaloCellGeometry() [2/5]

CaloCellGeometry::CaloCellGeometry ( const CornersVec cv,
const CCGFloat par 
)
protected

Definition at line 27 of file CaloCellGeometry.cc.

28  : m_refPoint(0.25 * (cv[0].x() + cv[1].x() + cv[2].x() + cv[3].x()),
29  0.25 * (cv[0].y() + cv[1].y() + cv[2].y() + cv[3].y()),
30  0.25 * (cv[0].z() + cv[1].z() + cv[2].z() + cv[3].z())),
31  m_corners(cv),
32  m_parms(par),
34  m_dEta(0),
35  m_dPhi(0) {}
T perp() const
Definition: PV3DBase.h:69
T eta() const
Definition: PV3DBase.h:73
const CCGFloat * m_parms
cv
Definition: cuy.py:363
T barePhi() const
Definition: PV3DBase.h:65
GlobalPoint m_refPoint

◆ CaloCellGeometry() [3/5]

CaloCellGeometry::CaloCellGeometry ( )
protected

Definition at line 19 of file CaloCellGeometry.cc.

20  : m_refPoint(0., 0., 0.), m_corners(), m_parms((CCGFloat*)nullptr), m_dEta(0), m_dPhi(0) {}
const CCGFloat * m_parms
CaloCellGeometry::CCGFloat CCGFloat
GlobalPoint m_refPoint

◆ CaloCellGeometry() [4/5]

CaloCellGeometry::CaloCellGeometry ( CaloCellGeometry &&  )
protecteddefault

◆ CaloCellGeometry() [5/5]

CaloCellGeometry::CaloCellGeometry ( CaloCellGeometry const &  )
protecteddefault

Member Function Documentation

◆ checkParmPtr()

const float * CaloCellGeometry::checkParmPtr ( const std::vector< CCGFloat > &  vd,
CaloCellGeometry::ParVecVec pvv 
)
static

Definition at line 96 of file CaloCellGeometry.cc.

References cms::cuda::assert(), cuy::ii, dqmiolumiharvest::j, and findQualityFiles::v.

Referenced by getParmPtr().

96  {
97  const float* pP(nullptr);
98 
99  for (unsigned int ii(0); ii != pvv.size(); ++ii) {
100  const ParVec& v(pvv[ii]);
101  assert(v.size() == vv.size());
102 
103  bool same(true);
104  for (unsigned int j(0); j != vv.size(); ++j) {
105  same = same && (fabs(vv[j] - v[j]) < 1.e-6);
106  if (!same)
107  break;
108  }
109  if (same) {
110  pP = &(*v.begin());
111  break;
112  }
113  }
114  return pP;
115 }
EZArrayFL< CCGFloat > ParVec
assert(be >=bs)
ii
Definition: cuy.py:589

◆ decrement()

bool CaloCellGeometry::decrement ( ) const
inlineprivate

Definition at line 158 of file CaloCellGeometry.h.

References CaloCellGeometry::RefCount::m_count, and m_ref.

Referenced by CaloCellGeometryMayOwnPtr::~CaloCellGeometryMayOwnPtr().

158 { return 0 == --m_ref.m_count; }
struct CaloCellGeometry::RefCount m_ref
std::atomic< unsigned int > m_count

◆ emptyCorners()

bool CaloCellGeometry::emptyCorners ( ) const
inline

Definition at line 100 of file CaloCellGeometry.h.

References EZArrayFL< T >::empty(), and m_corners.

Referenced by operator<<().

100 { return m_corners.empty(); }
bool empty() const
Definition: EZArrayFL.h:63

◆ etaPos()

virtual float CaloCellGeometry::etaPos ( ) const
inlinevirtual

◆ etaSpan()

virtual float CaloCellGeometry::etaSpan ( ) const
inlinevirtual

Reimplemented in FlatTrd, and FlatHexagon.

Definition at line 94 of file CaloCellGeometry.h.

References m_dEta.

Referenced by hgcal::RecHitTools::getScintDEtaDPhi().

94 { return m_dEta; }

◆ getBackPoint()

GlobalPoint const& CaloCellGeometry::getBackPoint ( ) const
inline

Definition at line 87 of file CaloCellGeometry.h.

References m_backPoint.

87 { return m_backPoint; }
GlobalPoint m_backPoint

◆ getCorners()

CornersVec const& CaloCellGeometry::getCorners ( ) const
inline

◆ getCornersREP()

RepCorners const& CaloCellGeometry::getCornersREP ( ) const
inline

Definition at line 80 of file CaloCellGeometry.h.

References m_repCorners.

Referenced by reco::PFRecHit::getCornersREP().

80 { return m_repCorners; }
std::array< RhoEtaPhi, k_cornerSize > m_repCorners

◆ getParmPtr()

const float * CaloCellGeometry::getParmPtr ( const std::vector< CCGFloat > &  vd,
CaloCellGeometry::ParMgr mgr,
CaloCellGeometry::ParVecVec pvv 
)
static

Definition at line 117 of file CaloCellGeometry.cc.

References checkParmPtr(), and mps_fire::i.

Referenced by HGCalGeometryLoader::buildGeom(), HGCalTBGeometryLoader::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().

119  {
120  const float* pP(checkParmPtr(vv, pvv));
121 
122  if (nullptr == pP) {
123  pvv.emplace_back(ParVec(mgr));
124  ParVec& back(pvv.back());
125  for (unsigned int i(0); i != vv.size(); ++i) {
126  back[i] = vv[i];
127  }
128  pP = &(*back.begin());
129  }
130  return pP;
131 }
EZArrayFL< CCGFloat > ParVec
static const CCGFloat * checkParmPtr(const std::vector< CCGFloat > &vd, ParVecVec &pvv)

◆ getPosition() [1/3]

virtual const GlobalPoint& CaloCellGeometry::getPosition ( ) const
inlinevirtual

Returns the position of reference for this cell.

Reimplemented in FlatTrd, and FlatHexagon.

Definition at line 83 of file CaloCellGeometry.h.

References m_refPoint.

Referenced by PreshowerHitMaker::addHit(), EcalEBTrigPrimAnalyzer::analyze(), EcalTPGParamBuilder::analyze(), EcalSimHitStudy::analyzeHits(), CaloTowersCreationAlgo::assignHitEcal(), reco::EcalClustersGraph::computeCovariances(), CaloTowersCreationAlgo::convert(), EcalClusterToolsT< noZS >::covariances(), DistanceToCell::DistanceToCell(), EcalHitMaker::EcalHitMaker(), CaloGeometryHelper::getClosestCell(), EcalEndcapGeometry::getClosestCell(), DisappearingMuonsSkimming::getECALIsolation(), EcalHitMaker::getHits(), CaloDetIdAssociator::getPosition(), TruncatedPyramid::getPosition(), TrackDetMatchInfo::getPosition(), FlatHexagon::getTransform(), TruncatedPyramid::getTransform(), FlatTrd::getTransform(), getTransform(), IdealZDCTrapezoid::initCorners(), PreshowerStrip::initCorners(), IdealObliquePrism::initCorners(), IdealZPrism::initCorners(), IdealCastorTrapezoid::initCorners(), CaloGeometryHelper::initialize(), TruncatedPyramid::makeAxis(), SCEnergyCorrectorDRN::makeInput(), ticl::SeedingRegionByHF::makeRegions(), EcalClusterToolsT< noZS >::meanClusterPosition(), DistanceToCell::operator()(), operator<<(), reco::PFRecHit::position(), ALPAKA_ACCELERATOR_NAMESPACE::PFRecHitTopologyESProducer< CAL >::produce(), and EcalRecHitWorkerRecover::run().

83 { return m_refPoint; }
GlobalPoint m_refPoint

◆ getPosition() [2/3]

virtual GlobalPoint CaloCellGeometry::getPosition ( CCGFloat  ) const
inlinevirtual

Reimplemented in TruncatedPyramid.

Definition at line 84 of file CaloCellGeometry.h.

References m_refPoint.

84 { return m_refPoint; }
GlobalPoint m_refPoint

◆ getPosition() [3/3]

virtual GlobalPoint CaloCellGeometry::getPosition ( const Pt3D ) const
inlinevirtual

Reimplemented in FlatTrd, and FlatHexagon.

Definition at line 85 of file CaloCellGeometry.h.

References m_refPoint.

85 { return m_refPoint; }
GlobalPoint m_refPoint

◆ getTransform()

void CaloCellGeometry::getTransform ( Tr3D tr,
Pt3DVec lptr 
) const
virtual

--------— 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.

51  {
53  const Pt3D gFront(p.x(), p.y(), p.z());
54  const DPt3D dgFront(p.x(), p.y(), p.z());
55 
56  Pt3D lFront;
57  assert(nullptr != param());
58  Pt3DVec lc(8, Pt3D(0, 0, 0));
59  vocalCorners(lc, param(), lFront);
60 
61  DPt3D dlFront(lFront.x(), lFront.y(), lFront.z());
62 
63  const Pt3D lBack(0.25 * (lc[4] + lc[5] + lc[6] + lc[7]));
64  const DPt3D dlBack(lBack.x(), lBack.y(), lBack.z());
65 
66  const Pt3D dlOne(lc[0].x(), lc[0].y(), lc[0].z());
67 
68  const CornersVec& cor(getCorners());
69  DPt3DVec dkor(8, DPt3D(0, 0, 0));
70  for (unsigned int i(0); i != 8; ++i) {
71  dkor[i] = DPt3D(cor[i].x(), cor[i].y(), cor[i].z());
72  }
73 
74  DPt3D dgBack(0.25 * (dkor[4] + dkor[5] + dkor[6] + dkor[7]));
75 
76  const DVec3D dgAxis((dgBack - dgFront).unit());
77 
78  dgBack = (dgFront + (dlBack - dlFront).mag() * dgAxis);
79  const DPt3D dgOneT(dgFront + (dlOne - dlFront).mag() * (dkor[0] - dgFront).unit());
80 
81  const double dlangle((dlBack - dlFront).angle(dlOne - dlFront));
82  const double dgangle((dgBack - dgFront).angle(dgOneT - dgFront));
83  const double ddangle(dlangle - dgangle);
84 
85  const DPlane3D dgPl(dgFront, dgOneT, dgBack);
86  const DPt3D dp2(dgFront + dgPl.normal().unit());
87 
88  const DPt3D dgOne(dgFront + HepGeom::Rotate3D(-ddangle, dgFront, dp2) * DVec3D(dgOneT - dgFront));
89 
90  tr = Tr3D(dlFront, dlBack, dlOne, dgFront, dgBack, dgOne);
91 
92  if (nullptr != lptr)
93  (*lptr) = lc;
94 }
EZArrayFL< GlobalPoint > CornersVec
HepGeom::Point3D< double > DPt3D
HepGeom::Transform3D Tr3D
assert(be >=bs)
HepGeom::Vector3D< double > DVec3D
virtual void vocalCorners(Pt3DVec &vec, const CCGFloat *pv, Pt3D &ref) const =0
Basic3DVector unit() const
CaloCellGeometry::Pt3D Pt3D
T mag() const
The vector magnitude. Equivalent to sqrt(vec.mag2())
HepGeom::Plane3D< double > DPlane3D
CaloCellGeometry::Pt3DVec Pt3DVec
HepGeom::Point3D< CCGFloat > Pt3D
virtual const GlobalPoint & getPosition() const
Returns the position of reference for this cell.
std::vector< DPt3D > DPt3DVec
CornersVec const & getCorners() const
Returns the corner points of this cell&#39;s volume.
const CCGFloat * param() const
T angle(T x1, T y1, T z1, T x2, T y2, T z2)
Definition: angle.h:11

◆ increment()

void CaloCellGeometry::increment ( ) const
inlineprivate

Definition at line 157 of file CaloCellGeometry.h.

References CaloCellGeometry::RefCount::m_count, and m_ref.

Referenced by CaloCellGeometryMayOwnPtr::operator=().

157 { ++m_ref.m_count; }
struct CaloCellGeometry::RefCount m_ref
std::atomic< unsigned int > m_count

◆ initBack()

void CaloCellGeometry::initBack ( )
inlineprivate

Definition at line 144 of file CaloCellGeometry.h.

References cuy::cv, getCorners(), m_backPoint, x, y, and z.

Referenced by initSpan().

144  {
145  // from CaloTower code
146  CornersVec const& cv = getCorners();
147  m_backPoint = GlobalPoint(0.25 * (cv[4].x() + cv[5].x() + cv[6].x() + cv[7].x()),
148  0.25 * (cv[4].y() + cv[5].y() + cv[6].y() + cv[7].y()),
149  0.25 * (cv[4].z() + cv[5].z() + cv[6].z() + cv[7].z()));
150  }
EZArrayFL< GlobalPoint > CornersVec
Global3DPoint GlobalPoint
Definition: GlobalPoint.h:10
cv
Definition: cuy.py:363
GlobalPoint m_backPoint
CornersVec const & getCorners() const
Returns the corner points of this cell&#39;s volume.

◆ initCorners()

virtual void CaloCellGeometry::initCorners ( CornersVec )
protectedpure virtual

◆ initReps()

void CaloCellGeometry::initReps ( )
inlineprivate

Definition at line 151 of file CaloCellGeometry.h.

References getCorners(), mps_fire::i, k_cornerSize, m_repCorners, and mitigatedMETSequence_cff::U.

Referenced by initSpan().

151  {
152  for (auto i = 0U; i < k_cornerSize; ++i)
153  m_repCorners[i] = {getCorners()[i].perp(), getCorners()[i].eta(), getCorners()[i].barePhi()};
154  }
static constexpr unsigned int k_cornerSize
std::array< RhoEtaPhi, k_cornerSize > m_repCorners
CornersVec const & getCorners() const
Returns the corner points of this cell&#39;s volume.

◆ initSpan()

void CaloCellGeometry::initSpan ( )
inlineprotected

◆ inside()

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.

Referenced by CaloDetIdAssociator::insideElement(), and HCaloDetIdAssociator::insideElement().

133  {
134  bool ans(false);
135  const Pt3D p(point.x(), point.y(), point.z());
136  const CornersVec& cog(getCorners());
137  Pt3D co[8];
138  for (unsigned int i(0); i != 8; ++i) {
139  co[i] = Pt3D(cog[i].x(), cog[i].y(), cog[i].z());
140  }
141 
142  const Plane3D AA(co[0], co[1], co[2]); // z<0
143  const Plane3D BB(co[6], co[5], co[4]); // z>0
144 
145  if (AA.distance(p) * BB.distance(p) >= 0) {
146  const Plane3D CC(co[0], co[4], co[5]); // x<0
147  const Plane3D DD(co[2], co[6], co[7]); // x>0
148  if (CC.distance(p) * DD.distance(p) >= 0) {
149  const Plane3D EE(co[3], co[7], co[4]); // y<0
150  const Plane3D FF(co[1], co[5], co[6]); // y>0
151  if (EE.distance(p) * FF.distance(p) >= 0) {
152  ans = true;
153  }
154  }
155  }
156  return ans;
157 }
EZArrayFL< GlobalPoint > CornersVec
__host__ __device__ VT * co
Definition: prefixScan.h:47
CaloCellGeometry::Pt3D Pt3D
HepGeom::Point3D< CCGFloat > Pt3D
DD
single HTRIG enabling on first/second tracks
CornersVec const & getCorners() const
Returns the corner points of this cell&#39;s volume.
ROOT::Math::Plane3D Plane3D
*vegas h *****************************************************used in the default bin number in original ***version of VEGAS is ***a higher bin number might help to derive a more precise ***grade subtle point
Definition: invegas.h:5

◆ operator=() [1/2]

CaloCellGeometry& CaloCellGeometry::operator= ( CaloCellGeometry &&  )
protecteddefault

◆ operator=() [2/2]

CaloCellGeometry& CaloCellGeometry::operator= ( CaloCellGeometry const &  )
protecteddefault

◆ param()

const CCGFloat* CaloCellGeometry::param ( ) const
inline

Definition at line 102 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(), IdealZDCTrapezoid::dy(), PreshowerStrip::dy(), IdealZDCTrapezoid::dz(), PreshowerStrip::dz(), IdealObliquePrism::dz(), IdealZPrism::dz(), IdealCastorTrapezoid::dz(), FlatHexagon::dz(), FlatTrd::dz(), IdealObliquePrism::eta(), IdealZPrism::eta(), FlatHexagon::etaSpan(), FlatTrd::etaSpan(), HcalDDDGeometry::getGeometryRawPtr(), ZdcGeometry::getGeometryRawPtr(), HcalGeometry::getGeometryRawPtr(), HGCalTBGeometry::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().

102 { return m_parms; }
const CCGFloat * m_parms

◆ phiPos()

virtual float CaloCellGeometry::phiPos ( ) const
inlinevirtual

◆ phiSpan()

virtual float CaloCellGeometry::phiSpan ( ) const
inlinevirtual

Reimplemented in FlatTrd, and FlatHexagon.

Definition at line 95 of file CaloCellGeometry.h.

References m_dPhi.

95 { return m_dPhi; }

◆ repPos()

RhoEtaPhi const& CaloCellGeometry::repPos ( ) const
inline

Definition at line 89 of file CaloCellGeometry.h.

References m_rep.

Referenced by reco::PFRecHit::positionREP().

89 { return m_rep; }

◆ rhoPos()

virtual float CaloCellGeometry::rhoPos ( ) const
inlinevirtual

Definition at line 90 of file CaloCellGeometry.h.

References m_rep, and RhoEtaPhi::rho().

90 { return m_rep.rho(); }
float rho() const
transverse momentum
Definition: PtEtaPhiMass.h:50

◆ setBackPoint()

void CaloCellGeometry::setBackPoint ( const GlobalPoint pos)
inline

Definition at line 111 of file CaloCellGeometry.h.

References m_backPoint.

111 { m_backPoint = pos; }
GlobalPoint m_backPoint

◆ setCornerVec()

void CaloCellGeometry::setCornerVec ( const std::vector< GlobalPoint > &  cor)
inlineprotected

Definition at line 138 of file CaloCellGeometry.h.

References isotrackApplyRegressor::k, and m_corners.

138  {
139  for (unsigned int k = 0; k < cor.size(); ++k)
140  m_corners[k] = cor[k];
141  }

◆ setRefPoint()

void CaloCellGeometry::setRefPoint ( const GlobalPoint pos)
inlineprotected

Definition at line 137 of file CaloCellGeometry.h.

References m_refPoint.

Referenced by FlatHexagon::setPosition(), and FlatTrd::setPosition().

137 { m_refPoint = pos; }
GlobalPoint m_refPoint

◆ vocalCorners()

virtual void CaloCellGeometry::vocalCorners ( Pt3DVec vec,
const CCGFloat pv,
Pt3D ref 
) const
pure virtual

Friends And Related Function Documentation

◆ CaloCellGeometryMayOwnPtr

friend class CaloCellGeometryMayOwnPtr
friend

Definition at line 65 of file CaloCellGeometry.h.

Member Data Documentation

◆ k_cornerSize

constexpr unsigned int CaloCellGeometry::k_cornerSize = 8
static

Definition at line 67 of file CaloCellGeometry.h.

Referenced by CaloSubdetectorGeometry::allocateCorners(), and initReps().

◆ k_ScaleFromDDDtoGeant

const float CaloCellGeometry::k_ScaleFromDDDtoGeant
static

◆ m_backPoint

GlobalPoint CaloCellGeometry::m_backPoint
private

Definition at line 161 of file CaloCellGeometry.h.

Referenced by getBackPoint(), initBack(), and setBackPoint().

◆ m_corners

CornersVec CaloCellGeometry::m_corners
private

Definition at line 162 of file CaloCellGeometry.h.

Referenced by emptyCorners(), getCorners(), initSpan(), and setCornerVec().

◆ m_dEta

float CaloCellGeometry::m_dEta
private

Definition at line 165 of file CaloCellGeometry.h.

Referenced by etaSpan(), and initSpan().

◆ m_dPhi

float CaloCellGeometry::m_dPhi
private

Definition at line 166 of file CaloCellGeometry.h.

Referenced by initSpan(), and phiSpan().

◆ m_parms

const CCGFloat* CaloCellGeometry::m_parms
private

Definition at line 163 of file CaloCellGeometry.h.

Referenced by param().

◆ m_ref

struct CaloCellGeometry::RefCount CaloCellGeometry::m_ref
private

Referenced by decrement(), and increment().

◆ m_refPoint

GlobalPoint CaloCellGeometry::m_refPoint
private

Definition at line 160 of file CaloCellGeometry.h.

Referenced by getPosition(), and setRefPoint().

◆ m_rep

RhoEtaPhi CaloCellGeometry::m_rep
private

Definition at line 164 of file CaloCellGeometry.h.

Referenced by etaPos(), phiPos(), repPos(), and rhoPos().

◆ m_repCorners

std::array<RhoEtaPhi, k_cornerSize> CaloCellGeometry::m_repCorners
private

Definition at line 167 of file CaloCellGeometry.h.

Referenced by getCornersREP(), and initReps().