CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
BoundDisk.h
Go to the documentation of this file.
1 #ifndef Geom_BoundDisk_H
2 #define Geom_BoundDisk_H
3 
6 
21 class BoundDisk : public BoundPlane {
22 public:
23 
26 
27 
31  const RotationType& rot,
32  Bounds* bounds,
33  MediumProperties* mp=0) {
34  return BoundDiskPointer(new BoundDisk(pos, rot, bounds, mp));
35  }
36 
37 
41  const RotationType& rot,
42  Bounds& bounds,
43  MediumProperties* mp=0) {
44  return BoundDiskPointer(new BoundDisk(pos, rot, &bounds, mp));
45  }
46 
47  virtual ~BoundDisk() {}
48 
49 
50  // -- DEPRECATED CONSTRUCTORS
51 
56  const RotationType& rot,
57  Bounds* bounds) :
58  Surface(pos,rot), BoundPlane( pos, rot, bounds) {}
59 
64  const RotationType& rot,
65  const Bounds& bounds) :
66  Surface(pos,rot), BoundPlane( pos, rot, bounds) {}
67 
68 
69  // -- Extension of the Surface interface for disk
70 
72  float innerRadius() const { return static_cast<const SimpleDiskBounds&>(bounds()).innerRadius();}
73 
75  float outerRadius() const { return static_cast<const SimpleDiskBounds&>(bounds()).outerRadius();}
76 
77  protected:
78  // Private constructor - use build() instead
80  const RotationType& rot,
81  Bounds* bounds,
82  MediumProperties* mp=0) :
83  Surface(pos, rot, mp), BoundPlane(pos, rot, bounds, mp) {}
84 
85 };
86 
87 
88 #endif // Geom_BoundDisk_H
ReferenceCountingPointer< BoundDisk > BoundDiskPointer
Definition: BoundDisk.h:24
virtual ~BoundDisk()
Definition: BoundDisk.h:47
static BoundDiskPointer build(const PositionType &pos, const RotationType &rot, Bounds *bounds, MediumProperties *mp=0)
Definition: BoundDisk.h:30
ConstReferenceCountingPointer< BoundDisk > ConstBoundDiskPointer
Definition: BoundDisk.h:25
BoundDisk(const PositionType &pos, const RotationType &rot, Bounds *bounds, MediumProperties *mp=0)
Definition: BoundDisk.h:79
static BoundDiskPointer build(const PositionType &pos, const RotationType &rot, Bounds &bounds, MediumProperties *mp=0)
Definition: BoundDisk.h:40
const Bounds & bounds() const
Definition: BoundSurface.h:89
BoundDisk(const PositionType &pos, const RotationType &rot, const Bounds &bounds)
Definition: BoundDisk.h:63
float outerRadius() const
The outer radius of the disk.
Definition: BoundDisk.h:75
float innerRadius() const
The inner radius of the disk.
Definition: BoundDisk.h:72
Definition: Bounds.h:18
BoundDisk(const PositionType &pos, const RotationType &rot, Bounds *bounds)
Definition: BoundDisk.h:55