CMS 3D CMS Logo

EcalTBHodoscopeGeometry.h
Go to the documentation of this file.
1 #ifndef Geometry_EcalTestBeam_EcalTBHodoscopeGeometry_HH
2 #define Geometry_EcalTestBeam_EcalTBHodoscopeGeometry_HH
3 
6 
7 #include <vector>
8 
10 {
11 
12  public:
13 
14  typedef std::vector<PreshowerStrip> CellVec ;
15 
19 
22 
23  virtual void newCell( const GlobalPoint& f1 ,
24  const GlobalPoint& f2 ,
25  const GlobalPoint& f3 ,
26  const CCGFloat* parm ,
27  const DetId& detId ) ;
28 
29  static float getFibreLp( int plane, int fibre ) ;
30 
31  static float getFibreRp( int plane, int fibre ) ;
32 
33  static std::vector<int> getFiredFibresInPlane( float xtr, int plane ) ;
34 
35  static int getNPlanes() ;
36 
37  static int getNFibres() ;
38 
39  protected:
40 
41  virtual const CaloCellGeometry* cellGeomPtr( uint32_t index ) const ;
42 
43  private:
44 
45  struct fibre_pos
46  {
47  float lp, rp ;
48  };
49 
50  static const int nPlanes_=4;
51  static const int nFibres_=64;
52  static const fibre_pos fibrePos_[ nPlanes_ ][ nFibres_ ] ;
53 
54  CellVec m_cellVec ;
55 };
56 
57 #endif
CaloCellGeometry::Pt3D Pt3D
std::vector< Pt3D > Pt3DVec
static float getFibreLp(int plane, int fibre)
CaloCellGeometry::CCGFloat CCGFloat
static std::vector< int > getFiredFibresInPlane(float xtr, int plane)
Definition: DetId.h:18
HepGeom::Point3D< CCGFloat > Pt3D
virtual void newCell(const GlobalPoint &f1, const GlobalPoint &f2, const GlobalPoint &f3, const CCGFloat *parm, const DetId &detId)
CaloCellGeometry::Pt3DVec Pt3DVec
static const fibre_pos fibrePos_[nPlanes_][nFibres_]
static float getFibreRp(int plane, int fibre)
std::vector< PreshowerStrip > CellVec
virtual const CaloCellGeometry * cellGeomPtr(uint32_t index) const