Back to home page

Project CMSSW displayed by LXR

 
 

    


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  * Generic DetType for the Pixels. Specialized in SiPixelGeomDetType.
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   // Access to topologies
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  // PixelGeomDetType_H