Go to the documentation of this file.00001 #ifndef Geom_BoundDisk_H
00002 #define Geom_BoundDisk_H
00003
00004 #include "DataFormats/GeometrySurface/interface/BoundPlane.h"
00005
00020 class BoundDisk : public BoundPlane {
00021 public:
00022
00023 typedef ReferenceCountingPointer<BoundDisk> BoundDiskPointer;
00024 typedef ConstReferenceCountingPointer<BoundDisk> ConstBoundDiskPointer;
00025
00026
00029 static BoundDiskPointer build(const PositionType& pos,
00030 const RotationType& rot,
00031 Bounds* bounds,
00032 MediumProperties* mp=0) {
00033 return BoundDiskPointer(new BoundDisk(pos, rot, bounds, mp));
00034 }
00035
00036
00039 static BoundDiskPointer build(const PositionType& pos,
00040 const RotationType& rot,
00041 Bounds& bounds,
00042 MediumProperties* mp=0) {
00043 return BoundDiskPointer(new BoundDisk(pos, rot, &bounds, mp));
00044 }
00045
00046 virtual ~BoundDisk() {}
00047
00048
00049
00050
00054 BoundDisk(const PositionType& pos,
00055 const RotationType& rot,
00056 Bounds* bounds) :
00057 Surface(pos,rot), BoundPlane( pos, rot, bounds) {}
00058
00062 BoundDisk(const PositionType& pos,
00063 const RotationType& rot,
00064 const Bounds& bounds) :
00065 Surface(pos,rot), BoundPlane( pos, rot, bounds) {}
00066
00067
00068
00069
00071 float innerRadius() const;
00072
00074 float outerRadius() const;
00075
00076 protected:
00077
00078 BoundDisk(const PositionType& pos,
00079 const RotationType& rot,
00080 Bounds* bounds,
00081 MediumProperties* mp=0) :
00082 Surface(pos, rot, mp), BoundPlane(pos, rot, bounds, mp) {}
00083
00084 };
00085
00086
00087 #endif // Geom_BoundDisk_H