Geant4 Cross Reference

Cross-Referencing   Geant4
Geant4/persistency/gdml/schema/gdml_materials.xsd

Version: [ ReleaseNotes ] [ 1.0 ] [ 1.1 ] [ 2.0 ] [ 3.0 ] [ 3.1 ] [ 3.2 ] [ 4.0 ] [ 4.0.p1 ] [ 4.0.p2 ] [ 4.1 ] [ 4.1.p1 ] [ 5.0 ] [ 5.0.p1 ] [ 5.1 ] [ 5.1.p1 ] [ 5.2 ] [ 5.2.p1 ] [ 5.2.p2 ] [ 6.0 ] [ 6.0.p1 ] [ 6.1 ] [ 6.2 ] [ 6.2.p1 ] [ 6.2.p2 ] [ 7.0 ] [ 7.0.p1 ] [ 7.1 ] [ 7.1.p1 ] [ 8.0 ] [ 8.0.p1 ] [ 8.1 ] [ 8.1.p1 ] [ 8.1.p2 ] [ 8.2 ] [ 8.2.p1 ] [ 8.3 ] [ 8.3.p1 ] [ 8.3.p2 ] [ 9.0 ] [ 9.0.p1 ] [ 9.0.p2 ] [ 9.1 ] [ 9.1.p1 ] [ 9.1.p2 ] [ 9.1.p3 ] [ 9.2 ] [ 9.2.p1 ] [ 9.2.p2 ] [ 9.2.p3 ] [ 9.2.p4 ] [ 9.3 ] [ 9.3.p1 ] [ 9.3.p2 ] [ 9.4 ] [ 9.4.p1 ] [ 9.4.p2 ] [ 9.4.p3 ] [ 9.4.p4 ] [ 9.5 ] [ 9.5.p1 ] [ 9.5.p2 ] [ 9.6 ] [ 9.6.p1 ] [ 9.6.p2 ] [ 9.6.p3 ] [ 9.6.p4 ] [ 10.0 ] [ 10.0.p1 ] [ 10.0.p2 ] [ 10.0.p3 ] [ 10.0.p4 ] [ 10.1 ] [ 10.1.p1 ] [ 10.1.p2 ] [ 10.1.p3 ] [ 10.2 ] [ 10.2.p1 ] [ 10.2.p2 ] [ 10.2.p3 ] [ 10.3 ] [ 10.3.p1 ] [ 10.3.p2 ] [ 10.3.p3 ] [ 10.4 ] [ 10.4.p1 ] [ 10.4.p2 ] [ 10.4.p3 ] [ 10.5 ] [ 10.5.p1 ] [ 10.6 ] [ 10.6.p1 ] [ 10.6.p2 ] [ 10.6.p3 ] [ 10.7 ] [ 10.7.p1 ] [ 10.7.p2 ] [ 10.7.p3 ] [ 10.7.p4 ] [ 11.0 ] [ 11.0.p1 ] [ 11.0.p2 ] [ 11.0.p3, ] [ 11.0.p4 ] [ 11.1 ] [ 11.1.1 ] [ 11.1.2 ] [ 11.1.3 ] [ 11.2 ] [ 11.2.1 ] [ 11.2.2 ] [ 11.3.0 ]

  1 <?xml version="1.0" encoding="UTF-8"?>
  2 <!DOCTYPE xs:schema []>
  3 <xs:schema attributeFormDefault="unqualified" elementFormDefault="unqualified" version="1.0" xmlns:gdml="http://cern.ch/service-spi/app/releases/GDML/schema" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  4   <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
  5   <xs:include schemaLocation="gdml_core.xsd"></xs:include>
  6   <xs:include schemaLocation="gdml_define.xsd"></xs:include>
  7   <xs:include schemaLocation="gdml_extensions.xsd"/>
  8   <!-- Removed abstract="true" in AtomType -->
  9   <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
 10   <xs:complexType name="AtomType">
 11     <xs:annotation>
 12       <xs:documentation>Atomic mass, quantity type A, default unit g/mole</xs:documentation>
 13     </xs:annotation>
 14     <xs:complexContent>
 15       <xs:restriction base="QuantityType">
 16   <xs:attribute default="g/mole" type="xs:string" name="unit"></xs:attribute>
 17   <xs:attribute fixed="A" type="xs:string" name="type"></xs:attribute>
 18       </xs:restriction>
 19     </xs:complexContent>
 20   </xs:complexType>
 21   <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
 22   <xs:complexType name="DensityType">
 23     <xs:annotation>
 24       <xs:documentation>Density</xs:documentation>
 25     </xs:annotation>
 26     <xs:complexContent>
 27       <xs:restriction base="QuantityType">
 28   <xs:attribute default="g/cm3" type="xs:string" name="unit"></xs:attribute>
 29   <xs:attribute fixed="density" type="xs:string" name="type"></xs:attribute>
 30       </xs:restriction>
 31     </xs:complexContent>
 32   </xs:complexType>
 33   <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
 34   <xs:group name="MaterialPropertiesGroup">
 35     <xs:annotation>
 36       <xs:documentation>General material properties</xs:documentation>
 37     </xs:annotation>
 38     <xs:sequence>
 39     <xs:choice minOccurs="0">
 40       <xs:element maxOccurs="unbounded" name="property">
 41         <xs:annotation>
 42     <xs:documentation>General material property (const or vector)</xs:documentation>
 43         </xs:annotation>
 44         <xs:complexType>
 45     <xs:complexContent>
 46       <xs:extension base="ReferenceType">
 47         <xs:attribute name="name" type="xs:string" use="required"></xs:attribute>
 48       </xs:extension>
 49     </xs:complexContent>
 50         </xs:complexType>
 51       </xs:element>
 52           </xs:choice>
 53       <xs:choice minOccurs="0">
 54   <xs:element name="RL">
 55     <xs:annotation>
 56       <xs:documentation>Radiation length</xs:documentation>
 57     </xs:annotation>
 58     <xs:complexType>
 59       <xs:complexContent>
 60         <xs:restriction base="QuantityType">
 61     <xs:attribute default="cm" type="xs:string" name="unit"></xs:attribute>
 62     <xs:attribute fixed="X0" type="xs:string" name="type"></xs:attribute>
 63         </xs:restriction>
 64       </xs:complexContent>
 65     </xs:complexType>
 66   </xs:element>
 67   <xs:element name="RLref" type="ReferenceType">
 68     <xs:annotation>
 69       <xs:documentation>A reference to a previsouly defined named radiation length quantity value</xs:documentation>
 70     </xs:annotation>
 71   </xs:element>
 72       </xs:choice>
 73       <xs:choice minOccurs="0">
 74   <xs:element name="AL">
 75     <xs:annotation>
 76       <xs:documentation>Absorption length</xs:documentation>
 77     </xs:annotation>
 78     <xs:complexType>
 79       <xs:complexContent>
 80         <xs:restriction base="QuantityType">
 81     <xs:attribute default="cm" type="xs:string" name="unit"></xs:attribute>
 82     <xs:attribute fixed="lambda" type="xs:string" name="type"></xs:attribute>
 83         </xs:restriction>
 84       </xs:complexContent>
 85     </xs:complexType>
 86   </xs:element>
 87   <xs:element name="ALref" type="ReferenceType">
 88     <xs:annotation>
 89       <xs:documentation>A reference to a previsouly defined named absorption length quantity value</xs:documentation>
 90     </xs:annotation>
 91   </xs:element>
 92       </xs:choice>
 93       <xs:choice minOccurs="0">
 94   <xs:element name="T">
 95     <xs:annotation>
 96       <xs:documentation>Temperature</xs:documentation>
 97     </xs:annotation>
 98     <xs:complexType>
 99       <xs:complexContent>
