~mbogomilov/maus/devel3

« back to all changes in this revision

Viewing changes to src/common_py/geometry/xsltScripts/TrackerTranslation.xsl

  • Committer: Durga Rajaram
  • Date: 2013-11-19 02:09:06 UTC
  • mfrom: (659.1.77 rc)
  • Revision ID: durga@fnal.gov-20131119020906-t2vxx4h2yr0f09tj
Tags: MAUS-v0.7.4
MAUS-v0.7.4

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
<?xml version="1.0" encoding="UTF-8"?>
 
2
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
 
3
    xmlns:xs="http://www.w3.org/2001/XMLSchema"
 
4
    exclude-result-prefixes="xs"
 
5
    version="2.0">
 
6
    <xsl:output method="text"/>
 
7
    <xsl:template match="/Tracker_Information">
 
8
        
 
9
    <xsl:for-each select="TrackerSolenoid">
 
10
    <xsl:variable name="TrackerFileName" select="concat('TrackerSolenoid', @number, '.dat')"/>
 
11
        <xsl:value-of select="$TrackerFileName"/>
 
12
        <xsl:result-document href="{$TrackerFileName}" method="text">
 
13
            <html>
 
14
                <head>
 
15
                    <title>Module TrackerSolenoid<xsl:value-of select="@number"/>
 
16
                           {
 
17
                                Volume <xsl:value-of select="Volume/@name"/>
 
18
                                Dimensions <xsl:value-of select="Dimensions/@radius"/><xsl:text> </xsl:text><xsl:value-of select="Dimensions/@length"/><xsl:text> </xsl:text><xsl:value-of select="Dimensions/@units"/>
 
19
                                PropertyHep3Vector MagneticField <xsl:value-of select="MagneticField/@x"/><xsl:text> </xsl:text><xsl:value-of select="MagneticField/@y"/><xsl:text> </xsl:text><xsl:value-of select="MagneticField/@z"/><xsl:text> </xsl:text><xsl:value-of select="MagneticField/@units"/>
 
20
                                PropertyString Material <xsl:value-of select="Material/@name"/>
 
21
                                PropertyBool Invisible <xsl:value-of select="Invisible/@x"/>
 
22
                                PropertyInt KalamanSolenoid <xsl:value-of select="KalmanSolenoid/@x"/>
 
23
                                <xsl:text> 
 
24
                                </xsl:text>
 
25
                    </title>
 
26
                </head>
 
27
                <body>
 
28
                                Module Tracker/Crysotat<xsl:value-of select="Cryostat/@number"/>.dat
 
29
                                {
 
30
                                  Position <xsl:value-of select="Cryostat/Position/@x"/><xsl:text> </xsl:text><xsl:value-of select="Cryostat/Position/@y"/><xsl:text> </xsl:text><xsl:value-of select="Cryostat/Position/@z"/><xsl:text> </xsl:text><xsl:value-of select="Cryostat/Position/@units"/>
 
31
                                  Rotation <xsl:value-of select="Cryostat/Rotation/@x"/><xsl:text> </xsl:text><xsl:value-of select="Cryostat/Rotation/@y"/><xsl:text> </xsl:text><xsl:value-of select="Cryostat/Rotation/@z"/><xsl:text> </xsl:text><xsl:value-of select="Cryostat/Rotation/@units"/>
 
32
                                  <xsl:text> </xsl:text>
 
33
                                }
 
34
                                
 
35
                                Module Tracker/Tracker<xsl:value-of select="Tracker/@number"/>.dat
 
36
                                {
 
37
                                  Position <xsl:value-of select="Tracker/Position/@x"/><xsl:text> </xsl:text><xsl:value-of select="Tracker/Position/@y"/><xsl:text> </xsl:text><xsl:value-of select="Tracker/Position/@z"/><xsl:text> </xsl:text><xsl:value-of select="Tracker/Position/@units"/>
 
38
                                  Rotation <xsl:value-of select="Tracker/Rotation/@x"/><xsl:text> </xsl:text><xsl:value-of select="Tracker/Rotation/@y"/><xsl:text> </xsl:text><xsl:value-of select="Tracker/Rotation/@z"/><xsl:text> </xsl:text><xsl:value-of select="Tracker/Rotation/@units"/>
 
39
                                  <xsl:text> </xsl:text>
 
40
                                }
 
41
                                
 
42
                                Module Tracker/TrackerCoil.dat
 
43
                                {
 
44
                                  Position <xsl:value-of select="TrackerCoil/Position/@x"/><xsl:text> </xsl:text><xsl:value-of select="TrackerCoil/Position/@y"/><xsl:text> </xsl:text><xsl:value-of select="TrackerCoil/Position/@z"/><xsl:text> </xsl:text><xsl:value-of select="TrackerCoil/Position/@units"/>
 
45
                                  Rotation <xsl:value-of select="TrackerCoil/Rotation/@x"/><xsl:text> </xsl:text><xsl:value-of select="TrackerCoil/Rotation/@y"/><xsl:text> </xsl:text><xsl:value-of select="TrackerCoil/Rotation/@z"/><xsl:text> </xsl:text><xsl:value-of select="TrackerCoil/Rotation/@units"/>
 
46
                                  <xsl:text> </xsl:text>
 
47
                                }
 
48
                           }
 
