File indexing completed on 2021-02-14 12:48:53
0001 #ifndef Geometry_MTDGeometryBuilder_MTDGeomDetType_H
0002 #define Geometry_MTDGeometryBuilder_MTDGeomDetType_H
0003
0004 #include "Geometry/CommonDetUnit/interface/GeomDetType.h"
0005 #include "Geometry/CommonTopologies/interface/PixelTopology.h"
0006
0007
0008
0009
0010
0011 class MTDGeomDetType final : public GeomDetType {
0012 public:
0013 using TopologyType = PixelTopology;
0014
0015 MTDGeomDetType(TopologyType* t, std::string const& name, SubDetector& det) : GeomDetType(name, det), theTopology(t) {}
0016
0017 ~MTDGeomDetType() override {}
0018
0019
0020 const Topology& topology() const override { return *theTopology; }
0021
0022 virtual const TopologyType& specificTopology() const { return *theTopology; }
0023
0024 MTDGeomDetType& operator=(const MTDGeomDetType& other) = delete;
0025 MTDGeomDetType(const MTDGeomDetType& other) = delete;
0026
0027 private:
0028
0029 std::unique_ptr<TopologyType> theTopology;
0030 };
0031
0032 #endif