ECCE @ EIC Software
Reference for
ECCE @ EIC
simulation and reconstruction software on GitHub
Home page
Related Pages
Modules
Namespaces
Classes
Files
External Links
File List
File Members
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
36
class
DicomBeamControlPoint
37
{
38
public
:
39
DicomBeamControlPoint
(DRTControlPointSequence::Item cpItem,
DicomBeamControlPoint
* point0 );
40
~DicomBeamControlPoint
(){};
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
}
64
void
SetBeamLimitingDeviceRotationDirection
(OFString dat){
65
theBeamLimitingDeviceRotationDirection
= dat;
66
}
67
void
SetPatientSupportAngle
(Float64 dat){
68
thePatientSupportAngle
= dat;
69
}
70
void
SetPatientSupportRotationDirection
(OFString dat){
71
thePatientSupportRotationDirection
= dat;
72
}
73
void
SetTableTopEccentricAngle
(Float64 dat){
74
theTableTopEccentricAngle
= dat;
75
}
76
void
SetTableTopEccentricRotationDirection
(OFString dat){
77
theTableTopEccentricRotationDirection
= dat;
78
}
79
void
SetIsocenterPosition
(
G4ThreeVector
dat){
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
}
97
void
SetTableTopEccentricAxisDistance
(Float64 dat){
98
theTableTopEccentricAxisDistance
= dat;
99
}
100
void
SetTableTopLateralPosition
(Float64 dat){
101
theTableTopLateralPosition
= dat;
102
}
103
void
SetTableTopLongitudinalPosition
(Float64 dat){
104
theTableTopLongitudinalPosition
= dat;
105
}
106
void
SetTableTopPitchAngle
(Float32 dat){
107
theTableTopPitchAngle
= dat;
108
}
109
void
SetTableTopPitchRotationDirection
(OFString dat){
110
theTableTopPitchRotationDirection
= dat;
111
}
112
void
SetTableTopRollAngle
(Float32 dat){
113
theTableTopRollAngle
= dat;
114
}
115
void
SetTableTopRollRotationDirection
(OFString dat){
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
}
127
OFString
GetBeamLimitingDeviceRotationDirection
()
const
{
128
return
theBeamLimitingDeviceRotationDirection
;
129
}
130
Float64
GetPatientSupportAngle
()
const
{
131
return
thePatientSupportAngle
;
132
}
133
OFString
GetPatientSupportRotationDirection
()
const
{
134
return
thePatientSupportRotationDirection
;
135
}
136
Float64
GetTableTopEccentricAngle
()
const
{
137
return
theTableTopEccentricAngle
;
138
}
139
OFString
GetTableTopEccentricRotationDirection
()
const
{
140
return
theTableTopEccentricRotationDirection
;
141
}
142
G4ThreeVector
GetIsocenterPosition
()
const
{
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
}
160
Float64
GetTableTopEccentricAxisDistance
()
const
{
161
return
theTableTopEccentricAxisDistance
;
162
}
163
Float64
GetTableTopLateralPosition
()
const
{
164
return
theTableTopLateralPosition
;
165
}
166
Float64
GetTableTopLongitudinalPosition
()
const
{
167
return
theTableTopLongitudinalPosition
;
168
}
169
Float32
GetTableTopPitchAngle
()
const
{
170
return
theTableTopPitchAngle
;
171
}
172
OFString
GetTableTopPitchRotationDirection
()
const
{
173
return
theTableTopPitchRotationDirection
;
174
}
175
Float32
GetTableTopRollAngle
()
const
{
176
return
theTableTopRollAngle
;
177
}
178
OFString
GetTableTopRollRotationDirection
()
const
{
179
return
theTableTopRollRotationDirection
;
180
}
181
Float64
GetTableTopVerticalPosition
()
const
{
182
return
theTableTopVerticalPosition
;
183
}
184
185
void
AddDevice
(
DicomBeamDevicePos
* dbd){
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
geant4
tree
geant4-10.6-release
examples
extended
medical
DICOM
dicomReader
include
DicomBeamControlPoint.hh
Built by
Jin Huang
. updated:
Wed Jun 29 2022 17:25:07
using
1.8.2 with
ECCE GitHub integration