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