CMS 3D CMS Logo

BoundDisk.h
Go to the documentation of this file.
1 #ifndef Geom_BoundDisk_H
2 #define Geom_BoundDisk_H
3 
6 
19 class Disk final : public Plane {
20 public:
21 
22  /*
23  template<typename... Args>
24  Disk(Args&& ... args) :
25  Plane(std::forward<Args>(args)...){}
26  */
27 
29  Plane(pos,rot, bounds){}
30 
32  Plane(pos,rot, bounds.clone()){}
33 
38 
39  template<typename... Args>
40  static DiskPointer build(Args&& ... args) {
41  return DiskPointer(new Disk(std::forward<Args>(args)...));
42  }
43 
44 
45  ~Disk() override {}
46 
47 
48  // -- DEPRECATED CONSTRUCTORS
49 
50 
51 
52  // -- Extension of the Surface interface for disk
53 
55  float innerRadius() const { return static_cast<const SimpleDiskBounds&>(bounds()).innerRadius();}
56 
58  float outerRadius() const { return static_cast<const SimpleDiskBounds&>(bounds()).outerRadius();}
59 
60 
61 };
63 
64 #endif // Geom_BoundDisk_H
Disk(const PositionType &pos, const RotationType &rot, SimpleDiskBounds const &bounds)
Definition: BoundDisk.h:31
ConstReferenceCountingPointer< Disk > ConstBoundDiskPointer
Definition: BoundDisk.h:37
const Bounds & bounds() const
Definition: Surface.h:120
float outerRadius() const
The outer radius of the disk.
Definition: BoundDisk.h:58
Definition: Plane.h:17
Definition: BoundDisk.h:19
ConstReferenceCountingPointer< Disk > ConstDiskPointer
Definition: BoundDisk.h:35
static DiskPointer build(Args &&...args)
Definition: BoundDisk.h:40
ReferenceCountingPointer< Disk > BoundDiskPointer
Definition: BoundDisk.h:36
TEveGeoShape * clone(const TEveElement *element, TEveElement *parent)
Definition: eve_macros.cc:135
~Disk() override
Definition: BoundDisk.h:45
float innerRadius() const
The inner radius of the disk.
Definition: BoundDisk.h:55
ReferenceCountingPointer< Disk > DiskPointer
Definition: BoundDisk.h:34
Disk(const PositionType &pos, const RotationType &rot, SimpleDiskBounds *bounds)
Definition: BoundDisk.h:28