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  template<typename... Args>
23  Disk(Args&& ... args) :
24  Plane(std::forward<Args>(args)...){}
25  */
26 
27  Disk(const PositionType& pos, const RotationType& rot, SimpleDiskBounds* bounds) : Plane(pos, rot, bounds) {}
28 
30  : Plane(pos, rot, bounds.clone()) {}
31 
36 
37  template <typename... Args>
38  static DiskPointer build(Args&&... args) {
39  return DiskPointer(new Disk(std::forward<Args>(args)...));
40  }
41 
42  ~Disk() override {}
43 
44  // -- DEPRECATED CONSTRUCTORS
45 
46  // -- Extension of the Surface interface for disk
47 
49  float innerRadius() const { return static_cast<const SimpleDiskBounds&>(bounds()).innerRadius(); }
50 
52  float outerRadius() const { return static_cast<const SimpleDiskBounds&>(bounds()).outerRadius(); }
53 };
54 using BoundDisk = Disk;
55 
56 #endif // Geom_BoundDisk_H
Disk(const PositionType &pos, const RotationType &rot, SimpleDiskBounds const &bounds)
Definition: BoundDisk.h:29
ConstReferenceCountingPointer< Disk > ConstBoundDiskPointer
Definition: BoundDisk.h:35
const Bounds & bounds() const
Definition: Surface.h:89
float outerRadius() const
The outer radius of the disk.
Definition: BoundDisk.h:52
Definition: Plane.h:16
Definition: BoundDisk.h:19
ConstReferenceCountingPointer< Disk > ConstDiskPointer
Definition: BoundDisk.h:33
static DiskPointer build(Args &&...args)
Definition: BoundDisk.h:38
ReferenceCountingPointer< Disk > BoundDiskPointer
Definition: BoundDisk.h:34
TEveGeoShape * clone(const TEveElement *element, TEveElement *parent)
Definition: eve_macros.cc:135
~Disk() override
Definition: BoundDisk.h:42
float innerRadius() const
The inner radius of the disk.
Definition: BoundDisk.h:49
ReferenceCountingPointer< Disk > DiskPointer
Definition: BoundDisk.h:32
Disk(const PositionType &pos, const RotationType &rot, SimpleDiskBounds *bounds)
Definition: BoundDisk.h:27