CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
EcalPreshowerGeometry.h
Go to the documentation of this file.
1 #ifndef EcalPreshowerGeometry_h
2 #define EcalPreshowerGeometry_h
3 
11 #include <vector>
12 
14 {
15  public:
16 
21 
25  typedef ESDetId DetIdType ;
26 
28 
29  enum { k_NumberOfShapes = 2 } ;
30 
32 
33  static std::string dbString() { return "PEcalPreshowerRcd" ; }
34 
35  virtual unsigned int numberOfShapes() const { return k_NumberOfShapes ; }
36  virtual unsigned int numberOfParametersPerShape() const { return k_NumberOfParametersPerShape ; }
37 
39 
41  virtual ~EcalPreshowerGeometry();
42 
43  void setzPlanes( float z1minus,
44  float z2minus,
45  float z1plus,
46  float z2plus ) ;
47 
48  // Get closest cell
49  virtual DetId getClosestCell( const GlobalPoint& r ) const ;
50 
51 
52  // Get closest cell in arbitrary plane (1 or 2)
53  virtual DetId getClosestCellInPlane( const GlobalPoint& r ,
54  int plane ) const ;
55 
56 
57  virtual void initializeParms() ;
58  virtual unsigned int numberOfTransformParms() const { return 3 ; }
59 
60  static std::string hitString() { return "EcalHitsES" ; }
61 
62  static std::string producerTag() { return "EcalPreshower" ; }
63 
64  static unsigned int numberOfAlignments() { return 8 ; }
65 
66  static unsigned int alignmentTransformIndexLocal( const DetId& id ) ;
67 
68  static unsigned int alignmentTransformIndexGlobal( const DetId& id ) ;
69 
70  static DetId detIdFromLocalAlignmentIndex( unsigned int iLoc ) ;
71 
72  static std::vector<HepGeom::Point3D<double> > localCorners( const double* pv,
73  unsigned int i,
74  HepGeom::Point3D<double> & ref ) ;
75 
76  static CaloCellGeometry* newCell( const GlobalPoint& f1 ,
77  const GlobalPoint& f2 ,
78  const GlobalPoint& f3 ,
80  const double* parm ,
81  const DetId& detId ) ;
82 
83  private:
84 
85  const double m_xWidWaf ;
86  const double m_xInterLadGap ;
87  const double m_xIntraLadGap ;
88 
89  const double m_yWidAct ;
90  const double m_yCtrOff ;
91 
92  double m_zplane[4];
93 };
94 
95 
96 #endif
97 
virtual unsigned int numberOfShapes() const
int i
Definition: DBlmapReader.cc:9
static std::string hitString()
IdealGeometryRecord IdealRecord
void setzPlanes(float z1minus, float z2minus, float z1plus, float z2plus)
static std::string dbString()
PEcalPreshowerRcd PGeometryRecord
virtual DetId getClosestCell(const GlobalPoint &r) const
EcalPreshowerNumberingScheme NumberingScheme
static std::string producerTag()
virtual unsigned int numberOfParametersPerShape() const
static std::vector< HepGeom::Point3D< double > > localCorners(const double *pv, unsigned int i, HepGeom::Point3D< double > &ref)
static DetId detIdFromLocalAlignmentIndex(unsigned int iLoc)
virtual DetId getClosestCellInPlane(const GlobalPoint &r, int plane) const
static unsigned int alignmentTransformIndexLocal(const DetId &id)
CaloSubdetectorGeometry::ParVecVec ParVecVec
static unsigned int numberOfAlignments()
virtual ~EcalPreshowerGeometry()
The EcalPreshowerGeometry will delete all its cell geometries at destruction time.
Definition: DetId.h:20
CaloCellGeometry::ParVecVec ParVecVec
Definition: EZMgrFL.h:8
static CaloCellGeometry * newCell(const GlobalPoint &f1, const GlobalPoint &f2, const GlobalPoint &f3, CaloCellGeometry::CornersMgr *mgr, const double *parm, const DetId &detId)
EcalPreshowerGeometryRecord AlignedRecord
static unsigned int alignmentTransformIndexGlobal(const DetId &id)
virtual unsigned int numberOfTransformParms() const
CaloSubdetectorGeometry::ParVec ParVec