File indexing completed on 2024-10-25 23:57:04
0001 #ifndef Geometry_CaloGeometry_CaloCellGeometryPtr_h
0002 #define Geometry_CaloGeometry_CaloCellGeometryPtr_h
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023
0024
0025
0026 class CaloCellGeometry;
0027
0028 class CaloCellGeometryPtr {
0029 public:
0030 explicit CaloCellGeometryPtr(CaloCellGeometry const* iPtr) noexcept : ptr_{iPtr} {}
0031 CaloCellGeometryPtr() noexcept = default;
0032 CaloCellGeometryPtr(const CaloCellGeometryPtr&) noexcept = default;
0033 CaloCellGeometryPtr(CaloCellGeometryPtr&&) noexcept = default;
0034 CaloCellGeometryPtr& operator=(CaloCellGeometryPtr const&) noexcept = default;
0035 CaloCellGeometryPtr& operator=(CaloCellGeometryPtr&&) noexcept = default;
0036
0037 CaloCellGeometry const* operator->() const { return ptr_; }
0038 CaloCellGeometry const* get() const { return ptr_; }
0039 CaloCellGeometry const& operator*() const { return *ptr_; }
0040
0041 operator CaloCellGeometry const*() const { return ptr_; }
0042
0043 private:
0044 const CaloCellGeometry* ptr_ = nullptr;
0045 };
0046
0047 #endif