source: trunk/source/persistency/gdml/schema/gdml_parameterised.xsd@ 1316

Last change on this file since 1316 was 1316, checked in by garnier, 15 years ago

update geant4-09-04-beta-cand-01 interfaces-V09-03-09 vis-V09-03-08

  • Property svn:executable set to *
File size: 14.9 KB
Line 
1<?xml version="1.0"?>
2<xs:schema attributeFormDefault="unqualified" elementFormDefault="unqualified" version="1.0" xmlns:gdml="http://cern.ch/2001/Schemas/GDML" xmlns:xs="http://www.w3.org/2001/XMLSchema">
3 <xs:include schemaLocation="gdml_define.xsd"/>
4 <xs:include schemaLocation="gdml_extensions.xsd"/>
5 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
6 <xs:complexType abstract="false" name="DimensionsType">
7 <xs:annotation>
8 <xs:documentation>Abstract base for parametrised dimensions</xs:documentation>
9 </xs:annotation>
10 </xs:complexType>
11 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
12 <xs:element name="Dimensions" abstract="true" type="DimensionsType">
13 <xs:annotation>
14 <xs:documentation>Abstract element for substitution group</xs:documentation>
15 </xs:annotation>
16 </xs:element>
17 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
18 <xs:complexType name="BoxDimensionsType">
19 <xs:annotation>
20 <xs:documentation>Dimensions for parametrised Boxes. </xs:documentation>
21 </xs:annotation>
22 <xs:complexContent>
23 <xs:extension base="DimensionsType">
24 <xs:attribute default="1.0" name="x" type="ExpressionOrIDREFType"></xs:attribute>
25 <xs:attribute default="1.0" name="y" type="ExpressionOrIDREFType"></xs:attribute>
26 <xs:attribute default="1.0" name="z" type="ExpressionOrIDREFType"></xs:attribute>
27 <xs:attribute default="mm" name="lunit" type="xs:string"></xs:attribute>
28 </xs:extension>
29 </xs:complexContent>
30 </xs:complexType>
31 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
32 <xs:element name="box_dimensions" substitutionGroup="Dimensions" type="BoxDimensionsType"/>
33 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
34 <xs:complexType name="TrdDimensionsType">
35 <xs:annotation>
36 <xs:documentation>Dimensions for parametrised Trd. </xs:documentation>
37 </xs:annotation>
38 <xs:complexContent>
39 <xs:extension base="DimensionsType">
40 <xs:attribute default="1.0" name="x1" type="ExpressionOrIDREFType"></xs:attribute>
41 <xs:attribute default="1.0" name="x2" type="ExpressionOrIDREFType"></xs:attribute>
42 <xs:attribute default="1.0" name="y1" type="ExpressionOrIDREFType"></xs:attribute>
43 <xs:attribute default="1.0" name="y2" type="ExpressionOrIDREFType"></xs:attribute>
44 <xs:attribute default="1.0" name="z" type="ExpressionOrIDREFType"></xs:attribute>
45 <xs:attribute default="mm" name="lunit" type="xs:string"></xs:attribute>
46 </xs:extension>
47 </xs:complexContent>
48 </xs:complexType>
49 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
50 <xs:element name="trd_dimensions" substitutionGroup="Dimensions" type="TrdDimensionsType"/>
51 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
52 <xs:complexType name="TrapDimensionsType">
53 <xs:annotation>
54 <xs:documentation>Dimensions for parametrised Trap. </xs:documentation>
55 </xs:annotation>
56 <xs:complexContent>
57 <xs:extension base="DimensionsType">
58 <xs:attribute default="1.0" name="z" type="ExpressionOrIDREFType"></xs:attribute>
59 <xs:attribute default="1.0" name="theta" type="ExpressionOrIDREFType"></xs:attribute>
60 <xs:attribute default="1.0" name="phi" type="ExpressionOrIDREFType"></xs:attribute>
61 <xs:attribute default="1.0" name="y1" type="ExpressionOrIDREFType"></xs:attribute>
62 <xs:attribute default="1.0" name="x1" type="ExpressionOrIDREFType"></xs:attribute>
63 <xs:attribute default="1.0" name="x2" type="ExpressionOrIDREFType"></xs:attribute>
64 <xs:attribute default="1.0" name="alpha1" type="ExpressionOrIDREFType"></xs:attribute>
65 <xs:attribute default="1.0" name="y2" type="ExpressionOrIDREFType"></xs:attribute>
66 <xs:attribute default="1.0" name="x3" type="ExpressionOrIDREFType"></xs:attribute>
67 <xs:attribute default="1.0" name="x4" type="ExpressionOrIDREFType"></xs:attribute>
68 <xs:attribute default="1.0" name="alpha2" type="ExpressionOrIDREFType"></xs:attribute>
69 <xs:attribute default="mm" name="lunit" type="xs:string"></xs:attribute>
70 <xs:attribute default="radian" name="aunit" type="xs:string"></xs:attribute>
71 </xs:extension>
72 </xs:complexContent>
73 </xs:complexType>
74 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
75 <xs:element name="trap_dimensions" substitutionGroup="Dimensions" type="TrapDimensionsType"/>
76 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
77 <xs:complexType name="TubeDimensionsType">
78 <xs:annotation>
79 <xs:documentation>Dimensions for parametrised Tubes. </xs:documentation>
80 </xs:annotation>
81 <xs:complexContent>
82 <xs:extension base="DimensionsType">
83 <xs:attribute default="1.0" name="DeltaPhi" type="ExpressionOrIDREFType"></xs:attribute>
84 <xs:attribute default="1.0" name="InR" type="ExpressionOrIDREFType"></xs:attribute>
85 <xs:attribute default="1.0" name="OutR" type="ExpressionOrIDREFType"></xs:attribute>
86 <xs:attribute default="0.0" name="StartPhi" type="ExpressionOrIDREFType"></xs:attribute>
87 <xs:attribute default="1.0" name="hz" type="ExpressionOrIDREFType"></xs:attribute>
88 <xs:attribute default="mm" name="lunit" type="xs:string"></xs:attribute>
89 <xs:attribute default="radian" name="aunit" type="xs:string"></xs:attribute>
90 </xs:extension>
91 </xs:complexContent>
92 </xs:complexType>
93 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
94 <xs:element name="tube_dimensions" substitutionGroup="Dimensions" type="TubeDimensionsType"/>
95 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
96 <xs:complexType name="ConeDimensionsType">
97 <xs:annotation>
98 <xs:documentation>Dimensions for parametrised Cones. </xs:documentation>
99 </xs:annotation>
100 <xs:complexContent>
101 <xs:extension base="DimensionsType">
102 <xs:attribute default="1.0" name="rmin1" type="ExpressionOrIDREFType"></xs:attribute>
103 <xs:attribute default="1.0" name="rmax1" type="ExpressionOrIDREFType"></xs:attribute>
104 <xs:attribute default="1.0" name="rmin2" type="ExpressionOrIDREFType"></xs:attribute>
105 <xs:attribute default="1.0" name="rmax2" type="ExpressionOrIDREFType"></xs:attribute>
106 <xs:attribute default="1.0" name="z" type="ExpressionOrIDREFType"></xs:attribute>
107 <xs:attribute default="0.0" name="startphi" type="ExpressionOrIDREFType"></xs:attribute>
108 <xs:attribute default="1.0" name="deltaphi" type="ExpressionOrIDREFType"></xs:attribute>
109 <xs:attribute default="mm" name="lunit" type="xs:string"></xs:attribute>
110 <xs:attribute default="radian" name="aunit" type="xs:string"></xs:attribute>
111 </xs:extension>
112 </xs:complexContent>
113 </xs:complexType>
114 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
115 <xs:element name="cone_dimensions" substitutionGroup="Dimensions" type="ConeDimensionsType"/>
116 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
117 <xs:complexType name="SphereDimensionsType">
118 <xs:annotation>
119 <xs:documentation>Dimensions for parametrised Spheres. </xs:documentation>
120 </xs:annotation>
121 <xs:complexContent>
122 <xs:extension base="DimensionsType">
123 <xs:attribute default="1.0" name="rmin" type="ExpressionOrIDREFType"></xs:attribute>
124 <xs:attribute default="1.0" name="rmax" type="ExpressionOrIDREFType"></xs:attribute>
125 <xs:attribute default="0.0" name="starttheta" type="ExpressionOrIDREFType"></xs:attribute>
126 <xs:attribute default="1.0" name="deltatheta" type="ExpressionOrIDREFType"></xs:attribute>
127 <xs:attribute default="0.0" name="startphi" type="ExpressionOrIDREFType"></xs:attribute>
128 <xs:attribute default="1.0" name="deltaphi" type="ExpressionOrIDREFType"></xs:attribute>
129 <xs:attribute default="mm" name="lunit" type="xs:string"></xs:attribute>
130 <xs:attribute default="radian" name="aunit" type="xs:string"></xs:attribute>
131 </xs:extension>
132 </xs:complexContent>
133 </xs:complexType>
134 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
135 <xs:element name="sphere_dimensions" substitutionGroup="Dimensions" type="SphereDimensionsType"/>
136 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
137 <xs:complexType name="OrbDimensionsType">
138 <xs:annotation>
139 <xs:documentation>Dimensions for parametrised Orbs. </xs:documentation>
140 </xs:annotation>
141 <xs:complexContent>
142 <xs:extension base="DimensionsType">
143 <xs:attribute default="1.0" name="r" type="ExpressionOrIDREFType"></xs:attribute>
144 <xs:attribute default="mm" name="lunit" type="xs:string"></xs:attribute>
145 </xs:extension>
146 </xs:complexContent>
147 </xs:complexType>
148 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
149 <xs:element name="orb_dimensions" substitutionGroup="Dimensions" type="OrbDimensionsType"/>
150 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
151 <xs:complexType name="TorusDimensionsType">
152 <xs:annotation>
153 <xs:documentation>Dimensions for parametrised Torus. </xs:documentation>
154 </xs:annotation>
155 <xs:complexContent>
156 <xs:extension base="DimensionsType">
157 <xs:attribute default="1.0" name="rmin" type="ExpressionOrIDREFType"></xs:attribute>
158 <xs:attribute default="1.0" name="rmax" type="ExpressionOrIDREFType"></xs:attribute>
159 <xs:attribute default="1.0" name="rtor" type="ExpressionOrIDREFType"></xs:attribute>
160 <xs:attribute default="0.0" name="startphi" type="ExpressionOrIDREFType"></xs:attribute>
161 <xs:attribute default="1.0" name="deltaphi" type="ExpressionOrIDREFType"></xs:attribute>
162 <xs:attribute default="mm" name="lunit" type="xs:string"></xs:attribute>
163 <xs:attribute default="radian" name="aunit" type="xs:string"></xs:attribute>
164 </xs:extension>
165 </xs:complexContent>
166 </xs:complexType>
167 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
168 <xs:element name="torus_dimensions" substitutionGroup="Dimensions" type="TorusDimensionsType"/>
169 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
170 <xs:complexType name="ParaDimensionsType">
171 <xs:annotation>
172 <xs:documentation>Dimensions for parametrised Paras. </xs:documentation>
173 </xs:annotation>
174 <xs:complexContent>
175 <xs:extension base="DimensionsType">
176 <xs:attribute default="1.0" name="x" type="ExpressionOrIDREFType"></xs:attribute>
177 <xs:attribute default="1.0" name="y" type="ExpressionOrIDREFType"></xs:attribute>
178 <xs:attribute default="1.0" name="z" type="ExpressionOrIDREFType"></xs:attribute>
179 <xs:attribute default="1.0" name="alpha" type="ExpressionOrIDREFType"></xs:attribute>
180 <xs:attribute default="1.0" name="theta" type="ExpressionOrIDREFType"></xs:attribute>
181 <xs:attribute default="1.0" name="phi" type="ExpressionOrIDREFType"></xs:attribute>
182 <xs:attribute default="mm" name="lunit" type="xs:string"></xs:attribute>
183 <xs:attribute default="radian" name="aunit" type="xs:string"></xs:attribute>
184 </xs:extension>
185 </xs:complexContent>
186 </xs:complexType>
187 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
188 <xs:element name="para_dimensions" substitutionGroup="Dimensions" type="ParaDimensionsType"/>
189 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
190 <xs:complexType name="HypeDimensionsType">
191 <xs:annotation>
192 <xs:documentation>Dimensions for parametrised Hypes. </xs:documentation>
193 </xs:annotation>
194 <xs:complexContent>
195 <xs:extension base="DimensionsType">
196 <xs:attribute default="1.0" name="rmin" type="ExpressionOrIDREFType"></xs:attribute>
197 <xs:attribute default="1.0" name="rmax" type="ExpressionOrIDREFType"></xs:attribute>
198 <xs:attribute default="1.0" name="inst" type="ExpressionOrIDREFType"></xs:attribute>
199 <xs:attribute default="1.0" name="outst" type="ExpressionOrIDREFType"></xs:attribute>
200 <xs:attribute default="1.0" name="z" type="ExpressionOrIDREFType"></xs:attribute>
201 <xs:attribute default="mm" name="lunit" type="xs:string"></xs:attribute>
202 <xs:attribute default="radian" name="aunit" type="xs:string"></xs:attribute>
203 </xs:extension>
204 </xs:complexContent>
205 </xs:complexType>
206 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
207 <xs:element name="hype_dimensions" substitutionGroup="Dimensions" type="HypeDimensionsType"/>
208 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
209 <xs:complexType abstract="false" name="ParameterisationAlgorithmType">
210 <xs:annotation>
211 <xs:documentation>Abstract base for parameterised placement strategies</xs:documentation>
212 </xs:annotation>
213 </xs:complexType>
214 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
215 <xs:element name="ParameterisationAlgorithm" abstract="true" type="ParameterisationAlgorithmType">
216 <xs:annotation>
217 <xs:documentation>Abstract element for substitution group</xs:documentation>
218 </xs:annotation>
219 </xs:element>
220 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
221 <xs:complexType name="PositionSizeParameterisationAlgorithmType">
222 <xs:annotation>
223 <xs:documentation>Parameterised volumes get created using
224 the tabularized position and sizes. </xs:documentation>
225 </xs:annotation>
226 <xs:complexContent>
227 <xs:extension base="ParameterisationAlgorithmType">
228 <xs:sequence>
229 <xs:element maxOccurs="unbounded" name="parameters" type="ParametersType"/>
230 </xs:sequence>
231 </xs:extension>
232 </xs:complexContent>
233 </xs:complexType>
234 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
235 <xs:element name="parameterised_position_size" substitutionGroup="ParameterisationAlgorithm" type="PositionSizeParameterisationAlgorithmType"/>
236 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
237 <xs:complexType name="ParameterisedPlacementType">
238 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
239 <xs:annotation>
240 <xs:documentation>Base type for parameterised volumes</xs:documentation>
241 </xs:annotation>
242 <xs:sequence>
243 <xs:element name="volumeref" type="ReferenceType"></xs:element>
244 <xs:element ref="ParameterisationAlgorithm"/>
245 </xs:sequence>
246 <xs:attribute name="ncopies" type="xs:positiveInteger" use="required"/>
247 </xs:complexType>
248 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
249 <xs:element name="paramvol" type="ParameterisedPlacementType"/>
250 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
251 <xs:complexType name="ParametersType">
252 <xs:annotation>
253 <xs:documentation>
254 Holds parameteres for parameterised volumes.
255 </xs:documentation>
256 </xs:annotation>
257 <xs:sequence>
258 <xs:element type="positionType" name="position"/>
259 <xs:element ref="Dimensions"/>
260 </xs:sequence>
261 <xs:attribute type="xs:positiveInteger" use="required" name="number"/>
262 </xs:complexType>
263</xs:schema>
Note: See TracBrowser for help on using the repository browser.