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 public:
11  typedef std::vector<PreshowerStrip> CellVec;
12 
16 
18  ~EcalTBHodoscopeGeometry() override;
19 
20  void newCell(const GlobalPoint& f1,
21  const GlobalPoint& f2,
22  const GlobalPoint& f3,
23  const CCGFloat* parm,
24  const DetId& detId) override;
25 
26  static float getFibreLp(int plane, int fibre);
27 
28  static float getFibreRp(int plane, int fibre);
29 
30  static std::vector<int> getFiredFibresInPlane(float xtr, int plane);
31 
32  static int getNPlanes();
33 
34  static int getNFibres();
35 
36 protected:
37  // Modify the RawPtr class
38  const CaloCellGeometry* getGeometryRawPtr(uint32_t index) const override;
39 
40 private:
41  struct fibre_pos {
42  float lp, rp;
43  };
44 
45  static const int nPlanes_ = 4;
46  static const int nFibres_ = 64;
48 
50 };
51 
52 #endif
CaloCellGeometry::Pt3D Pt3D
std::vector< Pt3D > Pt3DVec
CaloCellGeometry::CCGFloat CCGFloat
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:17
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
const CaloCellGeometry * getGeometryRawPtr(uint32_t index) const override