CMS 3D CMS Logo

StripGeomDetUnit.h
Go to the documentation of this file.
1 #ifndef Geometry_TrackerGeometryBuilder_StripGeomDetUnit_H
2 #define Geometry_TrackerGeometryBuilder_StripGeomDetUnit_H
3 
7 
8 class StripGeomDetType;
9 class StripTopology;
10 class SurfaceDeformation;
15 class StripGeomDetUnit final : public TrackerGeomDet {
16 public:
18 
19  // Det interface
20 
27  const GeomDetType& type() const override;
28 
30  const Topology& topology() const override;
31 
38  virtual StripGeomDetType const& specificType() const;
39 
41  virtual const StripTopology& specificTopology() const;
42 
44  const SurfaceDeformation* surfaceDeformation() const override { return theTopology->surfaceDeformation(); }
45 
46  bool isLeaf() const override { return true; }
47 
48 private:
50  void setSurfaceDeformation(const SurfaceDeformation* deformation) override;
51 
52  std::unique_ptr<ProxyStripTopology> theTopology;
53 };
54 
55 #endif // Tracker_StripGeomDetUnit_H
bool isLeaf() const override
is a Unit
StripGeomDetUnit(BoundPlane *sp, StripGeomDetType const *type, DetId id)
std::unique_ptr< ProxyStripTopology > theTopology
virtual const StripTopology & specificTopology() const
Returns a reference to the strip proxy topology.
const Topology & topology() const override
Returns a reference to the strip proxy topology.
virtual StripGeomDetType const & specificType() const
Definition: DetId.h:17
const SurfaceDeformation * surfaceDeformation() const override
Return pointer to surface deformation.
const GeomDetType & type() const override
void setSurfaceDeformation(const SurfaceDeformation *deformation) override
set the SurfaceDeformation for this StripGeomDetUnit to proxy topology.