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 
21  ~EcalTBHodoscopeGeometry() override ;
22 
23  void newCell( const GlobalPoint& f1 ,
24  const GlobalPoint& f2 ,
25  const GlobalPoint& f3 ,
26  const CCGFloat* parm ,
27  const DetId& detId ) override ;
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  // Modify the RawPtr class
42  const CaloCellGeometry* getGeometryRawPtr (uint32_t index) const override;
43 
44  private:
45 
46  struct fibre_pos
47  {
48  float lp, rp ;
49  };
50 
51  static const int nPlanes_=4;
52  static const int nFibres_=64;
53  static const fibre_pos fibrePos_[ nPlanes_ ][ nFibres_ ] ;
54 
55  CellVec m_cellVec ;
56 };
57 
58 #endif
CaloCellGeometry::Pt3D Pt3D
std::vector< Pt3D > Pt3DVec
static float getFibreLp(int plane, int fibre)
void newCell(const GlobalPoint &f1, const GlobalPoint &f2, const GlobalPoint &f3, const CCGFloat *parm, const DetId &detId) override
CaloCellGeometry::CCGFloat CCGFloat
static std::vector< int > getFiredFibresInPlane(float xtr, int plane)
Definition: DetId.h:18
const CaloCellGeometry * getGeometryRawPtr(uint32_t index) const override
HepGeom::Point3D< CCGFloat > Pt3D
CaloCellGeometry::Pt3DVec Pt3DVec
static const fibre_pos fibrePos_[nPlanes_][nFibres_]
static float getFibreRp(int plane, int fibre)
std::vector< PreshowerStrip > CellVec