File indexing completed on 2025-08-03 08:21:08
0001 #ifndef TPOT_TPOTMONGEOMETRY_H
0002 #define TPOT_TPOTMONGEOMETRY_H
0003
0004 #include <micromegas/MicromegasDefs.h>
0005
0006 #include <cstddef>
0007 #include <string>
0008 #include <vector>
0009 #include <map>
0010
0011
0012
0013
0014
0015
0016 class MicromegasGeometry
0017 {
0018 public:
0019
0020 using point_t = std::pair<double, double>;
0021 using point_list_t = std::vector<point_t>;
0022
0023
0024 MicromegasGeometry();
0025
0026
0027 size_t get_ntiles() const
0028 { return m_tile_centers.size(); }
0029
0030
0031 point_t get_tile_center( size_t tile_id ) const
0032 { return m_tile_centers[tile_id]; }
0033
0034
0035 std::string get_detname_sphenix( size_t tile_id ) const
0036 { return m_detnames_sphenix[tile_id]; }
0037
0038
0039 point_list_t get_tile_boundaries( size_t ) const;
0040
0041
0042
0043 point_list_t get_resist_boundaries( size_t , size_t , MicromegasDefs::SegmentationType ) const;
0044
0045
0046 static constexpr double m_tile_length = 54.2;
0047 static constexpr double m_tile_width = 31.6;
0048
0049
0050 static constexpr double m_pitch_z = 0.2;
0051
0052
0053 static constexpr double m_pitch_phi = 0.1;
0054
0055
0056 static constexpr int m_nresist = 4;
0057
0058 private:
0059
0060
0061
0062 point_list_t m_tile_centers;
0063
0064
0065 std::vector<std::string> m_detnames_sphenix;
0066
0067 };
0068
0069 #endif