49
                </body>
 
50
            </html>
 
51
        </xsl:result-document>
 
52
    </xsl:for-each>
 
53
        
 
54
    <xsl:for-each select="TrackerSolenoid/Cryostat">
 
55
        <xsl:variable name="CrysotatFileName" select="concat('Cryostat',@number,'.dat')"/>
 
56
        <xsl:value-of select="$CrysotatFileName"/>
 
57
        <xsl:result-document href="{$CrysotatFileName}" method="text">
 
58
            <html>
 
59
                <head>
 
60
                    <title>Module Cryostat<xsl:value-of select="@number"/>
 
61
                           {
 
62
                                Volume <xsl:value-of select="Volume/@name"/>
 
63
                                Dimensions <xsl:value-of select="Position/@x"/><xsl:text> </xsl:text><xsl:value-of select="Position/@y"/><xsl:text> </xsl:text><xsl:value-of select="Position/@z"/><xsl:text> </xsl:text><xsl:value-of select="Position/@units"/>
 
64
                                PropertyDouble BlueColour <xsl:value-of select="RGB_Values/@b"/>
 
65
                                PropertyDouble GreenColour <xsl:value-of select="RGB_Values/@g"/>
 
66
                                PropertyDouble RedColour <xsl:value-of select="RGB_Values/@r"/>
 
67
                                PropertyString Material <xsl:value-of select="Material/@name"/>
 
68
                                <xsl:text> 
 
69
                                </xsl:text>
 
70
                    </title>
 
71
                </head>
 
72
                <body>
 
73
                                Module Tracker/CryostatOuterVessel.dat
 
74
                                {
 
75
                                  Position <xsl:value-of select="CryostatOuterVessel/Position/@x"/><xsl:text> </xsl:text><xsl:value-of select="CryostatOuterVessel/Position/@y"/><xsl:text> </xsl:text><xsl:value-of select="CryostatOuterVessel/Position/@z"/><xsl:text> </xsl:text><xsl:value-of select="CryostatOuterVessel/Position/@units"/>
 
76
                                  Rotation <xsl:value-of select="CryostatOuterVessel/Rotation/@x"/><xsl:text> </xsl:text><xsl:value-of select="CryostatOuterVessel/Rotation/@y"/><xsl:text> </xsl:text><xsl:value-of select="CryostatOuterVessel/Rotation/@z"/><xsl:text> </xsl:text><xsl:value-of select="CryostatOuterVessel/Rotation/@units"/>
 
77
                                }
 
78
                                
 
79
                                Module Tracker/CryostatInnerTube.dat
 
80
                                {
 
81
                                  Position <xsl:value-of select="CryostatInnerTube/Position/@x"/><xsl:text> </xsl:text><xsl:value-of select="CryostatInnerTube/Position/@y"/><xsl:text> </xsl:text><xsl:value-of select="CryostatInnerTube/Position/@z"/><xsl:text> </xsl:text><xsl:value-of select="CryostatInnerTube/Position/@units"/>
 
82
                                  Rotation <xsl:value-of select="CryostatInnerTube/Rotation/@x"/><xsl:text> </xsl:text><xsl:value-of select="CryostatInnerTube/Rotation/@y"/><xsl:text> </xsl:text><xsl:value-of select="CryostatInnerTube/Rotation/@z"/><xsl:text> </xsl:text><xsl:value-of select="CryostatInnerTube/Rotation/@units"/>
 
83
                                }
 
84
                                
 
85
                                Module Tracker/CryostatFrontEndPlate.dat
 
86
                                {
 
87
                                  Position <xsl:value-of select="CryostatFrontEndPlate/Rotation/@x"/><xsl:text> </xsl:text><xsl:value-of select="CryostatFrontEndPlate/Position/@y"/><xsl:text> </xsl:text><xsl:value-of select="CryostatFrontEndPlate/Position/@z"/><xsl:text> </xsl:text><xsl:value-of select="CryostatFrontEndPlate/Position/@units"/>
 
88
                                  Rotation <xsl:value-of select="CryostatFrontEndPlate/Rotation/@x"/><xsl:text> </xsl:text><xsl:value-of select="CryostatFrontEndPlate/Rotation/@y"/><xsl:text> </xsl:text><xsl:value-of select="CryostatFrontEndPlate/Rotation/@z"/><xsl:text> </xsl:text><xsl:value-of select="CryostatFrontEndPlate/Rotation/@units"/>
 
89
                                }
 
90
                                
 
91
                                Module Tracker/CryostatBackEndPlate.dat
 
92
                                {
 
93
                                  Position <xsl:value-of select="CryostatBackEndPlate/Rotation/@x"/><xsl:text> </xsl:text><xsl:value-of select="CryostatBackEndPlate/Position/@y"/><xsl:text> </xsl:text><xsl:value-of select="CryostatBackEndPlate/Position/@z"/><xsl:text> </xsl:text><xsl:value-of select="CryostatBackEndPlate/Position/@units"/>
 
94
                                  Rotation <xsl:value-of select="CryostatBackEndPlate/Rotation/@x"/><xsl:text> </xsl:text><xsl:value-of select="CryostatBackEndPlate/Rotation/@y"/><xsl:text> </xsl:text><xsl:value-of select="CryostatBackEndPlate/Rotation/@z"/><xsl:text> </xsl:text><xsl:value-of select="CryostatBackEndPlate/Rotation/@units"/>
 
95
                                }
 
96
                                
 
97
                           }   
 
