52 std::shared_ptr<const CaloCellGeometry>
getGeometry(
const DetId&
id)
const override;
static unsigned int numberOfBarrelAlignments()
std::set< DetId > DetIdSet
static unsigned int alignmentTransformIndexLocal(const DetId &id)
DetId correctId(const DetId &id) const
std::vector< CCGFloat > DimVec
GlobalPoint getBackPosition(const DetId &id) const
edm::AtomicPtrCache< std::vector< DetId > > m_heIds
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 unsigned int alignmentEndcapIndexLocal(const DetId &id)
std::shared_ptr< const CaloCellGeometry > getGeometryBase(const DetId &id) const
static DetId detIdFromOuterAlignmentIndex(unsigned int i)
DetId getClosestCell(const GlobalPoint &r) const override
static std::string producerTag()
const HcalTopology & m_topology
std::vector< unsigned int > IVec
edm::AtomicPtrCache< std::vector< DetId > > m_emptyIds
unsigned int detId2denseId(const DetId &id) const override
return a linear packed id
unsigned int sizeForDenseIndex(const DetId &id) const override
std::vector< CCGFloat > TrVec
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.
HcalAlignmentRcd AlignmentRecord
std::vector< IdealObliquePrism > HECellVec
std::vector< Pt3D > Pt3DVec
int phiBin(HcalSubdetector bc, int etaring, double phi) const
unsigned int getNumberOfShapes() const
void newCellFast(const GlobalPoint &f1, const GlobalPoint &f2, const GlobalPoint &f3, const CCGFloat *parm, const DetId &detId)
CaloCellGeometry::Pt3DVec Pt3DVec
CaloCellGeometry::CornersVec getCorners(const DetId &id) const
void getSummary(CaloSubdetectorGeometry::TrVec &trVector, CaloSubdetectorGeometry::IVec &iVector, CaloSubdetectorGeometry::DimVec &dimVector, CaloSubdetectorGeometry::IVec &dinsVector) const override
std::vector< IdealObliquePrism > HOCellVec
unsigned int indexFor(const DetId &id) const override
static unsigned int numberOfOuterAlignments()
static DetId detIdFromForwardAlignmentIndex(unsigned int i)
static unsigned int alignmentTransformIndexGlobal(const DetId &id)
static unsigned int alignmentBarrelIndexLocal(const DetId &id)
unsigned int numberOfParametersPerShape() const override
CaloCellGeometry::CCGFloat CCGFloat
static DetId detIdFromBarrelAlignmentIndex(unsigned int i)
static DetId detIdFromLocalAlignmentIndex(unsigned int i)
CaloSubdetectorGeometry::IVec m_dins
HcalGeometry(const HcalTopology &topology)
HcalGeometryRecord AlignedRecord
unsigned int ncells() const override
return a count of valid cells (for dense indexing use)
void localCorners(Pt3DVec &lc, const CCGFloat *pv, unsigned int i, Pt3D &ref)
CaloSubdetectorGeometry::DetIdSet getCells(const GlobalPoint &r, double dR) const override
Get a list of all cells within a dR of the given cell.
int etaRing(HcalSubdetector bc, double abseta) const
helper methods for getClosestCell
static unsigned int alignmentOuterIndexLocal(const DetId &id)
CaloCellGeometry::Pt3D Pt3D
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()
unsigned int numberOfShapes() const override
CaloCellGeometry::CCGFloat CCGFloat
unsigned int getHxSize(const int type) const
CaloCellGeometry::Pt3DVec Pt3DVec
HepGeom::Point3D< CCGFloat > Pt3D
std::vector< IdealObliquePrism > HBCellVec
const CaloCellGeometry * getGeometryRawPtr(uint32_t index) const override
void increaseReserve(unsigned int extra)
edm::AtomicPtrCache< std::vector< DetId > > m_hfIds
GlobalPoint getPosition(const DetId &id) const
void newCell(const GlobalPoint &f1, const GlobalPoint &f2, const GlobalPoint &f3, const CCGFloat *parm, const DetId &detId) override
static unsigned int numberOfForwardAlignments()
static unsigned int alignmentForwardIndexLocal(const DetId &id)
virtual std::shared_ptr< const CaloCellGeometry > cellGeomPtr(uint32_t index) 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()
const HcalTopology & topology() const