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.
@@ -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