98
                </body>
 
99
            </html>
 
100
        </xsl:result-document>
 
101
    </xsl:for-each>
 
102
    
 
103
    <xsl:for-each select="TrackerSolenoid/Cryostat">
 
104
    <xsl:variable name="CrystatOuterVesselFile" select="concat('CryostatOuterVessel','.dat')"/>
 
105
    <xsl:value-of select="$CrystatOuterVesselFile"/>
 
106
    <xsl:if test="@to_print = 'Yes'">
 
107
    <xsl:result-document href="{$CrystatOuterVesselFile}" method="text">
 
108
        <html>
 
109
          <head>
 
110
          Module TrackerCryostatOuterVessel
 
111
          {
 
112
            Volume <xsl:value-of select="CryostatOuterVessel/Volume/@name"/>
 
113
            Dimensions <xsl:value-of select="CryostatOuterVessel/Dimensions/@x"/><xsl:text> </xsl:text><xsl:value-of select="CryostatOuterVessel/Dimensions/@y"/><xsl:text> </xsl:text><xsl:value-of select="CryostatOuterVessel/Dimensions/@z"/><xsl:text> </xsl:text><xsl:value-of select="CryostatOuterVessel/Dimensions/@units"/>
 
114
            PropertyString Material <xsl:value-of select="CryostatOuterVessel/Material/@name"/>
 
115
            PropertyDouble BlueColour <xsl:value-of select="CryostatOuterVessel/RGB_Values/@b"/>
 
116
            PropertyDouble GreenColour <xsl:value-of select="CryostatOuterVessel/RGB_Values/@g"/>
 
117
            PropertyDouble RedColour <xsl:value-of select="CryostatOuterVessel/RGB_Values/@r"/>
 
118
           }
 
119
          </head>
 
120
        </html>
 
121
        
 
122
    </xsl:result-document>
 
123
    </xsl:if>
 
124
    </xsl:for-each>
 
125
    
 
126
    <xsl:for-each select="TrackerSolenoid/Cryostat">
 
127
    <xsl:variable name="CryostatInnerTubeFile" select="concat('CryostatInnerTube','.dat')"/>
 
128
    <xsl:value-of select="$CryostatInnerTubeFile"/>
 
129
    <xsl:if test="@to_print = 'Yes'">
 
130
    <xsl:result-document href="{$CryostatInnerTubeFile}" method="text">
 
131
        <html>
 
132
            <head>
 
133
            Module TrackerCryostatInnerTube
 
134
            {
 
135
              Volume <xsl:value-of select="CryostatInnerTube/Volume/@name"/>
 
136
              Dimensions <xsl:value-of select="CryostatInnerTube/Dimensions/@x"/><xsl:text> </xsl:text><xsl:value-of select="CryostatInnerTube/Dimensions/@y"/><xsl:text> </xsl:text><xsl:value-of select="CryostatInnerTube/Dimensions/@z"/><xsl:text> </xsl:text><xsl:value-of select="CryostatInnerTube/Dimensions/@units"/>
 
137
              PropertyString Material <xsl:value-of select="CryostatInnerTube/Material/@name"/>
 
138
              PropertyDouble BlueColour <xsl:value-of select="CryostatInnerTube/RGB_Values/@b"/>
 
139
              PropertyDouble GreenColour <xsl:value-of select="CryostatInnerTube/RGB_Values/@g"/>
 
140
              PropertyDouble RedColour <xsl:value-of select="CryostatInnerTube/RGB_Values/@r"/>
 
141
            }
 
142
            </head>
 
143
        </html>
 
144
    </xsl:result-document>
 
145
    </xsl:if>
 
146
    </xsl:for-each>
 
147
 
 
148
    <xsl:for-each select="TrackerSolenoid/Cryostat">
 
149
    <xsl:variable name="CryostatFrontEndPlateFile" select="concat('CryostatFrontEndPlate','.dat')"/>
 
150
    <xsl:value-of select="$CryostatFrontEndPlateFile"/>
 
151
    <xsl:if test="@to_print = 'Yes'">
 
152
    <xsl:result-document href="{$CryostatFrontEndPlateFile}" method="text">
 
153
        <html>
 
154
            <head>
 
155
            Module TrackerCryostatFrontEndPlate
 
156
            {
 
157
              Volume <xsl:value-of select="CryostatFrontEndPlate/Volume/@name"/>
 
158
              Dimensions <xsl:value-of select="CryostatFrontEndPlate/Dimensions/@x"/><xsl:text> </xsl:text><xsl:value-of select="CryostatFrontEndPlate/Dimensions/@y"/><xsl:text> </xsl:text><xsl:value-of select="CryostatFrontEndPlate/Dimensions/@z"/><xsl:text> </xsl:text><xsl:value-of select="CryostatFrontEndPlate/Dimensions/@units"/>
 
159
              PropertyString Material <xsl:value-of select="CryostatFrontEndPlate/Material/@name"/>
 
160
              PropertyDouble BlueColour <xsl:value-of select="CryostatFrontEndPlate/RGB_Values/@b"/>
 
161
              PropertyDouble GreenColour <xsl:value-of select="CryostatFrontEndPlate/RGB_Values/@g"/>
 
162
              PropertyDouble RedColour <xsl:value-of select="CryostatFrontEndPlate/RGB_Values/@r"/>
 
163
            }
 
