Geant4 Cross Reference |
1 // 1 2 // ******************************************* 3 // * License and Disclaimer 4 // * 5 // * The Geant4 software is copyright of th 6 // * the Geant4 Collaboration. It is provided 7 // * conditions of the Geant4 Software License 8 // * LICENSE and available at http://cern.ch/ 9 // * include a list of copyright holders. 10 // * 11 // * Neither the authors of this software syst 12 // * institutes,nor the agencies providing fin 13 // * work make any representation or warran 14 // * regarding this software system or assum 15 // * use. Please see the license in the file 16 // * for the full disclaimer and the limitatio 17 // * 18 // * This code implementation is the result 19 // * technical work of the GEANT4 collaboratio 20 // * By using, copying, modifying or distri 21 // * any work based on the software) you ag 22 // * use in resulting scientific publicati 23 // * acceptance of all terms of the Geant4 Sof 24 // ******************************************* 25 // 26 #ifndef DicomBeamControlPoint__HH 27 #define DicomBeamControlPoint__HH 28 29 #include "dcmtk/dcmrt/seq/drtcps.h" // for Co 30 31 #include <iostream> 32 #include <vector> 33 class DicomBeamDevicePos; 34 35 #include "G4ThreeVector.hh" 36 37 class DicomBeamControlPoint 38 { 39 public: 40 DicomBeamControlPoint(DRTControlPointSeque 41 ~DicomBeamControlPoint() {}; 42 43 public: 44 void SetIndex(Sint32 dat) { theIndex = dat 45 Sint32 GetIndex() const { return theIndex; 46 void SetNominalBeamEnergy(Float64 dat) { t 47 Float64 GetNominalBeamEnergy() const { ret 48 void SetGantryAngle(Float64 dat) { theGant 49 void SetGantryRotationDirection(OFString d 50 void SetBeamLimitingDeviceAngle(Float64 da 51 void SetBeamLimitingDeviceRotationDirectio 52 { 53 theBeamLimitingDeviceRotationDirection = 54 } 55 void SetPatientSupportAngle(Float64 dat) { 56 void SetPatientSupportRotationDirection(OF 57 { 58 thePatientSupportRotationDirection = dat 59 } 60 void SetTableTopEccentricAngle(Float64 dat 61 void SetTableTopEccentricRotationDirection 62 { 63 theTableTopEccentricRotationDirection = 64 } 65 void SetIsocenterPosition(G4ThreeVector da 66 void SetSourceToSurfaceDistance(Float64 da 67 void SetCumulativeMetersetWeight(Float64 d 68 void SetMetersetWeight(Float64 dat) { theM 69 void SetGantryPitchAngle(Float32 dat) { th 70 void SetSurfaceEntryPoint(Float64 dat) { t 71 void SetTableTopEccentricAxisDistance(Floa 72 void SetTableTopLateralPosition(Float64 da 73 void SetTableTopLongitudinalPosition(Float 74 void SetTableTopPitchAngle(Float32 dat) { 75 void SetTableTopPitchRotationDirection(OFS 76 { 77 theTableTopPitchRotationDirection = dat; 78 } 79 void SetTableTopRollAngle(Float32 dat) { t 80 void SetTableTopRollRotationDirection(OFSt 81 void SetTableTopVerticalPosition(Float64 d 82 OFString GetGantryRotationDirection() cons 83 Float64 GetBeamLimitingDeviceAngle() const 84 OFString GetBeamLimitingDeviceRotationDire 85 { 86 return theBeamLimitingDeviceRotationDire 87 } 88 Float64 GetPatientSupportAngle() const { r 89 OFString GetPatientSupportRotationDirectio 90 { 91 return thePatientSupportRotationDirectio 92 } 93 Float64 GetTableTopEccentricAngle() const 94 OFString GetTableTopEccentricRotationDirec 95 { 96 return theTableTopEccentricRotationDirec 97 } 98 G4ThreeVector GetIsocenterPosition() const 99 Float64 GetSourceToSurfaceDistance() const 100 Float64 GetCumulativeMetersetWeight() cons 101 Float64 GetMetersetWeight() const { return 102 Float32 GetGantryPitchAngle() const { retu 103 Float64 GetSurfaceEntryPoint() const { ret 104 Float64 GetTableTopEccentricAxisDistance() 105 Float64 GetTableTopLateralPosition() const 106 Float64 GetTableTopLongitudinalPosition() 107 Float32 GetTableTopPitchAngle() const { re 108 OFString GetTableTopPitchRotationDirection 109 Float32 GetTableTopRollAngle() const { ret 110 OFString GetTableTopRollRotationDirection( 111 Float64 GetTableTopVerticalPosition() cons 112 113 void AddDevice(DicomBeamDevicePos* dbd) { 114 115 void DumpToFile(std::ofstream& out); 116 117 void Print(std::ostream& out); 118 119 private: 120 Sint32 theIndex; 121 Float64 theNominalBeamEnergy; 122 Float64 theGantryAngle; 123 OFString theGantryRotationDirection; 124 Float64 theBeamLimitingDeviceAngle; 125 OFString theBeamLimitingDeviceRotationDire 126 Float64 thePatientSupportAngle; 127 OFString thePatientSupportRotationDirectio 128 Float64 theTableTopEccentricAngle; 129 OFString theTableTopEccentricRotationDirec 130 G4ThreeVector theIsocenterPosition; 131 Float64 theSourceToSurfaceDistance; 132 Float64 theCumulativeMetersetWeight; 133 Float64 theMetersetWeight; 134 Float32 theGantryPitchAngle; 135 Float64 theSurfaceEntryPoint; 136 Float64 theTableTopEccentricAxisDistance; 137 Float64 theTableTopLateralPosition; 138 Float64 theTableTopLongitudinalPosition; 139 Float32 theTableTopPitchAngle; 140 OFString theTableTopPitchRotationDirection 141 Float32 theTableTopRollAngle; 142 OFString theTableTopRollRotationDirection; 143 Float64 theTableTopVerticalPosition; 144 145 std::vector<DicomBeamDevicePos*> theDevice 146 }; 147 148 #endif 149