CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
EcalTBHodoscopeGeometry.h
Go to the documentation of this file.
1 #ifndef Geometry_EcalTestBeam_EcalTBHodoscopeGeometry_HH
2 #define Geometry_EcalTestBeam_EcalTBHodoscopeGeometry_HH
3 
4 #include <vector>
5 
7 
8  public:
9 
12 
13  float getFibreLp(const int& plane, const int& fibre) const
14  {
15  if (plane < nPlanes_ && fibre < nFibres_ )
16  return fibrePos_[plane][fibre].lp;
17  else
18  return -99999.;
19  }
20 
21  float getFibreRp(const int& plane, const int& fibre) const
22  {
23  if (plane < nPlanes_ && fibre < nFibres_ )
24  return fibrePos_[plane][fibre].rp;
25  else
26  return -99999.;
27  }
28 
29  std::vector<int> getFiredFibresInPlane(const float& xtr, const int& plane) const;
30 
31  int getNPlanes() const
32  {
33  return nPlanes_;
34  }
35 
36  int getNFibres() const
37  {
38  return nFibres_;
39  }
40 
41  private:
42 
43  struct fibre_pos {
44  float lp, rp;
45  };
46 
47  static const int nPlanes_=4;
48  static const int nFibres_=64;
50 
51 };
52 
53 #endif
std::vector< int > getFiredFibresInPlane(const float &xtr, const int &plane) const
float getFibreLp(const int &plane, const int &fibre) const
float getFibreRp(const int &plane, const int &fibre) const
static const fibre_pos fibrePos_[nPlanes_][nFibres_]