ECCE @ EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
DicomBeamControlPoint.hh
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file DicomBeamControlPoint.hh
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){
51  }
52  Float64 GetNominalBeamEnergy() const {
53  return theNominalBeamEnergy;
54  }
55  void SetGantryAngle(Float64 dat){
56  theGantryAngle = dat;
57  }
58  void SetGantryRotationDirection(OFString dat){
60  }
61  void SetBeamLimitingDeviceAngle(Float64 dat){
63  }
66  }
67  void SetPatientSupportAngle(Float64 dat){
69  }
72  }
73  void SetTableTopEccentricAngle(Float64 dat){
75  }
78  }
81  }
82  void SetSourceToSurfaceDistance(Float64 dat){
84  }
85  void SetCumulativeMetersetWeight(Float64 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){
96  }
99  }
100  void SetTableTopLateralPosition(Float64 dat){
102  }
105  }
106  void SetTableTopPitchAngle(Float32 dat){
107  theTableTopPitchAngle = dat;
108  }
111  }
112  void SetTableTopRollAngle(Float32 dat){
113  theTableTopRollAngle = dat;
114  }
117  }
118  void SetTableTopVerticalPosition(Float64 dat){
120  }
121  OFString GetGantryRotationDirection() const {
123  }
124  Float64 GetBeamLimitingDeviceAngle() const {
126  }
129  }
130  Float64 GetPatientSupportAngle() const {
131  return thePatientSupportAngle;
132  }
135  }
136  Float64 GetTableTopEccentricAngle() const {
138  }
141  }
143  return theIsocenterPosition;
144  }
145  Float64 GetSourceToSurfaceDistance() const {
147  }
148  Float64 GetCumulativeMetersetWeight() const {
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  }
162  }
163  Float64 GetTableTopLateralPosition() const {
165  }
168  }
169  Float32 GetTableTopPitchAngle() const {
170  return theTableTopPitchAngle;
171  }
174  }
175  Float32 GetTableTopRollAngle() const {
176  return theTableTopRollAngle;
177  }
180  }
181  Float64 GetTableTopVerticalPosition() const {
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;
196  Float64 theGantryAngle;
218 
219  std::vector<DicomBeamDevicePos *> theDevices;
220 
221 };
222 
223 #endif