164
            </head>
 
165
        </html>
 
166
    </xsl:result-document>
 
167
    </xsl:if>
 
168
    </xsl:for-each>
 
169
 
 
170
    <xsl:for-each select="TrackerSolenoid/Cryostat">
 
171
    <xsl:variable name="CryostatBackEndPlateFile" select="concat('CryostatBackEndPlate','.dat')"/>
 
172
    <xsl:value-of select="$CryostatBackEndPlateFile"/>
 
173
    <xsl:if test="@to_print = 'Yes'">
 
174
    <xsl:result-document href="{$CryostatBackEndPlateFile}" method="text">
 
175
        <html>
 
176
            <head>
 
177
            Module TrackerCryostatFrontEndPlate
 
178
            {
 
179
              Volume <xsl:value-of select="CryostatBackEndPlate/Volume/@name"/>
 
180
              Dimensions <xsl:value-of select="CryostatBackEndPlate/Dimensions/@x"/><xsl:text> </xsl:text><xsl:value-of select="CryostatBackEndPlate/Dimensions/@y"/><xsl:text> </xsl:text><xsl:value-of select="CryostatBackEndPlate/Dimensions/@z"/><xsl:text> </xsl:text><xsl:value-of select="CryostatBackEndPlate/Dimensions/@units"/>
 
181
              PropertyString Material <xsl:value-of select="CryostatBackEndPlate/Material/@name"/>
 
182
              PropertyDouble BlueColour <xsl:value-of select="CryostatBackEndPlate/RGB_Values/@b"/>
 
183
              PropertyDouble GreenColour <xsl:value-of select="CryostatBackEndPlate/RGB_Values/@g"/>
 
184
              PropertyDouble RedColour <xsl:value-of select="CryostatBackEndPlate/RGB_Values/@r"/>
 
185
            }
 
186
            </head>
 
187
        </html>
 
188
    </xsl:result-document>
 
189
    </xsl:if>
 
190
    </xsl:for-each>
 
191
        
 
192
    <xsl:for-each select="TrackerSolenoid/Tracker">
 
193
    <xsl:variable name="TrackerFileName" select="concat('Tracker',@number,'.dat')"/>
 
194
    <xsl:value-of select="$TrackerFileName"/>
 
195
    <xsl:result-document href="{$TrackerFileName}" method="text">
 
196
        <html>
 
197
            <head>Module Tracker<xsl:value-of select="@number"/>
 
198
                  {
 
199
                    Volume <xsl:value-of select="Volume/@name"/>
 
200
                    Dimensions <xsl:value-of select="Dimensions/@radius"/><xsl:text> </xsl:text><xsl:value-of select="Dimensions/@length"/><xsl:text> </xsl:text><xsl:value-of select="Dimensions/@units"/>
 
201
                    PropertyInt Tracker <xsl:value-of select="Tracker/@x"/>
 
202
                    PropertyBool Invisible <xsl:value-of select="Invisible/@x"/>
 
203
                    PropertyString Material <xsl:value-of select="Material/@name"/>
 
204
                    <xsl:text> 
 
205
                    </xsl:text>
 
206
            </head>
 
207
            <body>
 
208
                    Module Tracker/TrackerRef<xsl:value-of select="TrackerRef/@number"/>.dat
 
209
                    {
 
210
                      Position <xsl:value-of select="TrackerRef/Position/@x"/><xsl:text> </xsl:text><xsl:value-of select="TrackerRef/Position/@y"/><xsl:text> </xsl:text><xsl:value-of select="TrackerRef/Position/@z"/><xsl:text> </xsl:text><xsl:value-of select="TrackerRef/Position/@units"/>
 
211
                      Rotation <xsl:value-of select="TrackerRef/Rotation/@x"/><xsl:text> </xsl:text><xsl:value-of select="TrackerRef/Rotation/@y"/><xsl:text> </xsl:text><xsl:value-of select="TrackerRef/Rotation/@z"/><xsl:text> </xsl:text><xsl:value-of select="TrackerRef/Rotation/@units"/>
 
212
                    }
 
213
                    <xsl:for-each select="TrackerStation">
 
214
                    Module Tracker/TrackerStation<xsl:value-of select="@number"/>.dat
 
215
                    {
 
216
                      Position <xsl:value-of select="Position/@x"/><xsl:text> </xsl:text><xsl:value-of select="Position/@y"/><xsl:text> </xsl:text><xsl:value-of select="Position/@z"/><xsl:text> </xsl:text><xsl:value-of select="Position/@units"/>
 
217
                      Rotation <xsl:value-of select="Rotation/@x"/><xsl:text> </xsl:text><xsl:value-of select="Rotation/@y"/><xsl:text> </xsl:text><xsl:value-of select="Rotation/@z"/><xsl:text> </xsl:text><xsl:value-of select="Rotation/@units"/>
 
218
                    }
 
219
                    </xsl:for-each>
 
220
                    
 
221
                    <xsl:if test="@number = '1'">
 
222
                    <xsl:for-each select="Tracker1Station">
 
223
                    Module Tracker/Tracker1Station<xsl:value-of select="@number"/>.dat
 
224
                    {
 
225
                      Position <xsl:value-of select="Position/@x"/><xsl:text> </xsl:text><xsl:value-of select="Position/@y"/><xsl:text> </xsl:text><xsl:value-of select="Position/@z"/><xsl:text> </xsl:text><xsl:value-of select="Position/@units"/>
 
226
                      Rotation <xsl:value-of select="Rotation/@x"/><xsl:text> </xsl:text><xsl:value-of select="Rotation/@y"/><xsl:text> </xsl:text><xsl:value-of select="Rotation/@z"/><xsl:text> </xsl:text><xsl:value-of select="Rotation/@units"/>
 
227
                    }
 
228
                    </xsl:for-each>                        
 
229
                    </xsl:if>
 
230
                  } 
 