100         <xs:restriction base="QuantityType">
101     <xs:attribute default="K" type="xs:string" name="unit"></xs:attribute>
102     <xs:attribute fixed="temperature" type="xs:string" name="type"></xs:attribute>
103         </xs:restriction>
104       </xs:complexContent>
105     </xs:complexType>
106   </xs:element>
107   <xs:element name="Tref" type="ReferenceType">
108     <xs:annotation>
109       <xs:documentation>A reference to previously defined named temperature quantity value</xs:documentation>
110     </xs:annotation>
111   </xs:element>
112       </xs:choice>
113       <xs:choice minOccurs="0">
114   <xs:element name="P">
115     <xs:annotation>
116       <xs:documentation>Pressure</xs:documentation>
117     </xs:annotation>
118     <xs:complexType>
119       <xs:complexContent>
120         <xs:restriction base="QuantityType">
121     <xs:attribute default="pascal" type="xs:string" name="unit"></xs:attribute>
122     <xs:attribute fixed="pressure" type="xs:string" name="type"></xs:attribute>
123         </xs:restriction>
124       </xs:complexContent>
125     </xs:complexType>
126   </xs:element>
127   <xs:element name="Pref" type="ReferenceType">
128     <xs:annotation>
129       <xs:documentation>A reference to previously defined named pressure quantity value</xs:documentation>
130     </xs:annotation>
131   </xs:element>
132       </xs:choice>
133       <!-- new property added >>>>>>>>>>>>>>>>>>>>>> -->
134       <xs:choice minOccurs="0">
135   <xs:element name="MEE">
136     <xs:annotation>
137       <xs:documentation>Ionisation potential or Mean Excitation Energy</xs:documentation>
138     </xs:annotation>
139     <xs:complexType>
140       <xs:complexContent>
141         <xs:restriction base="QuantityType">
142     <xs:attribute default="eV" type="xs:string" name="unit"></xs:attribute>
143     <xs:attribute fixed="excitationE" type="xs:string" name="type"></xs:attribute>
144         </xs:restriction>
145       </xs:complexContent>
146     </xs:complexType>
147   </xs:element>
148   <xs:element name="MEEref" type="ReferenceType">
149     <xs:annotation>
150       <xs:documentation>A reference to previously defined named ionisation potential quantity value</xs:documentation>
151     </xs:annotation>
152   </xs:element>
153       </xs:choice>
154       <!-- <<<<<<<<<<<<<<<<<<<<<<<<< new property added -->
155     </xs:sequence>
156   </xs:group>
157   <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
158   <xs:attributeGroup name="MaterialAttributeGroup">
159     <xs:annotation>
160       <xs:documentation>General material attributes</xs:documentation>
161     </xs:annotation>
162     <xs:attribute name="name" type="xs:ID" use="required">
163       <xs:annotation>
164   <xs:documentation>Material name</xs:documentation>
165       </xs:annotation>
166     </xs:attribute>
167     <xs:attribute name="formula" type="xs:string" use="optional">
168       <xs:annotation>
169   <xs:documentation>Material chemical formula</xs:documentation>
170       </xs:annotation>
171     </xs:attribute>
172     <xs:attribute default="unknown" name="state">
173       <xs:annotation>
174   <xs:documentation>Material physical state</xs:documentation>
175       </xs:annotation>
176       <xs:simpleType>
177   <xs:restriction base="xs:NMTOKEN">
178     <xs:enumeration value="gas"></xs:enumeration>
179     <xs:enumeration value="liquid"></xs:enumeration>
180     <xs:enumeration value="solid"></xs:enumeration>
181     <xs:enumeration value="unknown"></xs:enumeration>
182   </xs:restriction>
183       </xs:simpleType>
184     </xs:attribute>
185   </xs:attributeGroup>
186   <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
187   <xs:complexType name="MaterialType">
188     <xs:annotation>
189       <xs:documentation>Base type for materials</xs:documentation>
190     </xs:annotation>
191     <xs:group ref="MaterialPropertiesGroup"></xs:group>
192     <xs:attributeGroup ref="MaterialAttributeGroup"></xs:attributeGroup>
193   </xs:complexType>
194   <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
195   <!--
196       <xs:complexType name="ComplexMaterialType">
197   <xs:annotation>
198     <xs:documentation>
199             Base type for complex materials
200     </xs:documentation>
201   </xs:annotation>
202   <xs:complexContent>
203     <xs:extension base="MaterialType">
204       -->
205   <!-- <xs:group ref="MaterialPropertiesGroup"/> -->
206   <!--
207       Removed from referenced attribute group
208           <xs:attribute name="N" use="prohibited"/>
209           -->
210   <!--        
211         <xs:attribute name="Z" type="xs:double" use="optional">
212     <xs:annotation>
213       <xs:documentation>Atomic number</xs:documentation>
214     </xs:annotation>
215       </xs:attribute>
216       </xs:extension>
217       </xs:complexContent>
218       </xs:complexType>
219  -->
220   <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
221   <xs:element name="materials">
222     <xs:annotation>
223       <xs:documentation>Materials description</xs:documentation>
224     </xs:annotation>
225     <xs:complexType>
226       <xs:choice maxOccurs="unbounded">
227         <xs:element maxOccurs="unbounded" minOccurs="0" ref="loop"/>
228   <xs:element minOccurs="0" name="define" type="defineType">
229     <xs:annotation>
230       <xs:documentation>Material related definitons of constants and quantities
231               In this version of schema these become visible in global scope</xs:documentation>
232     </xs:annotation>
233   </xs:element>
234   <xs:element maxOccurs="unbounded" minOccurs="0" name="isotope" type="MaterialIsotopeType">
235     <xs:annotation>
236       <xs:documentation>An isotope</xs:documentation>
237     </xs:annotation>
238   </xs:element>
239   <xs:element maxOccurs="unbounded" minOccurs="0" name="element" type="MaterialElementType">
240     <xs:annotation>
241       <xs:documentation>A simple element or an element composed of isotopes</xs:documentation>
242     </xs:annotation>
243   </xs:element>
244   <xs:element maxOccurs="unbounded" minOccurs="0" name="material" type="MaterialMixtureType">
245     <xs:annotation>
246       <xs:documentation>A composite or a mixture complex material</xs:documentation>
247     </xs:annotation>
248   </xs:element>
249       </xs:choice>
250     </xs:complexType>
251   </xs:element>
252   <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
253   <xs:complexType name="MaterialIsotopeType">
254     <xs:annotation>
255       <xs:documentation>Exported isotope type</xs:documentation>
256     </xs:annotation>
257     <xs:complexContent>
258       <xs:extension base="MaterialType">
259   <xs:sequence>
260     <xs:choice minOccurs="0">
261       <xs:element name="D" type="DensityType">
262         <xs:annotation>
263     <xs:documentation>Density quantity value</xs:documentation>
264         </xs:annotation>
265       </xs:element>
266       <xs:element name="Dref" type="ReferenceType">
267         <xs:annotation>
268     <xs:documentation>A reference to a previsouly defined named density quantity value</xs:documentation>
269         </xs:annotation>
270       </xs:element>
271     </xs:choice>
272     <xs:element name="atom" type="AtomType"></xs:element>
273   </xs:sequence>
274   <xs:attribute name="N" type="xs:positiveInteger" use="required">
275     <xs:annotation>
276       <xs:documentation>Number of nucleons</xs:documentation>
277     </xs:annotation>
278   </xs:attribute>
279   <xs:attribute name="Z" type="xs:double" use="required">
280     <xs:annotation>
281       <xs:documentation>Atomic number</xs:documentation>
282     </xs:annotation>
283   </xs:attribute>
284       </xs:extension>
285     </xs:complexContent>
286   </xs:complexType>
287   <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
288   <xs:complexType name="MaterialElementType">
289     <xs:annotation>
290       <xs:documentation>Exported material element type</xs:documentation>
291     </xs:annotation>
292     <xs:complexContent>
293       <xs:extension base="MaterialType">
294   <xs:sequence>
295     <xs:choice minOccurs="0">
296       <xs:element name="D" type="DensityType">
297         <xs:annotation>
298     <xs:documentation>Density quantity value</xs:documentation>
299         </xs:annotation>
300       </xs:element>
301       <xs:element name="Dref" type="ReferenceType">
302         <xs:annotation>
303     <xs:documentation>A reference to a previsouly defined named density quantity value</xs:documentation>
304         </xs:annotation>
305       </xs:element>
306     </xs:choice>
307     <xs:choice>
308       <xs:annotation>
309         <xs:documentation>An element can be defined either as a simple element or by a set
310                 of isotopes fractions</xs:documentation>
311       </xs:annotation>
312       <xs:element name="atom" type="AtomType"></xs:element>
313       <xs:element maxOccurs="unbounded" name="fraction">
314         <xs:annotation>
315     <xs:documentation>An isotope fraction of an element where n is the actual amount
316       of the isotope in the element</xs:documentation>
317         </xs:annotation>
318         <xs:complexType>
319     <xs:complexContent>
320       <xs:extension base="ReferenceType">
321         <xs:attribute name="n" type="xs:double" use="required"></xs:attribute>
322       </xs:extension>
323     </xs:complexContent>
324         </xs:complexType>
325       </xs:element>
326     </xs:choice>
327   </xs:sequence>
328   <xs:attribute name="N" type="xs:positiveInteger" use="optional">
329     <xs:annotation>
330       <xs:documentation>Number of nucleons</xs:documentation>
331     </xs:annotation>
332   </xs:attribute>
333   <xs:attribute name="Z" type="xs:double" use="optional">
334     <xs:annotation>
335       <xs:documentation>Atomic number</xs:documentation>
336     </xs:annotation>
337   </xs:attribute>
338       </xs:extension>
339     </xs:complexContent>
340   </xs:complexType>
341   <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
342   <xs:complexType name="MaterialMixtureType">
343     <xs:annotation>
344       <xs:documentation>Exported material composite or mixture type</xs:documentation>
345     </xs:annotation>
346     <xs:complexContent>
347       <!-- <xs:extension base="ComplexMaterialType"> -->
348       <xs:extension base="MaterialType">
349   <xs:sequence>
350     <xs:choice>
351       <xs:element name="D" type="DensityType">
352         <xs:annotation>
353     <xs:documentation>Density quantity value</xs:documentation>
354         </xs:annotation>
355       </xs:element>
356       <xs:element name="Dref" type="ReferenceType">
357         <xs:annotation>
358     <xs:documentation>A reference to a previsouly defined named density quantity value</xs:documentation>
359         </xs:annotation>
360       </xs:element>
361     </xs:choice>
362     <xs:choice>
363       <xs:annotation>
364         <xs:documentation>A complex material can be defined as a simple mixture when
365                 its material properties are known or as a composite material
366                 or a mixture. A composite material is defined by a set of elements
367                 by specifying the number of atoms.
368                 The second way is by a set of material fractions where the fractions
369                 can be either simple elements or other complex materials.
370                 The restriction is that one can't mix composition by atoms and fractions
371                 at the same time.</xs:documentation>
372             </xs:annotation>
373       <xs:element name="atom" type="AtomType"></xs:element>
374       <xs:element maxOccurs="unbounded" name="composite">
375         <xs:annotation>
376     <xs:documentation>Elements of this composite material specified as a set of local references
377                   to already defined simple elements where value of n in each means the number of atoms</xs:documentation>
378         </xs:annotation>
379         <xs:complexType>
380     <xs:complexContent>
381       <xs:extension base="ReferenceType">
382         <xs:attribute name="n" type="xs:positiveInteger" use="required"></xs:attribute>
383       </xs:extension>
384     </xs:complexContent>
385         </xs:complexType>
386       </xs:element>
387       <xs:element maxOccurs="unbounded" name="fraction">
388         <xs:annotation>
389     <xs:documentation>Fractions of this mixture specified as a set of local references to already defined
390                   elements or other mixtures where value of n in each means the fraction of the whole
391                   material in the range 0.0 &lt; n &lt; 1.0</xs:documentation>
392         </xs:annotation>
393         <xs:complexType>
394     <xs:complexContent>
395       <xs:extension base="ReferenceType">
396         <xs:attribute name="n" type="xs:double" use="required"></xs:attribute>
397       </xs:extension>
398     </xs:complexContent>
399         </xs:complexType>
400       </xs:element>
401     </xs:choice>
402   </xs:sequence>
403   <xs:attribute name="Z" type="xs:double" use="optional">
404     <xs:annotation>
405       <xs:documentation>Atomic number</xs:documentation>
406     </xs:annotation>
407   </xs:attribute>
408       </xs:extension>
409     </xs:complexContent>
410   </xs:complexType>
411   <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
412 </xs:schema>