1 #ifndef EcalBarrelGeometry_h
2 #define EcalBarrelGeometry_h
23 typedef std::vector<TruncatedPyramid>
CellVec ;
44 enum { k_NumberOfShapes = 17 } ;
46 enum { k_NumberOfParametersPerShape = 11 } ;
53 EcalBarrelGeometry() ;
55 virtual ~EcalBarrelGeometry();
69 void setEtaBaskets(
const std::vector<int>& EtaBaskets ) { _EtaBaskets=EtaBaskets ; }
73 const OrderedListOfEEDetId* getClosestEndcapCells(
EBDetId id )
const ;
81 CCGFloat avgRadiusXYFrontFaceCenter()
const ;
89 static unsigned int alignmentTransformIndexLocal(
const DetId&
id ) ;
91 static unsigned int alignmentTransformIndexGlobal(
const DetId&
id ) ;
93 static DetId detIdFromLocalAlignmentIndex(
unsigned int iLoc ) ;
95 static void localCorners(
Pt3DVec& lc ,
104 const DetId& detId ) ;
130 mutable std::atomic<
bool> m_check;
static std::string producerTag()
std::atomic< EZMgrFL< EEDetId > * > m_borderMgr
std::vector< OrderedListOfEEDetId * > VecOrdListEEDetIdPtr
std::set< DetId > DetIdSet
std::atomic< VecOrdListEEDetIdPtr * > m_borderPtrVec
void setEtaBaskets(const std::vector< int > &EtaBaskets)
int getNumXtalsEtaDirection() const
virtual void newCell(const GlobalPoint &f1, const GlobalPoint &f2, const GlobalPoint &f3, const CCGFloat *parm, const DetId &detId)=0
int getNumXtalsPhiDirection() const
static unsigned int numberOfAlignments()
std::vector< Pt3D > Pt3DVec
CaloCellGeometry::CCGFloat CCGFloat
void setBasketSizeInPhi(const int &PhiBaskets)
virtual unsigned int numberOfShapes() const
virtual DetIdSet getCells(const GlobalPoint &r, double dR) const
Get a list of all cells within a dR of the given cell.
EcalBarrelNumberingScheme NumberingScheme
EBAlignmentRcd AlignmentRecord
CaloCellGeometry::CCGFloat CCGFloat
std::vector< int > _EtaBaskets
void setNumXtalsEtaDirection(const int &nnxtalEta)
virtual const CaloCellGeometry * cellGeomPtr(uint32_t index) const =0
EZArrayFL< EEDetId > OrderedListOfEEDetId
virtual DetId getClosestCell(const GlobalPoint &r) const
CaloCellGeometry::Pt3D Pt3D
virtual unsigned int numberOfParametersPerShape() const
CaloCellGeometry::Pt3DVec Pt3DVec
PEcalBarrelRcd PGeometryRecord
void setNumXtalsPhiDirection(const int &nnxtalPhi)
std::vector< TruncatedPyramid > CellVec
CaloCellGeometry::Pt3DVec Pt3DVec
EcalBarrelGeometryRecord AlignedRecord
HepGeom::Point3D< CCGFloat > Pt3D
IdealGeometryRecord IdealRecord
static std::string dbString()
#define CMS_THREAD_GUARD(_var_)
CaloCellGeometry::Pt3D Pt3D
const std::vector< int > & getEtaBaskets() const
int getBasketSizeInPhi() const
static std::string hitString()
Unlimited (trivial) bounds.