17 m_cellVec(k_NumberOfCellsForCorners) {}
20 : theTopology(topology),
23 m_ownsTopology(
false),
24 m_cellVec(k_NumberOfCellsForCorners) {}
34 for (
auto detId : detIds) {
36 if (
nullptr != cell && cell->inside(r)) {
78 return (
m_cellVec.size() < index ||
nullptr == cell->
param() ?
nullptr : cell);
DetId getClosestCell(const GlobalPoint &r) const override
static unsigned int alignmentTransformIndexLocal(const DetId &id)
std::vector< Pt3D > Pt3DVec
CaloCellGeometry::CCGFloat CCGFloat
virtual const std::vector< DetId > & getValidDetIds(DetId::Detector det=DetId::Detector(0), int subdet=0) const
Get a list of valid detector ids (for the given subdetector)
const CastorTopology * theTopology
const CCGFloat * param() const
CaloCellGeometry::CCGFloat CCGFloat
~CastorGeometry() override
uint32_t denseIndex() const
CaloCellGeometry::Pt3D Pt3D
CaloCellGeometry::Pt3DVec Pt3DVec
void addValidID(const DetId &id)
virtual std::shared_ptr< const CaloCellGeometry > getGeometry(const DetId &id) const
Get the cell geometry of a given detector id. Should return false if not found.
CaloCellGeometry::CornersMgr * cornersMgr()
void newCell(const GlobalPoint &f1, const GlobalPoint &f2, const GlobalPoint &f3, const CCGFloat *parm, const DetId &detId) override
CaloCellGeometry::Pt3DVec Pt3DVec
HepGeom::Point3D< CCGFloat > Pt3D
CaloCellGeometry::Pt3D Pt3D
static void localCorners(Pt3DVec &lc, const CCGFloat *pv, unsigned int i, Pt3D &ref)
static unsigned int alignmentTransformIndexGlobal(const DetId &id)
static void localCorners(Pt3DVec &vec, const CCGFloat *pv, Pt3D &ref)
const CaloCellGeometry * getGeometryRawPtr(uint32_t index) const override