File indexing completed on 2024-04-06 12:14:26
0001 #ifndef DTLAYER_H
0002 #define DTLAYER_H
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016 #include "Geometry/CommonDetUnit/interface/GeomDet.h"
0017
0018
0019 #include "DataFormats/MuonDetId/interface/DTLayerId.h"
0020 #include "Geometry/DTGeometry/interface/DTTopology.h"
0021 #include "Geometry/DTGeometry/interface/DTLayerType.h"
0022 class DTSuperLayer;
0023 class DTChamber;
0024
0025 class DTLayer : public GeomDetUnit {
0026 public:
0027
0028 DTLayer(const DTLayerId& id,
0029 ReferenceCountingPointer<BoundPlane>& plane,
0030 const DTTopology& topo,
0031 const DTLayerType& type,
0032 const DTSuperLayer* sl = nullptr);
0033
0034
0035 ~DTLayer() override;
0036
0037
0038 const Topology& topology() const override;
0039
0040 const GeomDetType& type() const override;
0041
0042 const DTTopology& specificTopology() const;
0043
0044
0045 DTLayerId id() const;
0046
0047
0048
0049 const DTSuperLayer* superLayer() const;
0050
0051
0052
0053 const DTChamber* chamber() const;
0054
0055
0056 bool operator==(const DTLayer& l) const;
0057
0058
0059 std::vector<const GeomDet*> components() const override;
0060
0061 private:
0062 DTLayerId theId;
0063 DTTopology theTopo;
0064 DTLayerType theType;
0065
0066 const DTSuperLayer* theSL;
0067
0068 protected:
0069 };
0070 #endif