231
            </body>
 
232
        </html>
 
233
    </xsl:result-document>
 
234
    </xsl:for-each>
 
235
 
 
236
    <xsl:for-each select="TrackerSolenoid/Tracker/TrackerRef">
 
237
    <xsl:variable name="TrackerRefFile" select="concat('TrackerRef',@number,'.dat')"/>
 
238
    <xsl:value-of select="$TrackerRefFile"/>
 
239
    <xsl:result-document href="{$TrackerRefFile}" method="text">
 
240
        <html>
 
241
            <head>
 
242
                Module TrackerRef <xsl:value-of select="@number"/>
 
243
                {
 
244
                  Volume <xsl:value-of select="Volume/@name"/>
 
245
                  Dimensions <xsl:value-of select="Dimensions/@radius"/><xsl:text> </xsl:text><xsl:value-of select="Dimensions/@length"/><xsl:text> </xsl:text><xsl:value-of select="Dimensions/@units"/>
 
246
                  PropertyInt RedColour <xsl:value-of select="RBG_Values/@r"/>
 
247
                  PropertyInt BlueColour <xsl:value-of select="RBG_Values/@b"/>
 
248
                  PropertyInt GreenColour <xsl:value-of select="RBG_Values/@g"/>
 
249
                  PropertyInt Station <xsl:value-of select="Station/@x"/>
 
250
                  PropertyInt Plane <xsl:value-of select="Plane/@x"/>
 
251
                  PropertyString SensitiveDetector <xsl:value-of select="SensitiveDetector/@name"/>
 
252
                  PropertyString Material <xsl:value-of select="Material/@name"/>
 
253
                }
 
254
            </head>
 
255
        </html>
 
256
    </xsl:result-document>
 
257
    </xsl:for-each>
 
258
        
 
259
    <xsl:for-each select="TrackerSolenoid/Tracker/TrackerStation">
 
260
    <xsl:variable name="TrackerStationFile" select="concat('TrackerStation',@number,'.dat')"/>
 
261
    <xsl:value-of select="$TrackerStationFile"/>
 
262
    <xsl:result-document href="{$TrackerStationFile}" method="text">
 
263
        <html>
 
264
            <head>
 
265
                Module TrackerStation<xsl:value-of select="@number"/>
 
266
                {
 
267
                  Volume <xsl:value-of select="Volume/@name"/>
 
268
                  Dimensions <xsl:value-of select="Dimensions/@radius"/><xsl:text> </xsl:text><xsl:value-of select="Dimensions/@length"/><xsl:text> </xsl:text><xsl:value-of select="Dimensions/@units"/>
 
269
                  PropertyDouble GreenColour <xsl:value-of select="RBG_Values/@g"/>
 
270
                  PropertyDouble RedColour <xsl:value-of select="RBG_Values/@r"/>
 
271
                  PropertyInt Station <xsl:value-of select="Station/@x"/>
 
272
                  PropertyString Material <xsl:value-of select="Material/@name"/>
 
273
                  PropertyDouble OpticsMaterialLength <xsl:value-of select="OpticsMaterialLength/@x"/><xsl:text> </xsl:text><xsl:value-of select="OpticsMaterialLength/@units"/>
 
274
                  <xsl:text>
 
275
                  </xsl:text>
 
276
            </head>
 
277
            <body>
 
278
                  <xsl:for-each select="TrackerView">
 
279
                  Module Tracker/TrackerView<xsl:value-of select="@letter"/>.dat
 
280
                  {
 
281
                    Position <xsl:value-of select="Position/@x"/><xsl:text> </xsl:text><xsl:value-of select="Position/@y"/><xsl:text> </xsl:text><xsl:value-of select="Position/@z"/><xsl:text> </xsl:text><xsl:value-of select="Position/@units"/>
 
282
                    Rotation <xsl:value-of select="Rotation/@x"/><xsl:text> </xsl:text><xsl:value-of select="Rotation/@y"/><xsl:text> </xsl:text><xsl:value-of select="Rotation/@z"/><xsl:text> </xsl:text><xsl:value-of select="Rotation/@units"/>
 
283
                  }    
 
284
                  </xsl:for-each>
 
285
                
 
286
                  <xsl:for-each select="TrackerMylar">
 
287
                  Module Tracker/TrackerMylar.dat
 
288
                  {
 
289
                    Position <xsl:value-of select="Position/@x"/><xsl:text> </xsl:text><xsl:value-of select="Position/@y"/><xsl:text> </xsl:text><xsl:value-of select="Position/@z"/><xsl:text> </xsl:text><xsl:value-of select="Position/@units"/>
 
290
                    Rotation <xsl:value-of select="Rotation/@x"/><xsl:text> </xsl:text><xsl:value-of select="Rotation/@y"/><xsl:text> </xsl:text><xsl:value-of select="Rotation/@z"/><xsl:text> </xsl:text><xsl:value-of select="Rotation/@units"/>
 
291
                  } 
 
292
                  </xsl:for-each>
 
293
                }   
 
