File indexing completed on 2023-03-17 13:03:00
0001 #ifndef Geometry_GEMGeometry_ME0Layer_h
0002 #define Geometry_GEMGeometry_ME0Layer_h
0003
0004 #include "Geometry/CommonDetUnit/interface/GeomDet.h"
0005 #include "DataFormats/MuonDetId/interface/ME0DetId.h"
0006
0007 class ME0EtaPartition;
0008
0009 class ME0Layer : public GeomDet {
0010 public:
0011
0012 ME0Layer(ME0DetId id, const ReferenceCountingPointer<BoundPlane>& plane);
0013
0014
0015 ~ME0Layer() override;
0016
0017
0018 ME0DetId id() const;
0019
0020
0021 SubDetector subDetector() const override { return GeomDetEnumerators::ME0; }
0022
0023
0024 bool operator==(const ME0Layer& ch) const;
0025
0026
0027 void add(const ME0EtaPartition* roll);
0028
0029
0030 std::vector<const GeomDet*> components() const override;
0031
0032
0033 const GeomDet* component(DetId id) const override;
0034
0035
0036 const ME0EtaPartition* etaPartition(ME0DetId id) const;
0037
0038 const ME0EtaPartition* etaPartition(int isl) const;
0039
0040
0041 const std::vector<const ME0EtaPartition*>& etaPartitions() const;
0042
0043
0044 int nEtaPartitions() const;
0045
0046 private:
0047 ME0DetId detId_;
0048
0049
0050 std::vector<const ME0EtaPartition*> etaPartitions_;
0051 };
0052 #endif