File indexing completed on 2024-04-06 12:04:13
0001 #ifndef Geom_BoundDisk_H
0002 #define Geom_BoundDisk_H
0003
0004 #include "DataFormats/GeometrySurface/interface/Plane.h"
0005 #include "DataFormats/GeometrySurface/interface/SimpleDiskBounds.h"
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019 class Disk final : public Plane {
0020 public:
0021
0022
0023
0024
0025
0026
0027 Disk(const PositionType& pos, const RotationType& rot, SimpleDiskBounds* bounds) : Plane(pos, rot, bounds) {}
0028
0029 Disk(const PositionType& pos, const RotationType& rot, SimpleDiskBounds const& bounds)
0030 : Plane(pos, rot, bounds.clone()) {}
0031
0032 typedef ReferenceCountingPointer<Disk> DiskPointer;
0033 typedef ConstReferenceCountingPointer<Disk> ConstDiskPointer;
0034 typedef ReferenceCountingPointer<Disk> BoundDiskPointer;
0035 typedef ConstReferenceCountingPointer<Disk> ConstBoundDiskPointer;
0036
0037 template <typename... Args>
0038 static DiskPointer build(Args&&... args) {
0039 return DiskPointer(new Disk(std::forward<Args>(args)...));
0040 }
0041
0042 ~Disk() override {}
0043
0044
0045
0046
0047
0048
0049 float innerRadius() const { return static_cast<const SimpleDiskBounds&>(bounds()).innerRadius(); }
0050
0051
0052 float outerRadius() const { return static_cast<const SimpleDiskBounds&>(bounds()).outerRadius(); }
0053 };
0054 using BoundDisk = Disk;
0055
0056 #endif