Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:15:26

0001 #ifndef Geometry_TrackerGeometryBuilder_StripGeomDetType_H
0002 #define Geometry_TrackerGeometryBuilder_StripGeomDetType_H
0003 
0004 #include "Geometry/CommonDetUnit/interface/GeomDetType.h"
0005 #include "Geometry/CommonTopologies/interface/StripTopology.h"
0006 #include <vector>
0007 
0008 /**
0009  * StripGeomDetType is the abstract class for SiStripGeomDetType.
0010  */
0011 class StripGeomDetType final : public GeomDetType {
0012 public:
0013   typedef StripTopology TopologyType;
0014 
0015   StripGeomDetType(TopologyType* t, std::string const& name, SubDetector& det, bool stereo)
0016       : GeomDetType(name, det), theTopology(t), theStereoFlag(stereo) {}
0017 
0018   ~StripGeomDetType() 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   void setTopology(TopologyType* topol);
0026 
0027   bool isStereo() const { return theStereoFlag; }
0028 
0029 private:
0030   TopologyType* theTopology;
0031   bool theStereoFlag;
0032 };
0033 
0034 #endif  // StripGeomDetType_H