[1316] | 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> |
---|