CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
GeomDetUnit.h
Go to the documentation of this file.
1 #ifndef CommonDet_GeomDetUnit_H
2 #define CommonDet_GeomDetUnit_H
3 
7 
8 class Topology;
9 //class Readout;
10 class GeomDetType;
11 class SurfaceDeformation;
12 
13 class GeomDetUnit : public GeomDet {
14 public:
15 
16  explicit GeomDetUnit( Plane* sp);
17  explicit GeomDetUnit( const ReferenceCountingPointer<Plane>& plane);
18 
19  virtual ~GeomDetUnit();
20 
21  virtual const Topology& topology() const = 0;
22 
23  virtual const GeomDetType& type() const = 0;
24 
26  virtual std::vector< const GeomDet*> components() const {
27  return std::vector< const GeomDet*>();
28  }
29 
30  virtual const GeomDet* component(DetId /*id*/) const {return 0;}
31 
32  // Which subdetector
33  virtual SubDetector subDetector() const;
34 
37  virtual const SurfaceDeformation* surfaceDeformation() const { return 0; }
38 
39 private:
40 
42  friend class DetPositioner;
43 
47  virtual void setSurfaceDeformation(const SurfaceDeformation * deformation);
48 };
49 
50 #endif
51 
52 
53 
54 
virtual const SurfaceDeformation * surfaceDeformation() const
Definition: GeomDetUnit.h:37
Definition: Plane.h:17
virtual const Topology & topology() const =0
virtual ~GeomDetUnit()
Definition: GeomDetUnit.cc:11
virtual const GeomDet * component(DetId) const
Returns a component GeomDet given its DetId, if existing.
Definition: GeomDetUnit.h:30
GeomDetUnit(Plane *sp)
Definition: GeomDetUnit.cc:5
virtual const GeomDetType & type() const =0
virtual std::vector< const GeomDet * > components() const
DetUnit does not have components.
Definition: GeomDetUnit.h:26
Definition: DetId.h:18
virtual void setSurfaceDeformation(const SurfaceDeformation *deformation)
Definition: GeomDetUnit.cc:18
GeomDetEnumerators::SubDetector SubDetector
Definition: GeomDet.h:26
virtual SubDetector subDetector() const
Which subdetector.
Definition: GeomDetUnit.cc:14