1 #ifndef GeometryHGCalGeometryHGCalGeometry_h
2 #define GeometryHGCalGeometryHGCalGeometry_h
61 const DetId& detId)
override;
64 std::shared_ptr<const CaloCellGeometry>
getGeometry(
const DetId&
id)
const override;
123 std::shared_ptr<const CaloCellGeometry>
cellGeomPtr(uint32_t
index)
const override;
136 static constexpr
double k_fac2 = 1.0 / 3.0;
static constexpr unsigned int k_NumberOfShapes
std::vector< DetId > m_validGeomIds
DetId getClosestCellHex(const GlobalPoint &r, bool extend) const
~HGCalGeometry() override=default
std::vector< CCGFloat > DimVec
std::vector< FlatHexagon > CellVec
std::string cellElement() const
unsigned int sizeForDenseIndex() const
unsigned int getClosestCellIndex(const GlobalPoint &r) const
DetId neighborZ(const DetId &idin, const GlobalVector &p) const
CornersVec getNewCorners(const DetId &id, bool debug=false) const
const HGCalTopology & m_topology
static std::string producerTag()
std::vector< unsigned int > IVec
const std::vector< DetId > & getValidGeomDetIds(void) const
bool present(const DetId &id) const override
is this detid present in the geometry?
void newCell(const GlobalPoint &f1, const GlobalPoint &f2, const GlobalPoint &f3, const CCGFloat *parm, const DetId &detId) override
std::vector< GlobalPoint > CornersVec
std::vector< CCGFloat > TrVec
HGCalGeometryRecord AlignedRecord
static constexpr double k_fac2
double getArea(const DetId &detid) const
Returns area of a cell.
std::vector< Pt3D > Pt3DVec
CornersVec getCorners(const DetId &id) const
Returns the corner points of this cell's volume.
static constexpr double k_half
CaloCellGeometry::Pt3DVec Pt3DVec
static constexpr double k_fac1
HGCalGeometry(const HGCalTopology &topology)
DetId getClosestCell(const GlobalPoint &r) const override
void initializeParms() override
static constexpr unsigned int k_NumberOfParametersPerShape
std::vector< DetId > m_validIds
const HGCalTopology & topology() const
DetIdSet getCells(const GlobalPoint &r, double dR) const override
Get a list of all cells within a dR of the given cell.
static std::string dbString()
static constexpr unsigned int k_NumberOfParametersPerTrd
unsigned int indexFor(const DetId &id) const override
std::set< DetId > DetIdSet
CaloCellGeometry::CCGFloat CCGFloat
const CaloCellGeometry * getGeometryRawPtr(uint32_t index) const override
CornersVec get8Corners(const DetId &id) const
void localCorners(Pt3DVec &lc, const CCGFloat *pv, unsigned int i, Pt3D &ref)
CaloCellGeometry::Pt3D Pt3D
static constexpr unsigned int k_NumberOfParametersPerHex
GlobalPoint getWaferPosition(const DetId &id) const
ForwardSubdetector m_subdet
std::vector< FlatTrd > CellVec2
static constexpr unsigned int k_NumberOfShapesTrd
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.
CaloCellGeometry::Pt3DVec Pt3DVec
HepGeom::Point3D< CCGFloat > Pt3D
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)
CaloCellGeometry::Pt3D Pt3D
std::shared_ptr< const CaloCellGeometry > cellGeomPtr(uint32_t index) const override
PHGCalRcd PGeometryRecord
GlobalPoint getPosition(const DetId &id, bool debug=false) const
virtual void fillNamedParams(DDFilteredView fv)
void getSummary(CaloSubdetectorGeometry::TrVec &trVector, CaloSubdetectorGeometry::IVec &iVector, CaloSubdetectorGeometry::DimVec &dimVector, CaloSubdetectorGeometry::IVec &dinsVector) const override
void addValidID(const DetId &id)
virtual unsigned int sizeForDenseIndex(const DetId &id) const
DetId getGeometryDetId(DetId detId) const
CaloCellGeometry::CCGFloat CCGFloat