File indexing completed on 2023-03-17 13:02:59
0001 #ifndef Geometry_GEMGeometry_GEMStation_h
0002 #define Geometry_GEMGeometry_GEMStation_h
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013 #include "Geometry/CommonDetUnit/interface/GeomDet.h"
0014 #include "DataFormats/MuonDetId/interface/GEMDetId.h"
0015 #include "Geometry/GEMGeometry/interface/GEMRing.h"
0016
0017 class GEMSuperChamber;
0018
0019 class GEMStation {
0020 public:
0021
0022 GEMStation(int region, int station);
0023
0024
0025 ~GEMStation();
0026
0027
0028 std::vector<GEMDetId> ids() const;
0029
0030
0031 bool operator==(const GEMStation& st) const;
0032
0033
0034 void add(GEMRing* ring);
0035
0036
0037 std::vector<const GeomDet*> components() const;
0038
0039
0040 const GeomDet* component(DetId id) const;
0041
0042
0043 const GEMSuperChamber* superChamber(GEMDetId id) const;
0044
0045
0046 std::vector<const GEMSuperChamber*> superChambers() const;
0047
0048
0049 const GEMRing* ring(int ring) const;
0050
0051
0052 const std::vector<const GEMRing*>& rings() const;
0053
0054
0055 int nRings() const;
0056
0057
0058 void setName(std::string name);
0059
0060
0061 const std::string getName() const;
0062
0063
0064 int region() const;
0065
0066
0067 int station() const;
0068
0069 private:
0070 int region_;
0071 int station_;
0072
0073
0074 std::vector<const GEMRing*> rings_;
0075 std::string name_;
0076 };
0077 #endif