source: trunk/environments/g4py/examples/gdml/GDMLSchema/gdml_replicas.xsd @ 1337

Last change on this file since 1337 was 1337, checked in by garnier, 14 years ago

tag geant4.9.4 beta 1 + modifs locales

File size: 3.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="ReplicationAlgorithmType">
7    <xs:annotation>
8      <xs:documentation>Abstract base for replication placement strategies</xs:documentation>
9    </xs:annotation>
10  </xs:complexType>
11  <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
12  <xs:element name="ReplicationAlgorithm" abstract="true" type="ReplicationAlgorithmType">
13    <xs:annotation>
14      <xs:documentation>Abstract element for substitution group</xs:documentation>
15    </xs:annotation>
16  </xs:element>
17  <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
18 
19  <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
20  <xs:complexType name="AxisReplicationAlgorithmType">
21    <xs:annotation>
22      <xs:documentation>Replica volumes get created along the specified direction
23        starting with the first replica placed at the given position and rotated
24        according to the given rotation and others placed using the given distance;
25        If position and/or rotation is omitted the defaults will be applied, e.g.
26        position at the mother volume center and identity rotation;
27        NOTE: THE ROTATION IS APPLIED TO ALL REPLICATED VOLUMES!</xs:documentation>
28    </xs:annotation>
29    <xs:complexContent>
30      <xs:extension base="ReplicationAlgorithmType">
31        <xs:sequence>
32          <xs:choice minOccurs="0">
33            <xs:element name="position" type="positionType"/>
34            <xs:element name="positionref" type="ReferenceType"/>
35          </xs:choice>
36          <xs:choice minOccurs="0">
37            <xs:element name="rotation" type="rotationType"/>
38            <xs:element name="rotationref" type="ReferenceType"/>
39          </xs:choice>
40          <xs:choice>
41            <xs:element ref="direction"/>
42            <xs:element name="directionref" type="ReferenceType"/>
43          </xs:choice>
44          <xs:element ref="width"/>
45          <xs:element ref="offset"/>
46        </xs:sequence>
47      </xs:extension>
48    </xs:complexContent>
49  </xs:complexType>
50  <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
51  <xs:element name="replicate_along_axis" substitutionGroup="ReplicationAlgorithm" type="AxisReplicationAlgorithmType"/>
52  <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
53  <xs:complexType name="ReplicaPlacementType">
54    <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
55    <xs:annotation>
56      <xs:documentation>Base type for replicated volumes</xs:documentation>
57    </xs:annotation>
58    <xs:sequence>
59      <xs:element name="volumeref" type="ReferenceType"></xs:element> 
60      <xs:element ref="ReplicationAlgorithm"/>
61    </xs:sequence>
62    <xs:attribute name="number" type="xs:positiveInteger" use="required"/>
63    <xs:attribute name="copy_num_start" type="xs:positiveInteger" use="optional" default="1"/>
64    <xs:attribute name="copy_num_step" type="xs:positiveInteger" use="optional" default="1"/>
65  </xs:complexType>
66  <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
67  <xs:complexType name="directionType">
68    <xs:complexContent>
69      <xs:restriction base="QuantityVectorType">
70        <xs:attribute default="mm" type="xs:string" name="unit"/>
71        <xs:attribute default="cartesian" type="xs:string" name="type"/>
72      </xs:restriction>
73    </xs:complexContent>
74  </xs:complexType>
75  <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
76  <xs:element name="direction" type="directionType"/>
77  <xs:element name="width" type="QuantityType"/>
78  <xs:element name="offset" type="QuantityType"/>
79  <xs:element name="replicavol" type="ReplicaPlacementType"/>
80</xs:schema>
Note: See TracBrowser for help on using the repository browser.