rtp-connect 1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/CHANGELOG.rdoc +9 -0
- data/COPYING +674 -0
- data/README.rdoc +128 -0
- data/lib/rtp-connect.rb +20 -0
- data/lib/rtp-connect/constants.rb +58 -0
- data/lib/rtp-connect/control_point.rb +444 -0
- data/lib/rtp-connect/extended_field.rb +127 -0
- data/lib/rtp-connect/field.rb +578 -0
- data/lib/rtp-connect/logging.rb +158 -0
- data/lib/rtp-connect/methods.rb +31 -0
- data/lib/rtp-connect/plan.rb +545 -0
- data/lib/rtp-connect/prescription.rb +218 -0
- data/lib/rtp-connect/record.rb +37 -0
- data/lib/rtp-connect/ruby_extensions.rb +82 -0
- data/lib/rtp-connect/site_setup.rb +227 -0
- data/lib/rtp-connect/variables.rb +19 -0
- data/lib/rtp-connect/version.rb +6 -0
- metadata +113 -0
@@ -0,0 +1,127 @@
|
|
1
|
+
module RTP
|
2
|
+
|
3
|
+
# The ExtendedField class.
|
4
|
+
#
|
5
|
+
# === Relations
|
6
|
+
#
|
7
|
+
# * Parent: Field
|
8
|
+
# * Children: none
|
9
|
+
#
|
10
|
+
class ExtendedField < Record
|
11
|
+
|
12
|
+
# The Record which this instance belongs to.
|
13
|
+
attr_reader :parent
|
14
|
+
attr_reader :field_id
|
15
|
+
attr_reader :original_plan_uid
|
16
|
+
attr_reader :original_beam_number
|
17
|
+
attr_reader :original_beam_name
|
18
|
+
|
19
|
+
# Creates a new (treatment) ExtendedField by parsing a RTPConnect string line.
|
20
|
+
#
|
21
|
+
# === Parameters
|
22
|
+
#
|
23
|
+
# * <tt>string</tt> -- A string containing an extended treatment field record.
|
24
|
+
# * <tt>parent</tt> -- A Record which is used to determine the proper parent of this instance.
|
25
|
+
#
|
26
|
+
def self.load(string, parent)
|
27
|
+
raise ArgumentError, "Invalid argument 'string'. Expected String, got #{string.class}." unless string.is_a?(String)
|
28
|
+
raise ArgumentError, "Invalid argument 'parent'. Expected RTP::Record, got #{parent.class}." unless parent.is_a?(RTP::Record)
|
29
|
+
# Get the quote-less values:
|
30
|
+
values = string.values
|
31
|
+
raise ArgumentError, "Invalid argument 'string': Expected exactly 6 elements, got #{values.length}." unless values.length == 6
|
32
|
+
f = self.new(parent)
|
33
|
+
# Assign the values to attributes:
|
34
|
+
f.keyword = values[0]
|
35
|
+
f.field_id = values[1]
|
36
|
+
f.original_plan_uid = values[2]
|
37
|
+
f.original_beam_number = values[3]
|
38
|
+
f.original_beam_name = values[4]
|
39
|
+
f.crc = values[5]
|
40
|
+
return f
|
41
|
+
end
|
42
|
+
|
43
|
+
# Creates a new (treatment) ExtendedField.
|
44
|
+
#
|
45
|
+
# === Parameters
|
46
|
+
#
|
47
|
+
# * <tt>parent</tt> -- A Record which is used to determine the proper parent of this instance.
|
48
|
+
#
|
49
|
+
def initialize(parent)
|
50
|
+
raise ArgumentError, "Invalid argument 'parent'. Expected RTP::Record, got #{parent.class}." unless parent.is_a?(RTP::Record)
|
51
|
+
# Parent relation:
|
52
|
+
@parent = get_parent(parent, Field)
|
53
|
+
@parent.add_extended_field(self)
|
54
|
+
@keyword = 'EXTENDED_FIELD_DEF'
|
55
|
+
end
|
56
|
+
|
57
|
+
# Returns an empty array, as these instances are child-less by definition.
|
58
|
+
#
|
59
|
+
def children
|
60
|
+
return Array.new
|
61
|
+
end
|
62
|
+
|
63
|
+
# Returns the values of this instance in an array.
|
64
|
+
# The values does not include the CRC.
|
65
|
+
#
|
66
|
+
def values
|
67
|
+
return [
|
68
|
+
@keyword,
|
69
|
+
@field_id,
|
70
|
+
@original_plan_uid,
|
71
|
+
@original_beam_number,
|
72
|
+
@original_beam_name
|
73
|
+
]
|
74
|
+
end
|
75
|
+
|
76
|
+
# Writes the ExtendedField object + any hiearchy of child objects,
|
77
|
+
# to a properly formatted RTPConnect ascii string.
|
78
|
+
#
|
79
|
+
def to_str
|
80
|
+
str = encode
|
81
|
+
if children
|
82
|
+
children.each do |child|
|
83
|
+
str += child.to_str
|
84
|
+
end
|
85
|
+
end
|
86
|
+
return str
|
87
|
+
end
|
88
|
+
|
89
|
+
# Sets the keyword attribute.
|
90
|
+
#
|
91
|
+
def keyword=(value)
|
92
|
+
raise ArgumentError, "Invalid argument 'value'. Expected String, got #{value.class}." unless value.is_a?(String)
|
93
|
+
raise ArgumentError, "Invalid keyword. Expected 'EXTENDED_FIELD_DEF', got #{value}." unless value.upcase == "EXTENDED_FIELD_DEF"
|
94
|
+
@keyword = value
|
95
|
+
end
|
96
|
+
|
97
|
+
# Sets the field_id attribute.
|
98
|
+
#
|
99
|
+
def field_id=(value)
|
100
|
+
raise ArgumentError, "Invalid argument 'value'. Expected String, got #{value.class}." unless value.is_a?(String)
|
101
|
+
@field_id = value
|
102
|
+
end
|
103
|
+
|
104
|
+
# Sets the original_plan_uid attribute.
|
105
|
+
#
|
106
|
+
def original_plan_uid=(value)
|
107
|
+
raise ArgumentError, "Invalid argument 'value'. Expected String, got #{value.class}." unless value.is_a?(String)
|
108
|
+
@original_plan_uid = value
|
109
|
+
end
|
110
|
+
|
111
|
+
# Sets the original_beam_number attribute.
|
112
|
+
#
|
113
|
+
def original_beam_number=(value)
|
114
|
+
raise ArgumentError, "Invalid argument 'value'. Expected String, got #{value.class}." unless value.is_a?(String)
|
115
|
+
@original_beam_number = value
|
116
|
+
end
|
117
|
+
|
118
|
+
# Sets the original_beam_name attribute.
|
119
|
+
#
|
120
|
+
def original_beam_name=(value)
|
121
|
+
raise ArgumentError, "Invalid argument 'value'. Expected String, got #{value.class}." unless value.is_a?(String)
|
122
|
+
@original_beam_name = value
|
123
|
+
end
|
124
|
+
|
125
|
+
end
|
126
|
+
|
127
|
+
end
|
@@ -0,0 +1,578 @@
|
|
1
|
+
module RTP
|
2
|
+
|
3
|
+
# The treatment Field class.
|
4
|
+
#
|
5
|
+
# === Relations
|
6
|
+
#
|
7
|
+
# * Parent: Prescription
|
8
|
+
# * Children: ExtendedField, ControlPoint
|
9
|
+
#
|
10
|
+
class Field < Record
|
11
|
+
|
12
|
+
# The Record which this instance belongs to.
|
13
|
+
attr_reader :parent
|
14
|
+
# The ExtendedField record (if any) that belongs to this Field.
|
15
|
+
attr_reader :extended_field
|
16
|
+
# An array of ControlPoint records (if any) that belongs to this Field.
|
17
|
+
attr_reader :control_points
|
18
|
+
attr_reader :rx_site_name
|
19
|
+
attr_reader :field_name
|
20
|
+
attr_reader :field_id
|
21
|
+
attr_reader :field_note
|
22
|
+
attr_reader :field_dose
|
23
|
+
attr_reader :field_monitor_units
|
24
|
+
attr_reader :wedge_monitor_units
|
25
|
+
attr_reader :treatment_machine
|
26
|
+
attr_reader :treatment_type
|
27
|
+
attr_reader :modality
|
28
|
+
attr_reader :energy
|
29
|
+
attr_reader :time
|
30
|
+
attr_reader :doserate
|
31
|
+
attr_reader :sad
|
32
|
+
attr_reader :ssd
|
33
|
+
attr_reader :gantry_angle
|
34
|
+
attr_reader :collimator_angle
|
35
|
+
attr_reader :field_x_mode
|
36
|
+
attr_reader :field_x
|
37
|
+
attr_reader :collimator_x1
|
38
|
+
attr_reader :collimator_x2
|
39
|
+
attr_reader :field_y_mode
|
40
|
+
attr_reader :field_y
|
41
|
+
attr_reader :collimator_y1
|
42
|
+
attr_reader :collimator_y2
|
43
|
+
attr_reader :couch_vertical
|
44
|
+
attr_reader :couch_lateral
|
45
|
+
attr_reader :couch_longitudinal
|
46
|
+
attr_reader :couch_angle
|
47
|
+
attr_reader :couch_pedestal
|
48
|
+
attr_reader :tolerance_table
|
49
|
+
attr_reader :arc_direction
|
50
|
+
attr_reader :arc_start_angle
|
51
|
+
attr_reader :arc_stop_angle
|
52
|
+
attr_reader :arc_mu_degree
|
53
|
+
attr_reader :wedge
|
54
|
+
attr_reader :dynamic_wedge
|
55
|
+
attr_reader :block
|
56
|
+
attr_reader :compensator
|
57
|
+
attr_reader :e_applicator
|
58
|
+
attr_reader :e_field_def_aperture
|
59
|
+
attr_reader :bolus
|
60
|
+
attr_reader :portfilm_mu_open
|
61
|
+
attr_reader :portfilm_coeff_open
|
62
|
+
attr_reader :portfilm_delta_open
|
63
|
+
attr_reader :portfilm_mu_treat
|
64
|
+
attr_reader :portfilm_coeff_treat
|
65
|
+
|
66
|
+
# Creates a new (treatment) Field by parsing a RTPConnect string line.
|
67
|
+
#
|
68
|
+
# === Parameters
|
69
|
+
#
|
70
|
+
# * <tt>string</tt> -- A string containing a treatment field record.
|
71
|
+
# * <tt>parent</tt> -- A Record which is used to determine the proper parent of this instance.
|
72
|
+
#
|
73
|
+
def self.load(string, parent)
|
74
|
+
raise ArgumentError, "Invalid argument 'string'. Expected String, got #{string.class}." unless string.is_a?(String)
|
75
|
+
raise ArgumentError, "Invalid argument 'parent'. Expected RTP::Record, got #{parent.class}." unless parent.is_a?(RTP::Record)
|
76
|
+
# Get the quote-less values:
|
77
|
+
values = string.values
|
78
|
+
raise ArgumentError, "Invalid argument 'string': Expected exactly 49 elements, got #{values.length}." unless values.length == 49
|
79
|
+
f = self.new(parent)
|
80
|
+
# Assign the values to attributes:
|
81
|
+
f.keyword = values[0]
|
82
|
+
f.rx_site_name = values[1]
|
83
|
+
f.field_name = values[2]
|
84
|
+
f.field_id = values[3]
|
85
|
+
f.field_note = values[4]
|
86
|
+
f.field_dose = values[5]
|
87
|
+
f.field_monitor_units = values[6]
|
88
|
+
f.wedge_monitor_units = values[7]
|
89
|
+
f.treatment_machine = values[8]
|
90
|
+
f.treatment_type = values[9]
|
91
|
+
f.modality = values[10]
|
92
|
+
f.energy = values[11]
|
93
|
+
f.time = values[12]
|
94
|
+
f.doserate = values[13]
|
95
|
+
f.sad = values[14]
|
96
|
+
f.ssd = values[15]
|
97
|
+
f.gantry_angle = values[16]
|
98
|
+
f.collimator_angle = values[17]
|
99
|
+
f.field_x_mode = values[18]
|
100
|
+
f.field_x = values[19]
|
101
|
+
f.collimator_x1 = values[20]
|
102
|
+
f.collimator_x2 = values[21]
|
103
|
+
f.field_y_mode = values[22]
|
104
|
+
f.field_y = values[23]
|
105
|
+
f.collimator_y1 = values[24]
|
106
|
+
f.collimator_y2 = values[25]
|
107
|
+
f.couch_vertical = values[26]
|
108
|
+
f.couch_lateral = values[27]
|
109
|
+
f.couch_longitudinal = values[28]
|
110
|
+
f.couch_angle = values[29]
|
111
|
+
f.couch_pedestal = values[30]
|
112
|
+
f.tolerance_table = values[31]
|
113
|
+
f.arc_direction = values[32]
|
114
|
+
f.arc_start_angle = values[33]
|
115
|
+
f.arc_stop_angle = values[34]
|
116
|
+
f.arc_mu_degree = values[35]
|
117
|
+
f.wedge = values[36]
|
118
|
+
f.dynamic_wedge = values[37]
|
119
|
+
f.block = values[38]
|
120
|
+
f.compensator = values[39]
|
121
|
+
f.e_applicator = values[40]
|
122
|
+
f.e_field_def_aperture = values[41]
|
123
|
+
f.bolus = values[42]
|
124
|
+
f.portfilm_mu_open = values[43]
|
125
|
+
f.portfilm_coeff_open = values[44]
|
126
|
+
f.portfilm_delta_open = values[45]
|
127
|
+
f.portfilm_mu_treat = values[46]
|
128
|
+
f.portfilm_coeff_treat = values[47]
|
129
|
+
f.crc = values[48]
|
130
|
+
return f
|
131
|
+
end
|
132
|
+
|
133
|
+
# Creates a new (treatment) Field.
|
134
|
+
#
|
135
|
+
# === Parameters
|
136
|
+
#
|
137
|
+
# * <tt>parent</tt> -- A Record which is used to determine the proper parent of this instance.
|
138
|
+
#
|
139
|
+
def initialize(parent)
|
140
|
+
raise ArgumentError, "Invalid argument 'parent'. Expected RTP::Record, got #{parent.class}." unless parent.is_a?(RTP::Record)
|
141
|
+
# Child records:
|
142
|
+
@control_points = Array.new
|
143
|
+
@extended_field = nil
|
144
|
+
# Parent relation:
|
145
|
+
@parent = get_parent(parent, Prescription)
|
146
|
+
@parent.add_field(self)
|
147
|
+
@keyword = 'FIELD_DEF'
|
148
|
+
end
|
149
|
+
|
150
|
+
# Adds a control point record to this instance.
|
151
|
+
#
|
152
|
+
def add_control_point(child)
|
153
|
+
raise ArgumentError, "Invalid argument 'child'. Expected RTP::ControlPoint, got #{child.class}." unless child.is_a?(RTP::ControlPoint)
|
154
|
+
@control_points << child
|
155
|
+
end
|
156
|
+
|
157
|
+
# Connects an extended treatment field record to this instance.
|
158
|
+
#
|
159
|
+
def add_extended_field(child)
|
160
|
+
raise ArgumentError, "Invalid argument 'child'. Expected RTP::ExtendedField, got #{child.class}." unless child.is_a?(RTP::ExtendedField)
|
161
|
+
@extended_field = child
|
162
|
+
end
|
163
|
+
|
164
|
+
# Returns nil, as these instances are child-less by definition.
|
165
|
+
#
|
166
|
+
def children
|
167
|
+
return [@extended_field, @control_points].flatten.compact
|
168
|
+
end
|
169
|
+
|
170
|
+
# Returns the values of this instance in an array.
|
171
|
+
# The values does not include the CRC.
|
172
|
+
#
|
173
|
+
def values
|
174
|
+
return [
|
175
|
+
@keyword,
|
176
|
+
@rx_site_name,
|
177
|
+
@field_name,
|
178
|
+
@field_id,
|
179
|
+
@field_note,
|
180
|
+
@field_dose,
|
181
|
+
@field_monitor_units,
|
182
|
+
@wedge_monitor_units,
|
183
|
+
@treatment_machine,
|
184
|
+
@treatment_type,
|
185
|
+
@modality,
|
186
|
+
@energy,
|
187
|
+
@time,
|
188
|
+
@doserate,
|
189
|
+
@sad,
|
190
|
+
@ssd,
|
191
|
+
@gantry_angle,
|
192
|
+
@collimator_angle,
|
193
|
+
@field_x_mode,
|
194
|
+
@field_x,
|
195
|
+
@collimator_x1,
|
196
|
+
@collimator_x2,
|
197
|
+
@field_y_mode,
|
198
|
+
@field_y,
|
199
|
+
@collimator_y1,
|
200
|
+
@collimator_y2,
|
201
|
+
@couch_vertical,
|
202
|
+
@couch_lateral,
|
203
|
+
@couch_longitudinal,
|
204
|
+
@couch_angle,
|
205
|
+
@couch_pedestal,
|
206
|
+
@tolerance_table,
|
207
|
+
@arc_direction,
|
208
|
+
@arc_start_angle,
|
209
|
+
@arc_stop_angle,
|
210
|
+
@arc_mu_degree,
|
211
|
+
@wedge,
|
212
|
+
@dynamic_wedge,
|
213
|
+
@block,
|
214
|
+
@compensator,
|
215
|
+
@e_applicator,
|
216
|
+
@e_field_def_aperture,
|
217
|
+
@bolus,
|
218
|
+
@portfilm_mu_open,
|
219
|
+
@portfilm_coeff_open,
|
220
|
+
@portfilm_delta_open,
|
221
|
+
@portfilm_mu_treat,
|
222
|
+
@portfilm_coeff_treat
|
223
|
+
]
|
224
|
+
end
|
225
|
+
|
226
|
+
# Writes the Field object + any hiearchy of child objects,
|
227
|
+
# to a properly formatted RTPConnect ascii string.
|
228
|
+
#
|
229
|
+
def to_str
|
230
|
+
str = encode
|
231
|
+
if children
|
232
|
+
children.each do |child|
|
233
|
+
str += child.to_str
|
234
|
+
end
|
235
|
+
end
|
236
|
+
return str
|
237
|
+
end
|
238
|
+
|
239
|
+
# Sets the keyword attribute.
|
240
|
+
#
|
241
|
+
def keyword=(value)
|
242
|
+
raise ArgumentError, "Invalid argument 'value'. Expected String, got #{value.class}." unless value.is_a?(String)
|
243
|
+
raise ArgumentError, "Invalid keyword. Expected 'FIELD_DEF', got #{value}." unless value.upcase == "FIELD_DEF"
|
244
|
+
@keyword = value
|
245
|
+
end
|
246
|
+
|
247
|
+
# Sets the rx_site_name attribute.
|
248
|
+
#
|
249
|
+
def rx_site_name=(value)
|
250
|
+
raise ArgumentError, "Invalid argument 'value'. Expected String, got #{value.class}." unless value.is_a?(String)
|
251
|
+
@rx_site_name = value
|
252
|
+
end
|
253
|
+
|
254
|
+
# Sets the field_name attribute.
|
255
|
+
#
|
256
|
+
def field_name=(value)
|
257
|
+
raise ArgumentError, "Invalid argument 'value'. Expected String, got #{value.class}." unless value.is_a?(String)
|
258
|
+
@field_name = value
|
259
|
+
end
|
260
|
+
|
261
|
+
# Sets the field_id attribute.
|
262
|
+
#
|
263
|
+
def field_id=(value)
|
264
|
+
raise ArgumentError, "Invalid argument 'value'. Expected String, got #{value.class}." unless value.is_a?(String)
|
265
|
+
@field_id = value
|
266
|
+
end
|
267
|
+
|
268
|
+
# Sets the field_note attribute.
|
269
|
+
#
|
270
|
+
def field_note=(value)
|
271
|
+
raise ArgumentError, "Invalid argument 'value'. Expected String, got #{value.class}." unless value.is_a?(String)
|
272
|
+
@field_note = value
|
273
|
+
end
|
274
|
+
|
275
|
+
# Sets the field_dose attribute.
|
276
|
+
#
|
277
|
+
def field_dose=(value)
|
278
|
+
raise ArgumentError, "Invalid argument 'value'. Expected String, got #{value.class}." unless value.is_a?(String)
|
279
|
+
@field_dose = value
|
280
|
+
end
|
281
|
+
|
282
|
+
# Sets the field_monitor_units attribute.
|
283
|
+
#
|
284
|
+
def field_monitor_units=(value)
|
285
|
+
raise ArgumentError, "Invalid argument 'value'. Expected String, got #{value.class}." unless value.is_a?(String)
|
286
|
+
@field_monitor_units = value
|
287
|
+
end
|
288
|
+
|
289
|
+
# Sets the wedge_monitor_units attribute.
|
290
|
+
#
|
291
|
+
def wedge_monitor_units=(value)
|
292
|
+
raise ArgumentError, "Invalid argument 'value'. Expected String, got #{value.class}." unless value.is_a?(String)
|
293
|
+
@wedge_monitor_units = value
|
294
|
+
end
|
295
|
+
|
296
|
+
# Sets the treatment_machine attribute.
|
297
|
+
#
|
298
|
+
def treatment_machine=(value)
|
299
|
+
raise ArgumentError, "Invalid argument 'value'. Expected String, got #{value.class}." unless value.is_a?(String)
|
300
|
+
@treatment_machine = value
|
301
|
+
end
|
302
|
+
|
303
|
+
# Sets the treatment_type attribute.
|
304
|
+
#
|
305
|
+
def treatment_type=(value)
|
306
|
+
raise ArgumentError, "Invalid argument 'value'. Expected String, got #{value.class}." unless value.is_a?(String)
|
307
|
+
@treatment_type = value
|
308
|
+
end
|
309
|
+
|
310
|
+
# Sets the modality attribute.
|
311
|
+
#
|
312
|
+
def modality=(value)
|
313
|
+
raise ArgumentError, "Invalid argument 'value'. Expected String, got #{value.class}." unless value.is_a?(String)
|
314
|
+
@modality = value
|
315
|
+
end
|
316
|
+
|
317
|
+
# Sets the energy attribute.
|
318
|
+
#
|
319
|
+
def energy=(value)
|
320
|
+
raise ArgumentError, "Invalid argument 'value'. Expected String, got #{value.class}." unless value.is_a?(String)
|
321
|
+
@energy = value
|
322
|
+
end
|
323
|
+
|
324
|
+
# Sets the time attribute.
|
325
|
+
#
|
326
|
+
def time=(value)
|
327
|
+
raise ArgumentError, "Invalid argument 'value'. Expected String, got #{value.class}." unless value.is_a?(String)
|
328
|
+
@time = value
|
329
|
+
end
|
330
|
+
|
331
|
+
# Sets the doserate attribute.
|
332
|
+
#
|
333
|
+
def doserate=(value)
|
334
|
+
raise ArgumentError, "Invalid argument 'value'. Expected String, got #{value.class}." unless value.is_a?(String)
|
335
|
+
@doserate = value
|
336
|
+
end
|
337
|
+
|
338
|
+
# Sets the sad attribute.
|
339
|
+
#
|
340
|
+
def sad=(value)
|
341
|
+
raise ArgumentError, "Invalid argument 'value'. Expected String, got #{value.class}." unless value.is_a?(String)
|
342
|
+
@sad = value
|
343
|
+
end
|
344
|
+
|
345
|
+
# Sets the ssd attribute.
|
346
|
+
#
|
347
|
+
def ssd=(value)
|
348
|
+
raise ArgumentError, "Invalid argument 'value'. Expected String, got #{value.class}." unless value.is_a?(String)
|
349
|
+
@ssd = value
|
350
|
+
end
|
351
|
+
|
352
|
+
# Sets the gantry_angle attribute.
|
353
|
+
#
|
354
|
+
def gantry_angle=(value)
|
355
|
+
raise ArgumentError, "Invalid argument 'value'. Expected String, got #{value.class}." unless value.is_a?(String)
|
356
|
+
@gantry_angle = value
|
357
|
+
end
|
358
|
+
|
359
|
+
# Sets the collimator_angle attribute.
|
360
|
+
#
|
361
|
+
def collimator_angle=(value)
|
362
|
+
raise ArgumentError, "Invalid argument 'value'. Expected String, got #{value.class}." unless value.is_a?(String)
|
363
|
+
@collimator_angle = value
|
364
|
+
end
|
365
|
+
|
366
|
+
# Sets the field_x_mode attribute.
|
367
|
+
#
|
368
|
+
def field_x_mode=(value)
|
369
|
+
raise ArgumentError, "Invalid argument 'value'. Expected String, got #{value.class}." unless value.is_a?(String)
|
370
|
+
@field_x_mode = value
|
371
|
+
end
|
372
|
+
|
373
|
+
# Sets the field_x attribute.
|
374
|
+
#
|
375
|
+
def field_x=(value)
|
376
|
+
raise ArgumentError, "Invalid argument 'value'. Expected String, got #{value.class}." unless value.is_a?(String)
|
377
|
+
@field_x = value
|
378
|
+
end
|
379
|
+
|
380
|
+
# Sets the collimator_x1 attribute.
|
381
|
+
#
|
382
|
+
def collimator_x1=(value)
|
383
|
+
raise ArgumentError, "Invalid argument 'value'. Expected String, got #{value.class}." unless value.is_a?(String)
|
384
|
+
@collimator_x1 = value
|
385
|
+
end
|
386
|
+
|
387
|
+
# Sets the collimator_x2 attribute.
|
388
|
+
#
|
389
|
+
def collimator_x2=(value)
|
390
|
+
raise ArgumentError, "Invalid argument 'value'. Expected String, got #{value.class}." unless value.is_a?(String)
|
391
|
+
@collimator_x2 = value
|
392
|
+
end
|
393
|
+
|
394
|
+
# Sets the field_y_mode attribute.
|
395
|
+
#
|
396
|
+
def field_y_mode=(value)
|
397
|
+
raise ArgumentError, "Invalid argument 'value'. Expected String, got #{value.class}." unless value.is_a?(String)
|
398
|
+
@field_y_mode = value
|
399
|
+
end
|
400
|
+
|
401
|
+
# Sets the field_y attribute.
|
402
|
+
#
|
403
|
+
def field_y=(value)
|
404
|
+
raise ArgumentError, "Invalid argument 'value'. Expected String, got #{value.class}." unless value.is_a?(String)
|
405
|
+
@field_y = value
|
406
|
+
end
|
407
|
+
|
408
|
+
# Sets the collimator_y1 attribute.
|
409
|
+
#
|
410
|
+
def collimator_y1=(value)
|
411
|
+
raise ArgumentError, "Invalid argument 'value'. Expected String, got #{value.class}." unless value.is_a?(String)
|
412
|
+
@collimator_y1 = value
|
413
|
+
end
|
414
|
+
|
415
|
+
# Sets the collimator_y2 attribute.
|
416
|
+
#
|
417
|
+
def collimator_y2=(value)
|
418
|
+
raise ArgumentError, "Invalid argument 'value'. Expected String, got #{value.class}." unless value.is_a?(String)
|
419
|
+
@collimator_y2 = value
|
420
|
+
end
|
421
|
+
|
422
|
+
# Sets the couch_vertical attribute.
|
423
|
+
#
|
424
|
+
def couch_vertical=(value)
|
425
|
+
raise ArgumentError, "Invalid argument 'value'. Expected String, got #{value.class}." unless value.is_a?(String)
|
426
|
+
@couch_vertical = value
|
427
|
+
end
|
428
|
+
|
429
|
+
# Sets the couch_lateral attribute.
|
430
|
+
#
|
431
|
+
def couch_lateral=(value)
|
432
|
+
raise ArgumentError, "Invalid argument 'value'. Expected String, got #{value.class}." unless value.is_a?(String)
|
433
|
+
@couch_lateral = value
|
434
|
+
end
|
435
|
+
|
436
|
+
# Sets the couch_longitudinal attribute.
|
437
|
+
#
|
438
|
+
def couch_longitudinal=(value)
|
439
|
+
raise ArgumentError, "Invalid argument 'value'. Expected String, got #{value.class}." unless value.is_a?(String)
|
440
|
+
@couch_longitudinal = value
|
441
|
+
end
|
442
|
+
|
443
|
+
# Sets the couch_angle attribute.
|
444
|
+
#
|
445
|
+
def couch_angle=(value)
|
446
|
+
raise ArgumentError, "Invalid argument 'value'. Expected String, got #{value.class}." unless value.is_a?(String)
|
447
|
+
@couch_angle = value
|
448
|
+
end
|
449
|
+
|
450
|
+
# Sets the couch_pedestal attribute.
|
451
|
+
#
|
452
|
+
def couch_pedestal=(value)
|
453
|
+
raise ArgumentError, "Invalid argument 'value'. Expected String, got #{value.class}." unless value.is_a?(String)
|
454
|
+
@couch_pedestal = value
|
455
|
+
end
|
456
|
+
|
457
|
+
# Sets the tolerance_table attribute.
|
458
|
+
#
|
459
|
+
def tolerance_table=(value)
|
460
|
+
raise ArgumentError, "Invalid argument 'value'. Expected String, got #{value.class}." unless value.is_a?(String)
|
461
|
+
@tolerance_table = value
|
462
|
+
end
|
463
|
+
|
464
|
+
# Sets the arc_direction attribute.
|
465
|
+
#
|
466
|
+
def arc_direction=(value)
|
467
|
+
raise ArgumentError, "Invalid argument 'value'. Expected String, got #{value.class}." unless value.is_a?(String)
|
468
|
+
@arc_direction = value
|
469
|
+
end
|
470
|
+
|
471
|
+
# Sets the arc_start_angle attribute.
|
472
|
+
#
|
473
|
+
def arc_start_angle=(value)
|
474
|
+
raise ArgumentError, "Invalid argument 'value'. Expected String, got #{value.class}." unless value.is_a?(String)
|
475
|
+
@arc_start_angle = value
|
476
|
+
end
|
477
|
+
|
478
|
+
# Sets the arc_stop_angle attribute.
|
479
|
+
#
|
480
|
+
def arc_stop_angle=(value)
|
481
|
+
raise ArgumentError, "Invalid argument 'value'. Expected String, got #{value.class}." unless value.is_a?(String)
|
482
|
+
@arc_stop_angle = value
|
483
|
+
end
|
484
|
+
|
485
|
+
# Sets the arc_mu_degree attribute.
|
486
|
+
#
|
487
|
+
def arc_mu_degree=(value)
|
488
|
+
raise ArgumentError, "Invalid argument 'value'. Expected String, got #{value.class}." unless value.is_a?(String)
|
489
|
+
@arc_mu_degree = value
|
490
|
+
end
|
491
|
+
|
492
|
+
# Sets the wedge attribute.
|
493
|
+
#
|
494
|
+
def wedge=(value)
|
495
|
+
raise ArgumentError, "Invalid argument 'value'. Expected String, got #{value.class}." unless value.is_a?(String)
|
496
|
+
@wedge = value
|
497
|
+
end
|
498
|
+
|
499
|
+
# Sets the dynamic_wedge attribute.
|
500
|
+
#
|
501
|
+
def dynamic_wedge=(value)
|
502
|
+
raise ArgumentError, "Invalid argument 'value'. Expected String, got #{value.class}." unless value.is_a?(String)
|
503
|
+
@dynamic_wedge = value
|
504
|
+
end
|
505
|
+
|
506
|
+
# Sets the block attribute.
|
507
|
+
#
|
508
|
+
def block=(value)
|
509
|
+
raise ArgumentError, "Invalid argument 'value'. Expected String, got #{value.class}." unless value.is_a?(String)
|
510
|
+
@block = value
|
511
|
+
end
|
512
|
+
|
513
|
+
# Sets the compensator attribute.
|
514
|
+
#
|
515
|
+
def compensator=(value)
|
516
|
+
raise ArgumentError, "Invalid argument 'value'. Expected String, got #{value.class}." unless value.is_a?(String)
|
517
|
+
@compensator = value
|
518
|
+
end
|
519
|
+
|
520
|
+
# Sets the e_applicator attribute.
|
521
|
+
#
|
522
|
+
def e_applicator=(value)
|
523
|
+
raise ArgumentError, "Invalid argument 'value'. Expected String, got #{value.class}." unless value.is_a?(String)
|
524
|
+
@e_applicator = value
|
525
|
+
end
|
526
|
+
|
527
|
+
# Sets the e_field_def_aperture attribute.
|
528
|
+
#
|
529
|
+
def e_field_def_aperture=(value)
|
530
|
+
raise ArgumentError, "Invalid argument 'value'. Expected String, got #{value.class}." unless value.is_a?(String)
|
531
|
+
@e_field_def_aperture = value
|
532
|
+
end
|
533
|
+
|
534
|
+
# Sets the bolus attribute.
|
535
|
+
#
|
536
|
+
def bolus=(value)
|
537
|
+
raise ArgumentError, "Invalid argument 'value'. Expected String, got #{value.class}." unless value.is_a?(String)
|
538
|
+
@bolus = value
|
539
|
+
end
|
540
|
+
|
541
|
+
# Sets the portfilm_mu_open attribute.
|
542
|
+
#
|
543
|
+
def portfilm_mu_open=(value)
|
544
|
+
raise ArgumentError, "Invalid argument 'value'. Expected String, got #{value.class}." unless value.is_a?(String)
|
545
|
+
@portfilm_mu_open = value
|
546
|
+
end
|
547
|
+
|
548
|
+
# Sets the portfilm_coeff_open attribute.
|
549
|
+
#
|
550
|
+
def portfilm_coeff_open=(value)
|
551
|
+
raise ArgumentError, "Invalid argument 'value'. Expected String, got #{value.class}." unless value.is_a?(String)
|
552
|
+
@portfilm_coeff_open = value
|
553
|
+
end
|
554
|
+
|
555
|
+
# Sets the portfilm_delta_open attribute.
|
556
|
+
#
|
557
|
+
def portfilm_delta_open=(value)
|
558
|
+
raise ArgumentError, "Invalid argument 'value'. Expected String, got #{value.class}." unless value.is_a?(String)
|
559
|
+
@portfilm_delta_open = value
|
560
|
+
end
|
561
|
+
|
562
|
+
# Sets the portfilm_mu_treat attribute.
|
563
|
+
#
|
564
|
+
def portfilm_mu_treat=(value)
|
565
|
+
raise ArgumentError, "Invalid argument 'value'. Expected String, got #{value.class}." unless value.is_a?(String)
|
566
|
+
@portfilm_mu_treat = value
|
567
|
+
end
|
568
|
+
|
569
|
+
# Sets the portfilm_coeff_treat attribute.
|
570
|
+
#
|
571
|
+
def portfilm_coeff_treat=(value)
|
572
|
+
raise ArgumentError, "Invalid argument 'value'. Expected String, got #{value.class}." unless value.is_a?(String)
|
573
|
+
@portfilm_coeff_treat = value
|
574
|
+
end
|
575
|
+
|
576
|
+
end
|
577
|
+
|
578
|
+
end
|