52 std::shared_ptr<const CaloCellGeometry>
getGeometry(
const DetId&
id)
const override;
96 void localCorners(Pt3DVec& lc,
const CCGFloat*
pv,
unsigned int i, Pt3D& ref);
101 const CCGFloat* parm,
102 const DetId& detId)
override;
static unsigned int numberOfBarrelAlignments()
std::set< DetId > DetIdSet
static unsigned int alignmentTransformIndexLocal(const DetId &id)
std::shared_ptr< const CaloCellGeometry > getGeometry(const DetId &id) const override
Get the cell geometry of a given detector id. Should return false if not found.
std::vector< CCGFloat > DimVec
CaloSubdetectorGeometry::DetIdSet getCells(const GlobalPoint &r, double dR) const override
Get a list of all cells within a dR of the given cell.
edm::AtomicPtrCache< std::vector< DetId > > m_heIds
const CaloCellGeometry * getGeometryRawPtr(uint32_t index) const override
static unsigned int alignmentEndcapIndexLocal(const DetId &id)
unsigned int getHxSize(const int type) const
static DetId detIdFromOuterAlignmentIndex(unsigned int i)
unsigned int detId2denseId(const DetId &id) const override
return a linear packed id
const std::vector< DetId > & getValidDetIds(DetId::Detector det=DetId::Detector(0), int subdet=0) const override
Get a list of valid detector ids (for the given subdetector)
static std::string producerTag()
unsigned int numberOfShapes() const override
const HcalTopology & m_topology
std::vector< unsigned int > IVec
edm::AtomicPtrCache< std::vector< DetId > > m_emptyIds
std::vector< CCGFloat > TrVec
HcalAlignmentRcd AlignmentRecord
std::vector< IdealObliquePrism > HECellVec
std::vector< Pt3D > Pt3DVec
const HcalTopology & topology() const
std::shared_ptr< const CaloCellGeometry > getGeometryBase(const DetId &id) const
void newCellFast(const GlobalPoint &f1, const GlobalPoint &f2, const GlobalPoint &f3, const CCGFloat *parm, const DetId &detId)
CaloCellGeometry::Pt3DVec Pt3DVec
virtual std::shared_ptr< const CaloCellGeometry > cellGeomPtr(uint32_t index) const
unsigned int getNumberOfShapes() const
unsigned int numberOfParametersPerShape() const override
std::vector< IdealObliquePrism > HOCellVec
static unsigned int numberOfOuterAlignments()
DetId correctId(const DetId &id) const
unsigned int sizeForDenseIndex(const DetId &id) const override
static DetId detIdFromForwardAlignmentIndex(unsigned int i)
static unsigned int alignmentTransformIndexGlobal(const DetId &id)
static unsigned int alignmentBarrelIndexLocal(const DetId &id)
static DetId detIdFromBarrelAlignmentIndex(unsigned int i)
int phiBin(HcalSubdetector bc, int etaring, double phi) const
static DetId detIdFromLocalAlignmentIndex(unsigned int i)
int etaRing(HcalSubdetector bc, double abseta) const
helper methods for getClosestCell
CaloSubdetectorGeometry::IVec m_dins
HcalGeometry(const HcalTopology &topology)
HcalGeometryRecord AlignedRecord
GlobalPoint getPosition(const DetId &id) const
void localCorners(Pt3DVec &lc, const CCGFloat *pv, unsigned int i, Pt3D &ref)
static unsigned int alignmentOuterIndexLocal(const DetId &id)
std::vector< IdealZPrism > HFCellVec
~HcalGeometry() override
The HcalGeometry will delete all its cell geometries at destruction time.
static unsigned int numberOfEndcapAlignments()
static std::string dbString()
CaloCellGeometry::CCGFloat CCGFloat
CaloCellGeometry::CornersVec getCorners(const DetId &id) const
HepGeom::Point3D< CCGFloat > Pt3D
std::vector< IdealObliquePrism > HBCellVec
void increaseReserve(unsigned int extra)
void getSummary(CaloSubdetectorGeometry::TrVec &trVector, CaloSubdetectorGeometry::IVec &iVector, CaloSubdetectorGeometry::DimVec &dimVector, CaloSubdetectorGeometry::IVec &dinsVector) const override
edm::AtomicPtrCache< std::vector< DetId > > m_hfIds
unsigned int indexFor(const DetId &id) const override
void newCell(const GlobalPoint &f1, const GlobalPoint &f2, const GlobalPoint &f3, const CCGFloat *parm, const DetId &detId) override
static unsigned int numberOfForwardAlignments()
unsigned int ncells() const override
return a count of valid cells (for dense indexing use)
static unsigned int alignmentForwardIndexLocal(const DetId &id)
GlobalPoint getBackPosition(const DetId &id) const
static DetId detIdFromEndcapAlignmentIndex(unsigned int i)
static unsigned int alignmentBarEndForIndexLocal(const DetId &id, unsigned int nD)
friend class HcalGeometryPlan1Tester
edm::AtomicPtrCache< std::vector< DetId > > m_hoIds
CaloCellGeometry::Pt3D Pt3D
unsigned int newCellImpl(const GlobalPoint &f1, const GlobalPoint &f2, const GlobalPoint &f3, const CCGFloat *parm, const DetId &detId)
edm::AtomicPtrCache< std::vector< DetId > > m_hbIds
static unsigned int numberOfAlignments()
DetId getClosestCell(const GlobalPoint &r) const override