Analysis Software
Documentation for sPHENIX simulation software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
MicromegasGeometry.h
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file MicromegasGeometry.h
1 #ifndef TPOT_TPOTMONGEOMETRY_H
2 #define TPOT_TPOTMONGEOMETRY_H
3 
5 
6 #include <cstddef>
7 #include <string>
8 #include <vector>
9 #include <map>
10 
12 
17 {
18  public:
19 
20  using point_t = std::pair<double, double>;
21  using point_list_t = std::vector<point_t>;
22 
25 
27  size_t get_ntiles() const
28  { return m_tile_centers.size(); }
29 
31  point_t get_tile_center( size_t tile_id ) const
32  { return m_tile_centers[tile_id]; }
33 
35  std::string get_detname_sphenix( size_t tile_id ) const
36  { return m_detnames_sphenix[tile_id]; }
37 
39  point_list_t get_tile_boundaries( size_t /* tile_id */ ) const;
40 
42 
43  point_list_t get_resist_boundaries( size_t /* tile_id */, size_t /* resist_id */, MicromegasDefs::SegmentationType ) const;
44 
46  static constexpr double m_tile_length = 54.2; // cm
47  static constexpr double m_tile_width = 31.6; // cm
48 
50  static constexpr double m_pitch_z = 0.2;
51 
53  static constexpr double m_pitch_phi = 0.1;
54 
56  static constexpr int m_nresist = 4;
57 
58  private:
59 
61 
63 
65  std::vector<std::string> m_detnames_sphenix;
66 
67 };
68 
69 #endif