294
            </body>
 
295
        </html>
 
296
    </xsl:result-document>
 
297
    </xsl:for-each>    
 
298
 
 
299
    <xsl:for-each select="TrackerSolenoid/Tracker/TrackerStation/TrackerView">
 
300
    <xsl:if test="@to_print = 'Yes'">
 
301
    <xsl:variable name="TrackerViewFile" select="concat('TrackerView',@letter,'.dat')"/>
 
302
    <xsl:value-of select="$TrackerViewFile"/>
 
303
    <xsl:result-document href="{$TrackerViewFile}" method="text">
 
304
        <html>
 
305
            <head>
 
306
                Module TrackerView<xsl:value-of select="@letter"/>
 
307
                {
 
308
                  Volume <xsl:value-of select="Volume/@name"/>
 
309
                  Dimensions <xsl:value-of select="Dimensions/@radius"/><xsl:text> </xsl:text><xsl:value-of select="Dimensions/@length"/><xsl:text> </xsl:text><xsl:value-of select="Dimensions/@units"/>
 
310
                  PropertyString Material <xsl:value-of select="Material/@name"/>
 
311
                  PropertyString SensitiveDetector <xsl:value-of select="SensitiveDectector/@name"/>
 
312
                  PropertyInt Plane <xsl:value-of select="Plane/@x"/>
 
313
                  PropertyDouble ActiveRadius <xsl:value-of select="ActiveRadius/@x"/><xsl:text> </xsl:text><xsl:value-of select="ActiveRadius/@units"/>
 
314
                  PropertyDouble Pitch <xsl:value-of select="Pitch/@x"/><xsl:text> </xsl:text><xsl:value-of select="Pitch/@units"/>
 
315
                  PropertyDouble FibreDiameter <xsl:value-of select="FibreDiameter/@x"/><xsl:text> </xsl:text><xsl:value-of select="FibreDiameter/@units"/>
 
316
                  PropertyDouble CoreDiameter <xsl:value-of select="CoreDiameter/@x"/><xsl:text> </xsl:text><xsl:value-of select="CoreDiameter/@units"/>
 
317
                  PropertyDouble CentralFibre <xsl:value-of select="CentralFibre/@x"/>
 
318
                  PropertyBool Invisible <xsl:value-of select="Invisible/@x"/>
 
319
                  PropertyString G4Detector <xsl:value-of select="G4Detector/@name"/>
 
320
                  PropertyDouble G4StepMax <xsl:value-of select="G4StepMax/@x"/><xsl:text> </xsl:text><xsl:value-of select="G4StepMax/@units"/>
 
321
                }
 
322
            </head>
 
323
            <body></body>
 
324
        </html>
 
325
    </xsl:result-document>
 
326
    </xsl:if>
 
327
    </xsl:for-each>
 
328
    
 
329
    <xsl:for-each select="TrackerSolenoid/Tracker/TrackerStation/TrackerMylar">
 
330
    <xsl:if test="@to_print = 'Yes'">
 
331
    <xsl:variable name="TrackerMylarFile" select="concat('TrackerMylar','.dat')"/>
 
332
    <xsl:value-of select="$TrackerMylarFile"/>
 
333
    <xsl:result-document href="{$TrackerMylarFile}" method="text">
 
334
        <html>
 
335
            <head>
 
336
                Module TrackerMylar
 
337
                {
 
338
                  Volume <xsl:value-of select="Volume/@name"/>
 
339
                  Dimensions <xsl:value-of select="Dimensions/@radius"/><xsl:text> </xsl:text><xsl:value-of select="Dimensions/@length"/><xsl:text> </xsl:text><xsl:value-of select="Dimensions/@units"/>
 
340
                  PropertySting Material <xsl:value-of select="Material/@name"/>
 
341
                  PropertyDouble RedColour <xsl:value-of select="RBG_Values/@r"/>
 
342
                }
 
343
            </head>
 
344
        </html>
 
345
    </xsl:result-document>
 
346
    </xsl:if>
 
347
    </xsl:for-each>
 
348
        
 
349
    <xsl:for-each select="TrackerSolenoid/TrackerCoil">
 
