1 #ifndef GEOMETRY_CALOGEOMETRY_CALOSUBDETECTORGEOMETRY_H 2 #define GEOMETRY_CALOGEOMETRY_CALOSUBDETECTORGEOMETRY_H 1 7 #if !defined(__CINT__) && !defined(__MAKECINT__) && !defined(__REFLEX__) 28 typedef std::vector<std::shared_ptr<const CaloCellGeometry> >
CellSet;
38 typedef std::vector<CCGFloat>
TrVec ;
39 typedef std::vector<unsigned int>
IVec ;
40 typedef std::vector<CCGFloat>
DimVec ;
54 const CCGFloat* parm ,
55 const DetId& detId ) = 0 ;
61 virtual std::shared_ptr<const CaloCellGeometry>
getGeometry(
const DetId&
id)
const;
106 IVec& dinsVector )
const;
116 virtual std::shared_ptr<const CaloCellGeometry>
cellGeomPtr( uint32_t index )
const;
136 #if !defined(__CINT__) && !defined(__MAKECINT__) && !defined(__REFLEX__) virtual const CaloCellGeometry * getGeometryRawPtr(uint32_t index) const =0
CaloCellGeometry::CornersMgr * m_cmgr
std::set< DetId > DetIdSet
virtual void initializeParms()
std::vector< CCGFloat > DimVec
std::vector< ParVec > ParVecVec
virtual unsigned int numberOfParametersPerShape() const
CaloSubdetectorGeometry & operator=(const CaloSubdetectorGeometry &)=delete
virtual void newCell(const GlobalPoint &f1, const GlobalPoint &f2, const GlobalPoint &f3, const CCGFloat *parm, const DetId &detId)=0
const ParMgr * parMgrConst() const
CCGFloat deltaPhi(const DetId &detId) const
MgrType::size_type size_type
std::vector< unsigned int > IVec
std::vector< CCGFloat > TrVec
virtual void fillDefaultNamedParameters() const
CCGFloat deltaEta(const DetId &detId) const
CaloCellGeometry::CCGFloat CCGFloat
void allocatePar(ParVec::size_type n, unsigned int m)
virtual CellSet getCellSet(const GlobalPoint &r, double dR) const
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)
std::vector< std::shared_ptr< const CaloCellGeometry > > CellSet
virtual void getSummary(TrVec &trVector, IVec &iVector, DimVec &dimVector, IVec &dinsVector) const
virtual bool present(const DetId &id) const
is this detid present in the geometry?
virtual std::shared_ptr< const CaloCellGeometry > cellGeomPtr(uint32_t index) const
virtual DetIdSet getCells(const GlobalPoint &r, double dR) const
Get a list of all cells within a dR of the given cell.
virtual unsigned int numberOfShapes() const
std::vector< DetId > m_validIds
std::atomic< std::vector< CCGFloat > * > m_deltaPhi
CaloCellGeometry::ParVec ParVec
constexpr auto deltaR(const T1 &t1, const T2 &t2) -> decltype(t1.eta())
CaloSubdetectorGeometry()
virtual DetId getClosestCell(const GlobalPoint &r) const
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()
CaloCellGeometry::ParVecVec ParVecVec
const ParVecVec & parVecVec() const
CaloCellGeometry::ParMgr ParMgr
static CCGFloat deltaR(const GlobalPoint &p1, const GlobalPoint &p2)
virtual unsigned int indexFor(const DetId &id) const
virtual ~CaloSubdetectorGeometry()
The base class DOES assume that it owns the CaloCellGeometry objects.
void allocateCorners(CaloCellGeometry::CornersVec::size_type n)
std::atomic< std::vector< CCGFloat > * > m_deltaEta
virtual unsigned int numberOfTransformParms() const
virtual unsigned int sizeForDenseIndex(const DetId &id) const