1
<?xml version="1.0" encoding="UTF-8"?>
2
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
3
<!--++++++++++++++++++++++++++++++++++BASE TYPES+++++++++++++++++++++++++++++++++++++++++-->
4
<xs:complexType name="NameType">
5
<xs:attribute name="name" use="required"/>
7
<xs:complexType name="CylinderType">
8
<xs:attribute name="radius" use="required"/>
9
<xs:attribute name="length" use="required"/>
10
<xs:attribute name="units" use="required"/>
12
<xs:complexType name="XYZType">
13
<xs:attribute name="x" use="required"/>
14
<xs:attribute name="y" use="required"/>
15
<xs:attribute name="z" use="required"/>
16
<xs:attribute name="units" use="required"/>
18
<xs:complexType name="RGBType">
19
<xs:attribute name="r" use="optional"/>
20
<xs:attribute name="g" use="optional"/>
21
<xs:attribute name="b" use="optional"/>
23
<xs:complexType name="NType">
24
<xs:attribute name="x" use="required"/>
25
<xs:attribute name="units" use="optional"/>
28
<!--++++++++++++++++++++++++++++++++++MIDDLE TYPES+++++++++++++++++++++++++++++++++++++++++-->
29
<xs:complexType name="SolenoidType">
31
<xs:element name="Volume" type="NameType" minOccurs="1" maxOccurs="1"/>
32
<xs:element name="Dimensions" type="CylinderType" minOccurs="1" maxOccurs="1"/>
33
<xs:element name="MagneticField" type="XYZType" minOccurs="1" maxOccurs="1"/>
34
<xs:element name="Material" type="NameType" minOccurs="1" maxOccurs="1"/>
35
<xs:element name="Invisible" type="NType" minOccurs="1" maxOccurs="1"/>
36
<xs:element name="KalmanSolenoid" type="NType" minOccurs="1" maxOccurs="1"/>
38
<xs:element name="Cryostat" minOccurs="1" type="CryostatType" maxOccurs="1"/>
39
<xs:element name="Diffuser" minOccurs="0" type=" DiffuserType" maxOccurs="1"/>
40
<xs:element name="Tracker" minOccurs="1" type="TrackerType" maxOccurs="1"/>
41
<xs:element name="TrackerCoil" minOccurs="1" type="TrackerCoilType" maxOccurs="1"/>
43
7~ <xs:attribute name="number" use="required" type="xs:int"/>
47
<xs:complexType name="CryostatType">
49
<xs:element name="Position" minOccurs="1" type="XYZType" maxOccurs="1"/>
50
<xs:element name="Rotation" minOccurs="1" type="XYZType" maxOccurs="1"/>
52
<xs:element name="Volume" minOccurs="1" type="NameType" maxOccurs="1"/>
53
<xs:element name="Dimensions" minOccurs="1" type="XYZType" maxOccurs="1"/>
54
<xs:element name="RGB_Values" minOccurs="1" type="RGBType" maxOccurs="1"/>
55
<xs:element name="Material" minOccurs="1" type="NameType" maxOccurs="1"/>
57
<xs:element name="CryostatOuterVessel" minOccurs="1" type="CyrostatOuterVesselType" maxOccurs="1"/>
58
<xs:element name="CryostatInnerTube" minOccurs="1" type="CryostatInnerTubeType" maxOccurs="1"/>
59
<xs:element name="CryostatFrontEndPlate" minOccurs="1" type="CryostatFrontEndPlateType" maxOccurs="1"/>
60
<xs:element name="CryostatBackEndPlate" minOccurs="1" type="CryostatBackEndPlateType" maxOccurs="1"/>
62
<xs:attribute name="number" use="required"/>
63
<xs:attribute name="to_print" use="optional"/>
67
<xs:complexType name="CyrostatOuterVesselType">
69
<xs:element name="Position" type="XYZType"/>
70
<xs:element name="Rotation" type="XYZType"/>
72
<xs:element name="Volume" minOccurs="1" type="NameType"/>
73
<xs:element name="Dimensions" minOccurs="1" type="XYZType"/>
74
<xs:element name="Material" minOccurs="1" type="NameType"/>
75
<xs:element name="RGB_Values" minOccurs="1" type="RGBType"/>
80
<xs:complexType name="CryostatInnerTubeType">
82
<xs:element name="Position" type="XYZType"/>
83
<xs:element name="Rotation" type="XYZType"/>
85
<xs:element name="Volume" minOccurs="1" type="NameType"/>
86
<xs:element name="Dimensions" minOccurs="1" type="XYZType"/>
87
<xs:element name="Material" minOccurs="1" type="NameType"/>
88
<xs:element name="RGB_Values" minOccurs="1" type="RGBType"/>
93
<xs:complexType name="CryostatBackEndPlateType">
95
<xs:element name="Position" type="XYZType"/>
96
<xs:element name="Rotation" type="XYZType"/>
98
<xs:element name="Volume" minOccurs="1" type="NameType"/>
99
<xs:element name="Dimensions" minOccurs="1" type="XYZType"/>
100
<xs:element name="Material" minOccurs="1" type="NameType"/>
101
<xs:element name="RGB_Values" minOccurs="1" type="RGBType"/>
106
<xs:complexType name="CryostatFrontEndPlateType">
108
<xs:element name="Position" type="XYZType"/>
109
<xs:element name="Rotation" type="XYZType"/>
111
<xs:element name="Volume" minOccurs="1" type="NameType"/>
112
<xs:element name="Dimensions" minOccurs="1" type="XYZType"/>
113
<xs:element name="Material" minOccurs="1" type="NameType"/>
114
<xs:element name="RGB_Values" minOccurs="1" type="RGBType"/>
119
<xs:complexType name="DiffuserType">
121
<xs:element name="Position" type="XYZType" minOccurs="1" maxOccurs="1"/>
122
<xs:element name="Rotation" type="XYZType" minOccurs="1" maxOccurs="1"/>
124
<xs:element name="Volume" type="NameType" minOccurs="1" maxOccurs="1"/>
125
<xs:element name="Dimensions" type="CylinderType" minOccurs="1" maxOccurs="1"/>
126
<xs:element name="Material" type="NameType" minOccurs="1" maxOccurs="1"/>
128
<xs:element name="Diffuser_Disc3" type="Diffuser_Disc3Type" minOccurs="1" maxOccurs="1"/>
129
<xs:element name="Diffuser_UpstreamPlane" type="Diffuser_UpstreamPlaneType" minOccurs="1" maxOccurs="1"/>
134
<xs:complexType name="Diffuser_Disc3Type">
136
<xs:element name="Position" type="XYZType"/>
137
<xs:element name="Rotation" type="XYZType"/>
139
<xs:element name="DiffuserBool" type="NameType" minOccurs="1" maxOccurs="1"/>
140
<xs:element name="Volume" minOccurs="1" type="NameType" maxOccurs="1"/>
141
<xs:element name="Dimensions" minOccurs="1" type="CylinderType" maxOccurs="1"/>
142
<xs:element name="Material" minOccurs="1" type="NameType" maxOccurs="1"/>
143
<xs:element name="RGB_Values" minOccurs="1" type="RGBType" maxOccurs="1"/>
148
<xs:complexType name="Diffuser_UpstreamPlaneType">
150
<xs:element name="Position" type="XYZType"/>
151
<xs:element name="Rotation" type="XYZType"/>
153
<xs:element name="Volume" minOccurs="1" type="NameType" maxOccurs="1"/>
154
<xs:element name="Dimensions" minOccurs="1" type="CylinderType" maxOccurs="1"/>
155
<xs:element name="Material" minOccurs="1" type="NameType" maxOccurs="1"/>
156
<xs:element name="SensitiveDectector" type="NameType" minOccurs="1" maxOccurs="1"/>
157
<xs:element name="SteppingInto" type="NType" minOccurs="1" maxOccurs="1"/>
158
<xs:element name="SteepingThrough" type="NType" minOccurs="1" maxOccurs="1"/>
163
<xs:complexType name="TrackerType">
165
<xs:element name="Position" minOccurs="1" type="XYZType" maxOccurs="1"/>
166
<xs:element name="Rotation" minOccurs="1" type="XYZType" maxOccurs="1"/>
168
<xs:element name="Volume" minOccurs="1" type="NameType" maxOccurs="1"/>
169
<xs:element name="Dimensions" minOccurs="1" type="CylinderType" maxOccurs="1"/>
170
<xs:element name="Tracker" type="NType" minOccurs="1" maxOccurs="1"/>
171
<xs:element name="Invisible" type="NType" minOccurs="1" maxOccurs="1"/>
172
<xs:element name="Material" minOccurs="1" type="NameType" maxOccurs="1"/>
174
<xs:element name="TrackerRef" type="TrackerRefType" minOccurs="1" maxOccurs="1"/>
175
<xs:element name="TrackerStation" type="TrackerStationType" minOccurs="0" maxOccurs="5"/>
176
<xs:element name="Tracker1Station" type="Tracker1StationType" minOccurs="0" maxOccurs="5"/>
178
<xs:attribute name="number" use="required" type="xs:int"/>
181
<xs:complexType name="TrackerRefType">
183
<xs:element name="Position" minOccurs="1" type="XYZType" maxOccurs="1"/>
184
<xs:element name="Rotation" minOccurs="1" type="XYZType" maxOccurs="1"/>
186
<xs:element name="Volume" type="NameType" minOccurs="1" maxOccurs="1"/>
187
<xs:element name="Dimensions" type="CylinderType" minOccurs="1" maxOccurs="1"/>
188
<xs:element name="RBG_Values" type="RGBType" minOccurs="1" maxOccurs="1"/>
189
<xs:element name="Station" type="NType" minOccurs="1" maxOccurs="1"/>
190
<xs:element name="Plane" type="NType" minOccurs="1" maxOccurs="1"/>
191
<xs:element name="SensitiveDetector" type="NameType" minOccurs="1" maxOccurs="1"/>
192
<xs:element name="Material" type="NameType" minOccurs="1" maxOccurs="1"/>
194
<xs:attribute name="number" use="required" type="xs:int"/>
198
<xs:complexType name="TrackerStationType">
200
<xs:element name="Position" minOccurs="0" type="XYZType" maxOccurs="1"/>
201
<xs:element name="Rotation" minOccurs="0" type="XYZType" maxOccurs="1"/>
203
<xs:element name="Volume" type="NameType" minOccurs="1" maxOccurs="1"/>
204
<xs:element name="Dimensions" type="CylinderType" minOccurs="1" maxOccurs="1"/>
205
<xs:element name="RBG_Values" type="RGBType" minOccurs="1" maxOccurs="1"/>
206
<xs:element name="Station" type="NType" minOccurs="0" maxOccurs="1"/>
207
<xs:element name="Material" type="NameType" minOccurs="1" maxOccurs="1"/>
208
<xs:element name="OpticsMaterialLength" type="NType"></xs:element>
210
<xs:element name="TrackerView" type="TrackerViewType" minOccurs="0" maxOccurs="3"></xs:element>
211
<xs:element name="Tracker0Station5View" type="Tracker0Station5ViewType" minOccurs="0" maxOccurs="3"></xs:element>
212
<xs:element name="TrackerMylar" type="TrackerMylarType" minOccurs="3" maxOccurs="3"></xs:element>
214
<xs:attribute name="number" use="optional" type="xs:int"></xs:attribute>
218
<xs:complexType name="Tracker1StationType">
220
<xs:element name="Position" minOccurs="1" type="XYZType" maxOccurs="1"/>
221
<xs:element name="Rotation" minOccurs="1" type="XYZType" maxOccurs="1"/>
223
<xs:element name="Volume" type="NameType" minOccurs="1" maxOccurs="1"/>
224
<xs:element name="Dimensions" type="CylinderType" minOccurs="1" maxOccurs="1"/>
225
<xs:element name="RBG_Values" type="RGBType" minOccurs="1" maxOccurs="1"/>
226
<xs:element name="Station" type="NType" minOccurs="1" maxOccurs="1"/>
227
<xs:element name="Material" type="NameType" minOccurs="1" maxOccurs="1"/>
228
<xs:element name="OpticsMaterialLength" type="NType"></xs:element>
230
<xs:element name="TrackerView" type="TrackerViewType" minOccurs="0" maxOccurs="3"></xs:element>
231
<xs:element name="Tracker0Station5View" type="Tracker0Station5ViewType" minOccurs="0" maxOccurs="3"></xs:element>
232
<xs:element name="TrackerMylar" type="TrackerMylarType" minOccurs="3" maxOccurs="3"></xs:element>
234
<xs:attribute name="number" use="required" type="xs:int"></xs:attribute>
238
<xs:complexType name="TrackerViewType">
240
<xs:element name="Position" minOccurs="1" type="XYZType" maxOccurs="1"/>
241
<xs:element name="Rotation" minOccurs="1" type="XYZType" maxOccurs="1"/>
243
<xs:element name="Volume" type="NameType" minOccurs="1" maxOccurs="1"/>
244
<xs:element name="Dimensions" type="CylinderType" minOccurs="1" maxOccurs="1"/>
245
<xs:element name="Material" type="NameType" minOccurs="1" maxOccurs="1"/>
246
<xs:element name="SensitiveDectector" type="NameType" minOccurs="1" maxOccurs="1"/>
247
<xs:element name="Plane" type="NType" minOccurs="1" maxOccurs="1"/>
248
<xs:element name="ActiveRadius" type="NType" minOccurs="1" maxOccurs="1"/>
249
<xs:element name="Pitch" type="NType" minOccurs="1" maxOccurs="1"/>
250
<xs:element name="FibreDiameter" type="NType" minOccurs="1" maxOccurs="1"/>
251
<xs:element name="CoreDiameter" type="NType" minOccurs="1" maxOccurs="1"/>
252
<xs:element name="CentralFibre" type="NType" minOccurs="1" maxOccurs="1"/>
253
<xs:element name="Invisible" type="NType" minOccurs="1" maxOccurs="1"/>
254
<xs:element name="G4Detector" type="NameType" minOccurs="1" maxOccurs="1"/>
255
<xs:element name="G4StepMax" type="NType" minOccurs="1" maxOccurs="1"/>
257
<xs:attribute name="letter" use="required" type="xs:string"/>
258
<xs:attribute name="to_print" use="optional"/>
262
<xs:complexType name="Tracker0Station5ViewType">
264
<xs:element name="Position" minOccurs="1" type="XYZType" maxOccurs="1"/>
265
<xs:element name="Rotation" minOccurs="1" type="XYZType" maxOccurs="1"/>
267
<xs:element name="Volume" type="NameType" minOccurs="1" maxOccurs="1"/>
268
<xs:element name="Dimensions" type="CylinderType" minOccurs="1" maxOccurs="1"/>
269
<xs:element name="Material" type="NameType" minOccurs="1" maxOccurs="1"/>
270
<xs:element name="SensitiveDectector" type="NameType" minOccurs="1" maxOccurs="1"/>
271
<xs:element name="Plane" type="NType" minOccurs="1" maxOccurs="1"/>
272
<xs:element name="ActiveRadius" type="NType" minOccurs="1" maxOccurs="1"/>
273
<xs:element name="Pitch" type="NType" minOccurs="1" maxOccurs="1"/>
274
<xs:element name="FibreDiameter" type="NType" minOccurs="1" maxOccurs="1"/>
275
<xs:element name="CoreDiameter" type="NType" minOccurs="1" maxOccurs="1"/>
276
<xs:element name="CentralFibre" type="NType" minOccurs="1" maxOccurs="1"/>
277
<xs:element name="Invisible" type="NType" minOccurs="1" maxOccurs="1"/>
278
<xs:element name="G4Detector" type="NameType" minOccurs="1" maxOccurs="1"/>
279
<xs:element name="G4StepMax" type="NType" minOccurs="1" maxOccurs="1"/>
281
<xs:attribute name="letter" use="required" type="xs:string"/>
285
<xs:complexType name="TrackerMylarType">
287
<xs:element name="Position" minOccurs="1" type="XYZType" maxOccurs="1"/>
288
<xs:element name="Rotation" minOccurs="1" type="XYZType" maxOccurs="1"/>
290
<xs:element name="Volume" type="NameType" minOccurs="1" maxOccurs="1"/>
291
<xs:element name="Dimensions" type="CylinderType" minOccurs="1" maxOccurs="1"/>
292
<xs:element name="Material" type="NameType" minOccurs="1" maxOccurs="1"/>
293
<xs:element name="RBG_Values" type="RGBType" minOccurs="1" maxOccurs="1"/>
295
<xs:attribute name="to_print" use="optional"/>
299
<xs:complexType name="TrackerCoilType">
301
<xs:element name="Position" type="XYZType" minOccurs="1" maxOccurs="1"/>
302
<xs:element name="Rotation" type="XYZType" minOccurs="1" maxOccurs="1"/>
304
<xs:element name="Volume" type="NameType" maxOccurs="1" minOccurs="1"/>
305
<xs:element name="Dimension" type="XYZType" minOccurs="1" maxOccurs="1"/>
307
<xs:element name="MatchCoil" type="MatchCoilType" minOccurs="2" maxOccurs="2"/>
308
<xs:element name="EndCoil" type="EndCoilType" minOccurs="2" maxOccurs="2"/>
309
<xs:element name="CenterCoil" type="CenterCoilType" minOccurs="1" maxOccurs="1"/>
311
<xs:attribute name="to_print" use="optional"/>
315
<xs:complexType name="MatchCoilType">
317
<xs:element name="Position" type="XYZType" minOccurs="1" maxOccurs="1"/>
318
<xs:element name="Rotation" type="XYZType" minOccurs="1" maxOccurs="1"/>
319
<xs:element name="ScaleFactor" type="NType" minOccurs="1" maxOccurs="1"/>
321
<xs:element name="Volume" type="NameType" maxOccurs="1" minOccurs="1"/>
322
<xs:element name="Dimension" type="XYZType" minOccurs="1" maxOccurs="1"/>
323
<xs:element name="RGBColor" type="RGBType" minOccurs="1" maxOccurs="1"/>
324
<xs:element name="Material" type="NameType" minOccurs="1" maxOccurs="1"/>
326
<xs:element name="FieldType" type="NameType" minOccurs="1" maxOccurs="1"/>
327
<xs:element name="FileName" type="NameType" minOccurs="1" maxOccurs="1"/>
328
<xs:element name="CurrentDensity" type="NType" minOccurs="1" maxOccurs="1"/>
329
<xs:element name="Length" type="NType" minOccurs="1" maxOccurs="1"/>
330
<xs:element name="Thickness" type="NType" minOccurs="1" maxOccurs="1"/>
331
<xs:element name="InnerRadius" type="NType" minOccurs="1" maxOccurs="1"/>
332
<xs:element name="FieldTolerance" type="NType" minOccurs="1" maxOccurs="1"/>
334
<xs:attribute name="number" type="xs:int" use="required"/>
335
<xs:attribute name="to_print" use="optional"/>
339
<xs:complexType name="EndCoilType">
341
<xs:element name="Position" type="XYZType" minOccurs="1" maxOccurs="1"/>
342
<xs:element name="Rotation" type="XYZType" minOccurs="1" maxOccurs="1"/>
343
<xs:element name="ScaleFactor" type="NType" minOccurs="1" maxOccurs="1"/>
345
<xs:element name="Volume" type="NameType" maxOccurs="1" minOccurs="1"/>
346
<xs:element name="Dimension" type="XYZType" minOccurs="1" maxOccurs="1"/>
347
<xs:element name="RGBColor" type="RGBType" minOccurs="1" maxOccurs="1"/>
348
<xs:element name="Material" type="NameType" minOccurs="1" maxOccurs="1"/>
350
<xs:element name="FieldType" type="NameType" minOccurs="1" maxOccurs="1"/>
351
<xs:element name="FileName" type="NameType" minOccurs="1" maxOccurs="1"/>
352
<xs:element name="CurrentDensity" type="NType" minOccurs="1" maxOccurs="1"/>
353
<xs:element name="Length" type="NType" minOccurs="1" maxOccurs="1"/>
354
<xs:element name="Thickness" type="NType" minOccurs="1" maxOccurs="1"/>
355
<xs:element name="InnerRadius" type="NType" minOccurs="1" maxOccurs="1"/>
356
<xs:element name="FieldTolerance" type="NType" minOccurs="1" maxOccurs="1"/>
358
<xs:attribute name="number" type="xs:int" use="required"/>
359
<xs:attribute name="to_print" use="optional"/>
363
<xs:complexType name="CenterCoilType">
365
<xs:element name="Position" type="XYZType" minOccurs="1" maxOccurs="1"/>
366
<xs:element name="Rotation" type="XYZType" minOccurs="1" maxOccurs="1"/>
367
<xs:element name="ScaleFactor" type="NType" minOccurs="1" maxOccurs="1"/>
369
<xs:element name="Volume" type="NameType" maxOccurs="1" minOccurs="1"/>
370
<xs:element name="Dimension" type="XYZType" minOccurs="1" maxOccurs="1"/>
371
<xs:element name="RGBColor" type="RGBType" minOccurs="1" maxOccurs="1"/>
372
<xs:element name="Material" type="NameType" minOccurs="1" maxOccurs="1"/>
374
<xs:element name="FieldType" type="NameType" minOccurs="1" maxOccurs="1"/>
375
<xs:element name="FileName" type="NameType" minOccurs="1" maxOccurs="1"/>
376
<xs:element name="CurrentDensity" type="NType" minOccurs="1" maxOccurs="1"/>
377
<xs:element name="Length" type="NType" minOccurs="1" maxOccurs="1"/>
378
<xs:element name="Thickness" type="NType" minOccurs="1" maxOccurs="1"/>
379
<xs:element name="InnerRadius" type="NType" minOccurs="1" maxOccurs="1"/>
380
<xs:element name="FieldTolerance" type="NType" minOccurs="1" maxOccurs="1"/>
382
<xs:attribute name="to_print" use="optional"/>
388
<!--++++++++++++++++++++++++++++++++++BASE TYPES+++++++++++++++++++++++++++++++++++++++++-->
389
<xs:element name="Tracker_Information">
392
<xs:element name="TrackerSolenoid" type="SolenoidType" minOccurs="0" maxOccurs="2"/>
393
<xs:element name="TrackerSingleStation" type="TrackerStationType" minOccurs="0" maxOccurs="1"/>