rtp-connect 1.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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