Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2023-10-25 09:49:59

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 #include <memory>
0008 
0009 /**
0010  * Generic DetType for the MTD. 
0011  */
0012 
0013 class MTDGeomDetType final : public GeomDetType {
0014 public:
0015   using TopologyType = PixelTopology;
0016 
0017   MTDGeomDetType(TopologyType* t, std::string const& name, SubDetector& det) : GeomDetType(name, det), theTopology(t) {}
0018 
0019   ~MTDGeomDetType() override {}
0020 
0021   // Access to topologies
0022   const Topology& topology() const override { return *theTopology; }
0023 
0024   virtual const TopologyType& specificTopology() const { return *theTopology; }
0025 
0026   MTDGeomDetType& operator=(const MTDGeomDetType& other) = delete;
0027   MTDGeomDetType(const MTDGeomDetType& other) = delete;
0028 
0029 private:
0030   // take ownership of the topology when passed through constructor
0031   std::unique_ptr<TopologyType> theTopology;
0032 };
0033 
0034 #endif  // PixelGeomDetType_H