350
    <xsl:if test="@to_print = 'Yes'">
 
351
    <xsl:variable name="TrackerCoilFile" select="concat('TrackerCoil','.dat')"/>
 
352
    <xsl:value-of select="$TrackerCoilFile"/>
 
353
    <xsl:result-document href="{$TrackerCoilFile}" method="text">
 
354
        <html>
 
355
            <head>
 
356
                Module TrackerCoil
 
357
                {
 
358
                  Volume <xsl:value-of select="Volume/@name"/>
 
359
                  Dimensions <xsl:value-of select="Dimension/@x"/><xsl:text> </xsl:text><xsl:value-of select="Dimension/@y"/><xsl:text> </xsl:text><xsl:value-of select="Dimension/@z"/><xsl:text> </xsl:text><xsl:value-of select="Dimension/@units"/>
 
360
                  <xsl:text>
 
361
                  </xsl:text>
 
362
            </head>
 
363
            <body>
 
364
                  <xsl:for-each select="MatchCoil">
 
365
                  Module Tracker/MatchCoil<xsl:value-of select="@number"/>.dat
 
366
                  {
 
367
                    Position <xsl:value-of select="Position/@x"/><xsl:text> </xsl:text><xsl:value-of select="Position/@y"/><xsl:text> </xsl:text><xsl:value-of select="Position/@z"/><xsl:text> </xsl:text><xsl:value-of select="Position/@units"/>
 
368
                    Rotation <xsl:value-of select="Rotation/@x"/><xsl:text> </xsl:text><xsl:value-of select="Rotation/@y"/><xsl:text> </xsl:text><xsl:value-of select="Rotation/@z"/><xsl:text> </xsl:text><xsl:value-of select="Rotation/@units"/>
 
369
                    ScaleFactor
 
370
                  }
 
371
                  </xsl:for-each>
 
372
               
 
373
                  <xsl:for-each select="EndCoil">
 
374
                  Module Tracker/EndCoil<xsl:value-of select="@number"/>.dat
 
375
                  {
 
376
                    Position <xsl:value-of select="Position/@x"/><xsl:text> </xsl:text><xsl:value-of select="Position/@y"/><xsl:text> </xsl:text><xsl:value-of select="Position/@z"/><xsl:text> </xsl:text><xsl:value-of select="Position/@units"/>
 
377
                    Rotation <xsl:value-of select="Rotation/@x"/><xsl:text> </xsl:text><xsl:value-of select="Rotation/@y"/><xsl:text> </xsl:text><xsl:value-of select="Rotation/@z"/><xsl:text> </xsl:text><xsl:value-of select="Rotation/@units"/>
 
378
                    ScaleFactor
 
379
                  }
 
380
                  </xsl:for-each>
 
381
                 Module Tracker/CentreCoil.dat
 
382
                 {
 
383
                   Position <xsl:value-of select="CenterCoil/Position/@x"/><xsl:text> </xsl:text><xsl:value-of select="CenterCoil/Position/@y"/><xsl:text> </xsl:text><xsl:value-of select="CenterCoil/Position/@z"/><xsl:text> </xsl:text><xsl:value-of select="CenterCoil/Position/@units"/>
 
384
                   Rotation <xsl:value-of select="CenterCoil/Rotation/@x"/><xsl:text> </xsl:text><xsl:value-of select="CenterCoil/Rotation/@y"/><xsl:text> </xsl:text><xsl:value-of select="CenterCoil/Rotation/@z"/><xsl:text> </xsl:text><xsl:value-of select="CenterCoil/Rotation/@units"/>
 
385
                   ScaleFactor
 
386
                 }
 
387
            </body>
 
388
        </html>
 
389
    </xsl:result-document>
 
390
    </xsl:if>
 
391
    </xsl:for-each>
 
392
    
 
393
    <xsl:for-each select="TrackerSolenoid/TrackerCoil/MatchCoil">
 
394
    <xsl:if test="@to_print = 'Yes'">
 
395
    <xsl:variable name="MatchCoilFile" select="concat('MatchCoil',@number,'.dat')"/>
 
396
    <xsl:value-of select="$MatchCoilFile"/>
 
397
    <xsl:result-document href="{$MatchCoilFile}" method="text">
 
398
        <html>
 
399
            <head>
 
400
                Module MatchCoil<xsl:value-of select="@number"/>
 
401
                {
 
402
                  Volume <xsl:value-of select="Volume/@name"/>
 
403
                  Dimensions <xsl:value-of select="Dimension/@x"/><xsl:text> </xsl:text><xsl:value-of select="Dimension/@y"/><xsl:text> </xsl:text><xsl:value-of select="Dimension/@z"/><xsl:text> </xsl:text><xsl:value-of select="Dimension/@units"/>
 
404
                  PropertyDouble RedColour <xsl:value-of select="RGBColor/@r"/>
 
405
                  PropertyString Material <xsl:value-of select="Material/@name"/>
 
406
                  
 
407
                  //Field
 
408
                  PropertyString FieldType <xsl:value-of select="FieldType/@name"/>
 
409
                  PropertyString FileName <xsl:value-of select="FileName/@name"/>
 
410
                  PropertyDouble CurrentDensity <xsl:value-of select="CurrentDensity/@x"/>
 
411
                  PropertyDouble Length <xsl:value-of select="Length/@x"/>
 
412
                  PropertyDouble Thickness <xsl:value-of select="Thickness/@x"/>
 
413
                  PropertyDouble InnerRadius <xsl:value-of select="InnerRadius/@x"/>
 
414
                  PropertyDouble FieldTolerance <xsl:value-of select="FieldTolerance/@x"/><xsl:text> </xsl:text><xsl:value-of select="FieldTolerance/@units"/>
 
415
                }
 
416
            </head>
 
417
            <body></body>
 
418
        </html>
 
419
    </xsl:result-document>
 
420
    </xsl:if>
 
421
    </xsl:for-each>
 
422
        
 
423
    <xsl:for-each select="TrackerSolenoid/TrackerCoil/EndCoil">
 
424
    <xsl:if test="@to_print = 'Yes'">
 
425
    <xsl:variable name="EndCoilFile" select="concat('EndCoil',@number,'.dat')"/>
 
426
    <xsl:value-of select="$EndCoilFile"/>
 
427
    <xsl:result-document href="{$EndCoilFile}" method="text">
 
428
        <html>
 
429
            <head>
 
430
                Module EndCoil<xsl:value-of select="@number"/>
 
431
                {
 
432
                  Volume <xsl:value-of select="Volume/@name"/>
 
433
                  Dimensions <xsl:value-of select="Dimension/@x"/><xsl:text> </xsl:text><xsl:value-of select="Dimension/@y"/><xsl:text> </xsl:text><xsl:value-of select="Dimension/@z"/><xsl:text> </xsl:text><xsl:value-of select="Dimension/@units"/>
 
434
                  PropertyDouble RedColour <xsl:value-of select="RGBColor/@r"/>
 
435
                  PropertyString Material <xsl:value-of select="Material/@name"/>
 
436
                  
 
437
                  //Field
 
438
                  PropertyString FieldType <xsl:value-of select="FieldType/@name"/>
 
439
                  PropertyString FileName <xsl:value-of select="FileName/@name"/>
 
440
                  PropertyDouble CurrentDensity <xsl:value-of select="CurrentDensity/@x"/>
 
441
                  PropertyDouble Length <xsl:value-of select="Length/@x"/>
 
442
                  PropertyDouble Thickness <xsl:value-of select="Thickness/@x"/>
 
443
                  PropertyDouble InnerRadius <xsl:value-of select="InnerRadius/@x"/>
 
444
                  PropertyDouble FieldTolerance <xsl:value-of select="FieldTolerance/@x"/><xsl:text> </xsl:text><xsl:value-of select="FieldTolerance/@units"/>
 
445
                }
 
446
            </head>
 
447
            <body></body>
 
448
        </html>
 
449
    </xsl:result-document>
 
450
    </xsl:if>
 
451
    </xsl:for-each>    
 
452
 
 
453
    <xsl:for-each select="TrackerSolenoid/TrackerCoil/CenterCoil">
 
454
    <xsl:if test="@to_print = 'Yes'">
 
455
    <xsl:variable name="CenterCoilFile" select="concat('CenterCoil',@number,'.dat')"/>
 
456
    <xsl:value-of select="$CenterCoilFile"/>
 
457
    <xsl:result-document href="{$CenterCoilFile}" method="text">
 
458
        <html>
 
459
            <head>
 
460
                Module CenterCoil<xsl:value-of select="@number"/>
 
461
                {
 
462
                  Volume <xsl:value-of select="Volume/@name"/>
 
463
                  Dimensions <xsl:value-of select="Dimension/@x"/><xsl:text> </xsl:text><xsl:value-of select="Dimension/@y"/><xsl:text> </xsl:text><xsl:value-of select="Dimension/@z"/><xsl:text> </xsl:text><xsl:value-of select="Dimension/@units"/>
 
464
                  PropertyDouble RedColour <xsl:value-of select="RGBColor/@r"/>
 
465
                  PropertyString Material <xsl:value-of select="Material/@name"/>
 
466
                  
 
467
                  //Field
 
468
                  PropertyString FieldType <xsl:value-of select="FieldType/@name"/>
 
469
                  PropertyString FileName <xsl:value-of select="FileName/@name"/>
 
470
                  PropertyDouble CurrentDensity <xsl:value-of select="CurrentDensity/@x"/>
 
471
                  PropertyDouble Length <xsl:value-of select="Length/@x"/>
 
472
                  PropertyDouble Thickness <xsl:value-of select="Thickness/@x"/>
 
473
                  PropertyDouble InnerRadius <xsl:value-of select="InnerRadius/@x"/>
 
474
                  PropertyDouble FieldTolerance <xsl:value-of select="FieldTolerance/@x"/><xsl:text> </xsl:text><xsl:value-of select="FieldTolerance/@units"/>
 
475
                }
 
476
            </head>
 
477
            <body></body>
 
478
        </html>
 
479
    </xsl:result-document>
 
480
    </xsl:if>
 
481
    </xsl:for-each>
 
482
    
 
483
  </xsl:template>
 
484
</xsl:stylesheet>
 
 
b'\\ No newline at end of file'