Geant4  10.03.p02
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
DicomBeamControlPoint.hh
Go to the documentation of this file.
1 //
2 // ********************************************************************
3 // * License and Disclaimer *
4 // * *
5 // * The Geant4 software is copyright of the Copyright Holders of *
6 // * the Geant4 Collaboration. It is provided under the terms and *
7 // * conditions of the Geant4 Software License, included in the file *
8 // * LICENSE and available at http://cern.ch/geant4/license . These *
9 // * include a list of copyright holders. *
10 // * *
11 // * Neither the authors of this software system, nor their employing *
12 // * institutes,nor the agencies providing financial support for this *
13 // * work make any representation or warranty, express or implied, *
14 // * regarding this software system or assume any liability for its *
15 // * use. Please see the license in the file LICENSE and URL above *
16 // * for the full disclaimer and the limitation of liability. *
17 // * *
18 // * This code implementation is the result of the scientific and *
19 // * technical work of the GEANT4 collaboration. *
20 // * By using, copying, modifying or distributing the software (or *
21 // * any work based on the software) you agree to acknowledge its *
22 // * use in resulting scientific publications, and indicate your *
23 // * acceptance of all terms of the Geant4 Software license. *
24 // ********************************************************************
25 //
26 #ifndef DicomBeamControlPoint__HH
27 #define DicomBeamControlPoint__HH
28 
29 #include <vector>
30 #include <iostream>
31 #include "dcmtk/dcmrt/seq/drtcps.h" // for ControlPointSequence
32 class DicomBeamDevicePos;
33 
34 #include "G4ThreeVector.hh"
35 
37 {
38 public:
39  DicomBeamControlPoint(DRTControlPointSequence::Item cpItem, DicomBeamControlPoint* point0 );
41 
42 public:
43  void SetIndex( Sint32 dat ) {
44  theIndex = dat;
45  }
46  Sint32 GetIndex() const {
47  return theIndex;
48  }
49  void SetNominalBeamEnergy(Float64 dat){
50  theNominalBeamEnergy = dat;
51  }
52  Float64 GetNominalBeamEnergy() const {
53  return theNominalBeamEnergy;
54  }
55  void SetGantryAngle(Float64 dat){
56  theGantryAngle = dat;
57  }
58  void SetGantryRotationDirection(OFString dat){
59  theGantryRotationDirection = dat;
60  }
61  void SetBeamLimitingDeviceAngle(Float64 dat){
62  theBeamLimitingDeviceAngle = dat;
63  }
65  theBeamLimitingDeviceRotationDirection = dat;
66  }
67  void SetPatientSupportAngle(Float64 dat){
68  thePatientSupportAngle = dat;
69  }
71  thePatientSupportRotationDirection = dat;
72  }
73  void SetTableTopEccentricAngle(Float64 dat){
74  theTableTopEccentricAngle = dat;
75  }
77  theTableTopEccentricRotationDirection = dat;
78  }
80  theIsocenterPosition = dat;
81  }
82  void SetSourceToSurfaceDistance(Float64 dat){
83  theSourceToSurfaceDistance = dat;
84  }
85  void SetCumulativeMetersetWeight(Float64 dat){
86  theCumulativeMetersetWeight = dat;
87  }
88  void SetMetersetWeight(Float64 dat){
89  theMetersetWeight = dat;
90  }
91  void SetGantryPitchAngle(Float32 dat){
92  theGantryPitchAngle = dat;
93  }
94  void SetSurfaceEntryPoint(Float64 dat){
95  theSurfaceEntryPoint = dat;
96  }
98  theTableTopEccentricAxisDistance = dat;
99  }
100  void SetTableTopLateralPosition(Float64 dat){
101  theTableTopLateralPosition = dat;
102  }
104  theTableTopLongitudinalPosition = dat;
105  }
106  void SetTableTopPitchAngle(Float32 dat){
107  theTableTopPitchAngle = dat;
108  }
110  theTableTopPitchRotationDirection = dat;
111  }
112  void SetTableTopRollAngle(Float32 dat){
113  theTableTopRollAngle = dat;
114  }
116  theTableTopRollRotationDirection = dat;
117  }
118  void SetTableTopVerticalPosition(Float64 dat){
119  theTableTopVerticalPosition = dat;
120  }
121  OFString GetGantryRotationDirection() const {
122  return theGantryRotationDirection;
123  }
124  Float64 GetBeamLimitingDeviceAngle() const {
125  return theBeamLimitingDeviceAngle;
126  }
128  return theBeamLimitingDeviceRotationDirection;
129  }
130  Float64 GetPatientSupportAngle() const {
131  return thePatientSupportAngle;
132  }
134  return thePatientSupportRotationDirection;
135  }
136  Float64 GetTableTopEccentricAngle() const {
137  return theTableTopEccentricAngle;
138  }
140  return theTableTopEccentricRotationDirection;
141  }
143  return theIsocenterPosition;
144  }
145  Float64 GetSourceToSurfaceDistance() const {
146  return theSourceToSurfaceDistance;
147  }
148  Float64 GetCumulativeMetersetWeight() const {
149  return theCumulativeMetersetWeight;
150  }
151  Float64 GetMetersetWeight() const {
152  return theMetersetWeight;
153  }
154  Float32 GetGantryPitchAngle() const {
155  return theGantryPitchAngle;
156  }
157  Float64 GetSurfaceEntryPoint() const {
158  return theSurfaceEntryPoint;
159  }
161  return theTableTopEccentricAxisDistance;
162  }
163  Float64 GetTableTopLateralPosition() const {
164  return theTableTopLateralPosition;
165  }
167  return theTableTopLongitudinalPosition;
168  }
169  Float32 GetTableTopPitchAngle() const {
170  return theTableTopPitchAngle;
171  }
173  return theTableTopPitchRotationDirection;
174  }
175  Float32 GetTableTopRollAngle() const {
176  return theTableTopRollAngle;
177  }
179  return theTableTopRollRotationDirection;
180  }
181  Float64 GetTableTopVerticalPosition() const {
182  return theTableTopVerticalPosition;
183  }
184 
186  theDevices.push_back(dbd);
187  }
188 
189  void DumpToFile( std::ofstream& out );
190 
191  void Print( std::ostream& out );
192 
193 private:
194  Sint32 theIndex;
195  Float64 theNominalBeamEnergy;
196  Float64 theGantryAngle;
197  OFString theGantryRotationDirection;
198  Float64 theBeamLimitingDeviceAngle;
199  OFString theBeamLimitingDeviceRotationDirection;
200  Float64 thePatientSupportAngle;
201  OFString thePatientSupportRotationDirection;
202  Float64 theTableTopEccentricAngle;
203  OFString theTableTopEccentricRotationDirection;
204  G4ThreeVector theIsocenterPosition;
205  Float64 theSourceToSurfaceDistance;
206  Float64 theCumulativeMetersetWeight;
207  Float64 theMetersetWeight;
208  Float32 theGantryPitchAngle;
209  Float64 theSurfaceEntryPoint;
210  Float64 theTableTopEccentricAxisDistance;
211  Float64 theTableTopLateralPosition;
212  Float64 theTableTopLongitudinalPosition;
213  Float32 theTableTopPitchAngle;
214  OFString theTableTopPitchRotationDirection;
215  Float32 theTableTopRollAngle;
216  OFString theTableTopRollRotationDirection;
217  Float64 theTableTopVerticalPosition;
218 
219  std::vector<DicomBeamDevicePos *> theDevices;
220 
221 };
222 
223 #endif
Float64 GetTableTopLongitudinalPosition() const
Float64 GetCumulativeMetersetWeight() const
OFString GetBeamLimitingDeviceRotationDirection() const
void SetTableTopLateralPosition(Float64 dat)
OFString GetGantryRotationDirection() const
void SetGantryRotationDirection(OFString dat)
Float64 GetBeamLimitingDeviceAngle() const
Float64 GetSourceToSurfaceDistance() const
void SetSurfaceEntryPoint(Float64 dat)
void SetMetersetWeight(Float64 dat)
void SetTableTopRollRotationDirection(OFString dat)
OFString GetTableTopEccentricRotationDirection() const
void SetGantryPitchAngle(Float32 dat)
void DumpToFile(std::ofstream &out)
Float64 GetNominalBeamEnergy() const
Float32 GetTableTopRollAngle() const
void SetTableTopPitchAngle(Float32 dat)
G4ThreeVector GetIsocenterPosition() const
Float32 GetGantryPitchAngle() const
void SetTableTopVerticalPosition(Float64 dat)
void SetBeamLimitingDeviceRotationDirection(OFString dat)
void SetGantryAngle(Float64 dat)
Float64 GetTableTopEccentricAxisDistance() const
void SetPatientSupportAngle(Float64 dat)
void SetCumulativeMetersetWeight(Float64 dat)
void SetTableTopEccentricRotationDirection(OFString dat)
Float64 GetMetersetWeight() const
Float64 GetTableTopVerticalPosition() const
void SetTableTopRollAngle(Float32 dat)
void SetTableTopPitchRotationDirection(OFString dat)
Float64 GetTableTopLateralPosition() const
OFString GetPatientSupportRotationDirection() const
void Print(std::ostream &out)
void SetTableTopLongitudinalPosition(Float64 dat)
Float64 GetTableTopEccentricAngle() const
OFString GetTableTopRollRotationDirection() const
void SetPatientSupportRotationDirection(OFString dat)
void SetTableTopEccentricAngle(Float64 dat)
void SetSourceToSurfaceDistance(Float64 dat)
OFString GetTableTopPitchRotationDirection() const
Float32 GetTableTopPitchAngle() const
void AddDevice(DicomBeamDevicePos *dbd)
DicomBeamControlPoint(DRTControlPointSequence::Item cpItem, DicomBeamControlPoint *point0)
void SetTableTopEccentricAxisDistance(Float64 dat)
Float64 GetSurfaceEntryPoint() const
void SetBeamLimitingDeviceAngle(Float64 dat)
void SetNominalBeamEnergy(Float64 dat)
void SetIsocenterPosition(G4ThreeVector dat)
Float64 GetPatientSupportAngle() const