1 #ifndef EcalEndcapGeometry_h
2 #define EcalEndcapGeometry_h
23 typedef std::vector<TruncatedPyramid>
CellVec ;
44 enum { k_NumberOfShapes = 1 } ;
46 enum { k_NumberOfParametersPerShape = 11 } ;
54 EcalEndcapGeometry() ;
56 virtual ~EcalEndcapGeometry();
66 const OrderedListOfEBDetId* getClosestBarrelCells(
EEDetId id )
const ;
75 CCGFloat avgAbsZFrontFaceCenter()
const ;
83 static unsigned int alignmentTransformIndexLocal(
const DetId&
id ) ;
85 static unsigned int alignmentTransformIndexGlobal(
const DetId&
id ) ;
87 static DetId detIdFromLocalAlignmentIndex(
unsigned int iLoc ) ;
89 static void localCorners(
Pt3DVec& lc ,
98 const DetId& detId ) ;
106 static int myPhi(
int i ) { i+=720;
return ( 1 + (i-1)%360 ) ; }
116 CCGFloat m_wref, m_xlo[2], m_xhi[2], m_ylo[2], m_yhi[2], m_xoff[2], m_yoff[2], m_del ;
123 EEDetId gId(
float x,
float y,
float z )
const ;
130 mutable std::atomic<bool> m_check;
static std::string producerTag()
std::set< DetId > DetIdSet
virtual void initializeParms()
int _nnmods
number of modules
PEcalEndcapRcd PGeometryRecord
int getNumberOfModules() const
virtual void newCell(const GlobalPoint &f1, const GlobalPoint &f2, const GlobalPoint &f3, const CCGFloat *parm, const DetId &detId)=0
EEAlignmentRcd AlignmentRecord
static unsigned int numberOfAlignments()
std::vector< Pt3D > Pt3DVec
EcalEndcapGeometryRecord AlignedRecord
CaloCellGeometry::CCGFloat CCGFloat
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.
std::atomic< EZMgrFL< EBDetId > * > m_borderMgr
void setNumberOfModules(const int nnmods)
CaloCellGeometry::CCGFloat CCGFloat
std::vector< OrderedListOfEBDetId * > VecOrdListEBDetIdPtr
virtual const CaloCellGeometry * cellGeomPtr(uint32_t index) const =0
void setNumberOfCrystalPerModule(const int nncrys)
std::atomic< VecOrdListEBDetIdPtr * > m_borderPtrVec
virtual DetId getClosestCell(const GlobalPoint &r) const
CaloCellGeometry::Pt3D Pt3D
virtual unsigned int numberOfParametersPerShape() const
CaloCellGeometry::Pt3DVec Pt3DVec
std::vector< TruncatedPyramid > CellVec
CaloCellGeometry::Pt3DVec Pt3DVec
HepGeom::Point3D< CCGFloat > Pt3D
IdealGeometryRecord IdealRecord
A base class to handle the particular shape of Ecal Xtals. Taken from ORCA Calorimetry Code...
static std::string dbString()
EZArrayFL< EBDetId > OrderedListOfEBDetId
int getNumberOfCrystalPerModule() const
CaloCellGeometry::Pt3D Pt3D
int _nncrys
number of crystals per module
EcalEndcapNumberingScheme NumberingScheme
static std::string hitString()
Unlimited (trivial) bounds.