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 
12 #include <vector>
13 
15 {
16  public:
17 
18  typedef std::vector<PreshowerStrip> CellVec ;
19 
23 
28 
32  typedef ESDetId DetIdType ;
33 
35 
36  enum { k_NumberOfShapes = 4 } ;
37 
39 
40  static std::string dbString() { return "PEcalPreshowerRcd" ; }
41 
42  virtual unsigned int numberOfShapes() const { return k_NumberOfShapes ; }
43  virtual unsigned int numberOfParametersPerShape() const { return k_NumberOfParametersPerShape ; }
44 
46 
48  virtual ~EcalPreshowerGeometry();
49 
50  void setzPlanes( CCGFloat z1minus,
51  CCGFloat z2minus,
52  CCGFloat z1plus,
53  CCGFloat z2plus ) ;
54 
55  // Get closest cell
56  virtual DetId getClosestCell( const GlobalPoint& r ) const ;
57 
58 
59  // Get closest cell in arbitrary plane (1 or 2)
60  virtual DetId getClosestCellInPlane( const GlobalPoint& r ,
61  int plane ) const ;
62 
63 
64  virtual void initializeParms() ;
65  virtual unsigned int numberOfTransformParms() const { return 3 ; }
66 
67  static std::string hitString() { return "EcalHitsES" ; }
68 
69  static std::string producerTag() { return "EcalPreshower" ; }
70 
71  static unsigned int numberOfAlignments() { return 8 ; }
72 
73  static unsigned int alignmentTransformIndexLocal( const DetId& id ) ;
74 
75  static unsigned int alignmentTransformIndexGlobal( const DetId& id ) ;
76 
77  static DetId detIdFromLocalAlignmentIndex( unsigned int iLoc ) ;
78 
79  static void localCorners( Pt3DVec& lc ,
80  const CCGFloat* pv ,
81  unsigned int i ,
82  Pt3D& ref ) ;
83 
84  virtual void newCell( const GlobalPoint& f1 ,
85  const GlobalPoint& f2 ,
86  const GlobalPoint& f3 ,
87  const CCGFloat* parm ,
88  const DetId& detId ) ;
89  protected:
90 
91  virtual const CaloCellGeometry* cellGeomPtr( uint32_t index ) const ;
92 
93  private:
94 
98 
101 
103 
105 };
106 
107 
108 #endif
109 
virtual unsigned int numberOfShapes() const
int i
Definition: DBlmapReader.cc:9
CaloCellGeometry::Pt3DVec Pt3DVec
static std::string hitString()
CaloCellGeometry::CCGFloat CCGFloat
CaloCellGeometry::Pt3D Pt3D
IdealGeometryRecord IdealRecord
static std::string dbString()
PEcalPreshowerRcd PGeometryRecord
void setzPlanes(CCGFloat z1minus, CCGFloat z2minus, CCGFloat z1plus, CCGFloat z2plus)
virtual DetId getClosestCell(const GlobalPoint &r) const
std::vector< Pt3D > Pt3DVec
EcalPreshowerNumberingScheme NumberingScheme
static std::string producerTag()
virtual unsigned int numberOfParametersPerShape() const
static DetId detIdFromLocalAlignmentIndex(unsigned int iLoc)
virtual void newCell(const GlobalPoint &f1, const GlobalPoint &f2, const GlobalPoint &f3, const CCGFloat *parm, const DetId &detId)
CaloCellGeometry::CCGFloat CCGFloat
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.
CaloCellGeometry::Pt3D Pt3D
Definition: DetId.h:20
std::vector< PreshowerStrip > CellVec
CaloCellGeometry::ParVecVec ParVecVec
CaloCellGeometry::Pt3DVec Pt3DVec
HepGeom::Point3D< CCGFloat > Pt3D
static void localCorners(Pt3DVec &lc, const CCGFloat *pv, unsigned int i, Pt3D &ref)
EcalPreshowerGeometryRecord AlignedRecord
virtual const CaloCellGeometry * cellGeomPtr(uint32_t index) const
static unsigned int alignmentTransformIndexGlobal(const DetId &id)
virtual unsigned int numberOfTransformParms() const
CaloSubdetectorGeometry::ParVec ParVec