Import Geant4 4.1.0 source tree
This commit is contained in:
@@ -0,0 +1,123 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
|
||||
xmlns:gdml="http://cern.ch/2001/Schemas/GDML"
|
||||
elementFormDefault="unqualified"
|
||||
attributeFormDefault="unqualified"
|
||||
version="1.0">
|
||||
<xs:include schemaLocation="gdml_simple_core.xsd"/>
|
||||
<xs:include schemaLocation="gdml_simple_define.xsd"/>
|
||||
<xs:include schemaLocation="gdml_simple_materials.xsd"/>
|
||||
<xs:include schemaLocation="gdml_simple_solids.xsd"/>
|
||||
<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
|
||||
<xs:complexType name="IdentifiableVolumeType" abstract="true">
|
||||
<xs:attribute name="name" type="xs:ID" use="required"/>
|
||||
</xs:complexType>
|
||||
<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
|
||||
<xs:complexType name="VolumeType">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
Represents a top of a geometrical sub-hierarchy not placed in space
|
||||
None of its children can coincide with its boundary defined by an associated solid
|
||||
Two different placements of the same logical volume represent two different geometrical
|
||||
hierarchies in space
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:complexContent>
|
||||
<xs:extension base="IdentifiableVolumeType">
|
||||
<xs:sequence>
|
||||
<xs:element name="materialref" type="ReferenceType"/>
|
||||
<xs:element name="solidref" type="ReferenceType"/>
|
||||
<xs:sequence minOccurs="0">
|
||||
<xs:element name="child" type="SinglePlacementType" maxOccurs="unbounded"/>
|
||||
</xs:sequence>
|
||||
</xs:sequence>
|
||||
</xs:extension>
|
||||
</xs:complexContent>
|
||||
</xs:complexType>
|
||||
<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
|
||||
<xs:complexType name="AssemblyVolumeType">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
Allows to create a group of volumes bound together without a boundary
|
||||
All the volumes exits inside the same virtual reference system of the assmebly volume
|
||||
they belong to
|
||||
When assembly volume is placed all its children follow the global transformation applied
|
||||
to their assembly volume
|
||||
After the assembly volume is placed its children exist as standalone placements in space
|
||||
independent of each other
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:complexContent>
|
||||
<xs:extension base="IdentifiableVolumeType">
|
||||
<xs:sequence>
|
||||
<xs:element name="child" type="SinglePlacementType" maxOccurs="unbounded"/>
|
||||
</xs:sequence>
|
||||
</xs:extension>
|
||||
</xs:complexContent>
|
||||
</xs:complexType>
|
||||
<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
|
||||
<xs:complexType name="SinglePlacementType">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
Represents a single unique copy a of an associated logical volume
|
||||
in geometrical hierarchy
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:sequence>
|
||||
<xs:element name="volumeref" type="ReferenceType"/>
|
||||
<xs:element name="positionref" type="ReferenceType"/>
|
||||
<xs:element name="rotationref" type="ReferenceType"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
|
||||
<xs:element name="structure">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
Definitions of a geometrical hierarchy of a set of volumes
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:choice maxOccurs="unbounded">
|
||||
<xs:element name="volume" type="VolumeType"/>
|
||||
<xs:element name="assembly" type="AssemblyVolumeType"/>
|
||||
</xs:choice>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
|
||||
<xs:element name="gdml">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element ref="define"/>
|
||||
<xs:element ref="materials"/>
|
||||
<xs:element ref="solids"/>
|
||||
<xs:element ref="structure"/>
|
||||
<xs:element name="setup" maxOccurs="unbounded">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
Geometry setup representing the particular geometry hierarchy by refferring to
|
||||
a given volume which becomes the top level volume
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="world" type="ReferenceType">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
A reference to the previously defined volume
|
||||
in the structure block chosen by this setup
|
||||
World volumme can't be an assembly volume
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
<xs:attribute name="name" type="xs:ID" use="required"/>
|
||||
<xs:attribute name="version" type="xs:string" use="required"/>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
<xs:attribute name="version" type="xs:string" fixed="1.0"/>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
</xs:schema>
|
||||
@@ -0,0 +1,178 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
|
||||
xmlns:gdml="http://cern.ch/2001/Schemas/GDML"
|
||||
elementFormDefault="unqualified"
|
||||
attributeFormDefault="unqualified" version="1.0">
|
||||
<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
|
||||
<xs:simpleType name="InlineExpressionType">
|
||||
<xs:restriction base="xs:string"/>
|
||||
</xs:simpleType>
|
||||
<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
|
||||
<xs:simpleType name="ExpressionOrIDREFType">
|
||||
<xs:union memberTypes="xs:IDREF InlineExpressionType xs:double"/>
|
||||
</xs:simpleType>
|
||||
<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
|
||||
<xs:complexType name="IdentifiableExpressionType">
|
||||
<xs:simpleContent>
|
||||
<xs:extension base="InlineExpressionType">
|
||||
<xs:attribute name="name" type="xs:ID" use="required"/>
|
||||
</xs:extension>
|
||||
</xs:simpleContent>
|
||||
</xs:complexType>
|
||||
<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
|
||||
<!--
|
||||
<xs:complexType name="ExpressionType" mixed="true">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
A base type for expressions
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:complexType>
|
||||
-->
|
||||
<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
|
||||
<!--
|
||||
<xs:complexType name="IdentifiableExpressionType" mixed="true">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
Named (referenced), global scope,
|
||||
expression (may contain named constants and quantities)
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:complexContent>
|
||||
<xs:extension base="ExpressionType">
|
||||
<xs:attribute name="name" type="xs:ID" use="required"/>
|
||||
</xs:extension>
|
||||
</xs:complexContent>
|
||||
</xs:complexType>
|
||||
-->
|
||||
<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
|
||||
<xs:complexType name="ConstantType">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
An anonymous, local scope, value
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:attribute name="value" type="ExpressionOrIDREFType" use="required"/>
|
||||
</xs:complexType>
|
||||
<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
|
||||
<xs:complexType name="IdentifiableConstantType">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
Named (referenced), global scope, constant value
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:complexContent>
|
||||
<xs:extension base="ConstantType">
|
||||
<xs:attribute name="name" type="xs:ID" use="required"/>
|
||||
</xs:extension>
|
||||
</xs:complexContent>
|
||||
</xs:complexType>
|
||||
<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
|
||||
<xs:complexType name="QuantityType">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
An anonymous quantity, local scope, with a unit,
|
||||
(possibly of a given type) quantity
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:complexContent>
|
||||
<xs:extension base="ConstantType">
|
||||
<!-- The unit attribute was originally required,
|
||||
but set to optional and is recommended to provide
|
||||
a default value in its derived type
|
||||
-->
|
||||
<xs:attribute name="unit" type="xs:string" use="optional"/>
|
||||
<xs:attribute name="type" type="xs:string" use="optional"/>
|
||||
</xs:extension>
|
||||
</xs:complexContent>
|
||||
</xs:complexType>
|
||||
<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
|
||||
<xs:complexType name="IdentifiableQuantityType">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
Named (referenced), global scope,(possibly of a given type) quantity
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:complexContent>
|
||||
<xs:extension base="QuantityType">
|
||||
<xs:attribute name="name" type="xs:ID" use="required"/>
|
||||
</xs:extension>
|
||||
</xs:complexContent>
|
||||
</xs:complexType>
|
||||
<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
|
||||
<xs:complexType name="ThreeVectorType">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
An anonymous, 3 dimensional, local scope, vector of doubles
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:attribute name="x" type="ExpressionOrIDREFType" default="0.0"/>
|
||||
<xs:attribute name="y" type="ExpressionOrIDREFType" default="0.0"/>
|
||||
<xs:attribute name="z" type="ExpressionOrIDREFType" default="0.0"/>
|
||||
</xs:complexType>
|
||||
<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
|
||||
<xs:complexType name="IdentifiableThreeVectorType">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
Named (referenced), 3 dimensional, global scope, vector of doubles
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:complexContent>
|
||||
<xs:extension base="ThreeVectorType">
|
||||
<xs:attribute name="name" type="xs:ID" use="required"/>
|
||||
</xs:extension>
|
||||
</xs:complexContent>
|
||||
</xs:complexType>
|
||||
<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
|
||||
<xs:complexType name="QuantityVectorType">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
An anonymous, 3 dimensional, local scope, with a unit,
|
||||
(possibly of a given type) quantity vector
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:complexContent>
|
||||
<xs:extension base="ThreeVectorType">
|
||||
<!-- The unit attribute was originally required,
|
||||
but set to optional and is recommended to provide
|
||||
a default value in its derived type
|
||||
-->
|
||||
<xs:attribute name="unit" type="xs:string" use="optional"/>
|
||||
<xs:attribute name="type" type="xs:string" use="optional"/>
|
||||
</xs:extension>
|
||||
</xs:complexContent>
|
||||
</xs:complexType>
|
||||
<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
|
||||
<xs:complexType name="IdentifiableQuantityVectorType">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
Named (referenced), 3 dimensional, global scope, with a unit,
|
||||
(possibly of a given type) quantity vector
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:complexContent>
|
||||
<xs:extension base="QuantityVectorType">
|
||||
<xs:attribute name="name" type="xs:ID" use="required"/>
|
||||
</xs:extension>
|
||||
</xs:complexContent>
|
||||
</xs:complexType>
|
||||
<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
|
||||
<xs:complexType name="ReferenceType">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
Local reference to an element of a named type
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:attribute name="ref" type="xs:IDREF" use="required"/>
|
||||
</xs:complexType>
|
||||
<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
|
||||
<xs:complexType name="ReferenceListType">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
List of local references to a set of element of a named type
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:attribute name="refs" type="xs:IDREFS" use="required"/>
|
||||
</xs:complexType>
|
||||
<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
|
||||
</xs:schema>
|
||||
@@ -0,0 +1,93 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
|
||||
xmlns:gdml="http://cern.ch/2001/Schemas/GDML"
|
||||
elementFormDefault="unqualified"
|
||||
attributeFormDefault="unqualified"
|
||||
version="1.0">
|
||||
<xs:include schemaLocation="gdml_simple_core.xsd"/>
|
||||
<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
|
||||
<xs:element name="define" type="defineType">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
Definition block of global named constants, quantitties, expressions,
|
||||
positions and rotations which may be used by name or
|
||||
by a reference in scope of the current document
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
|
||||
<xs:complexType name="defineType">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
The global complex type is defined in order to reuse this defintion
|
||||
in derived schemas
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
<!-- |||||||||||||||||||||||||||||||||||||||||||||||||||||||||| -->
|
||||
<xs:choice maxOccurs="unbounded">
|
||||
<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
|
||||
<xs:element name="constant" type="IdentifiableConstantType"
|
||||
minOccurs="0" maxOccurs="unbounded">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Named constant</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
|
||||
<xs:element name="quantity" type="IdentifiableQuantityType"
|
||||
minOccurs="0" maxOccurs="unbounded">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Named quantity</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
|
||||
<xs:element name="expression" type="IdentifiableExpressionType"
|
||||
minOccurs="0" maxOccurs="unbounded">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
Named expression, may contain other named constants,
|
||||
quantities and expressions
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
|
||||
<xs:element name="position" type="positionType"
|
||||
minOccurs="0" maxOccurs="unbounded">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
Named cartesian position, default unit mm
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
|
||||
<xs:element name="rotation" type="rotationType"
|
||||
minOccurs="0" maxOccurs="unbounded">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
Named cartesian rotation, default unit radian
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
|
||||
</xs:choice>
|
||||
<!-- |||||||||||||||||||||||||||||||||||||||||||||||||||||||||| -->
|
||||
</xs:complexType>
|
||||
<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
|
||||
<xs:complexType name="positionType">
|
||||
<xs:complexContent>
|
||||
<xs:restriction base="IdentifiableQuantityVectorType">
|
||||
<xs:attribute name="unit" default="mm"/>
|
||||
<xs:attribute name="type" default="cartesian"/>
|
||||
</xs:restriction>
|
||||
</xs:complexContent>
|
||||
</xs:complexType>
|
||||
<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
|
||||
<xs:complexType name="rotationType">
|
||||
<xs:complexContent>
|
||||
<xs:restriction base="IdentifiableQuantityVectorType">
|
||||
<xs:attribute name="unit" default="radian"/>
|
||||
<xs:attribute name="type" default="cartesian"/>
|
||||
</xs:restriction>
|
||||
</xs:complexContent>
|
||||
</xs:complexType>
|
||||
<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
|
||||
</xs:schema>
|
||||
@@ -0,0 +1,428 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<xs:schema xmlns:gdml="http://cern.ch/2001/Schemas/GDML"
|
||||
xmlns:xs="http://www.w3.org/2001/XMLSchema"
|
||||
elementFormDefault="unqualified"
|
||||
attributeFormDefault="unqualified"
|
||||
version="0.1">
|
||||
<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
|
||||
<xs:include schemaLocation="gdml_simple_core.xsd"/>
|
||||
<xs:include schemaLocation="gdml_simple_define.xsd"/>
|
||||
<!-- Removed abstract="true" in AtomType -->
|
||||
<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
|
||||
<xs:complexType name="AtomType">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
Atomic mass, quantity type A, default unit g/mole
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:complexContent>
|
||||
<xs:restriction base="QuantityType">
|
||||
<xs:attribute name="unit" default="g/mole"/>
|
||||
<xs:attribute name="type" fixed="A"/>
|
||||
</xs:restriction>
|
||||
</xs:complexContent>
|
||||
</xs:complexType>
|
||||
<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
|
||||
<xs:complexType name="DensityType">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Density</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:complexContent>
|
||||
<xs:restriction base="QuantityType">
|
||||
<xs:attribute name="unit" default="g/cm3"/>
|
||||
<xs:attribute name="type" fixed="density"/>
|
||||
</xs:restriction>
|
||||
</xs:complexContent>
|
||||
</xs:complexType>
|
||||
<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
|
||||
<xs:group name="MaterialPropertiesGroup">
|
||||
<xs:annotation>
|
||||
<xs:documentation>General material properties</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:sequence>
|
||||
<xs:choice minOccurs="0">
|
||||
<xs:element name="RL">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
Radiation length
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:complexType>
|
||||
<xs:complexContent>
|
||||
<xs:restriction base="QuantityType">
|
||||
<xs:attribute name="unit" default="cm"/>
|
||||
<xs:attribute name="type" fixed="X0"/>
|
||||
</xs:restriction>
|
||||
</xs:complexContent>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="RLref" type="ReferenceType">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
A reference to a previsouly defined named radiation length quantity value
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
</xs:choice>
|
||||
<xs:choice minOccurs="0">
|
||||
<xs:element name="AL">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Absorption length</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:complexType>
|
||||
<xs:complexContent>
|
||||
<xs:restriction base="QuantityType">
|
||||
<xs:attribute name="unit" default="cm"/>
|
||||
<xs:attribute name="type" fixed="lambda"/>
|
||||
</xs:restriction>
|
||||
</xs:complexContent>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="ALref" type="ReferenceType">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
A reference to a previsouly defined named absorption length quantity value
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
</xs:choice>
|
||||
<xs:choice minOccurs="0">
|
||||
<xs:element name="T">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Temperature</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:complexType>
|
||||
<xs:complexContent>
|
||||
<xs:restriction base="QuantityType">
|
||||
<xs:attribute name="unit" default="K"/>
|
||||
<xs:attribute name="type" fixed="temperature"/>
|
||||
</xs:restriction>
|
||||
</xs:complexContent>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="Tref" type="ReferenceType">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
A reference to previously defined named temperature quantity value
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
</xs:choice>
|
||||
<xs:choice minOccurs="0">
|
||||
<xs:element name="P">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Pressure</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:complexType>
|
||||
<xs:complexContent>
|
||||
<xs:restriction base="QuantityType">
|
||||
<xs:attribute name="unit" default="pascal"/>
|
||||
<xs:attribute name="type" fixed="pressure"/>
|
||||
</xs:restriction>
|
||||
</xs:complexContent>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="Pref" type="ReferenceType">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
A reference to previously defined named pressure quantity value
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
</xs:choice>
|
||||
</xs:sequence>
|
||||
</xs:group>
|
||||
<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
|
||||
<xs:attributeGroup name="MaterialAttributeGroup">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
General material attributes
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:attribute name="name" type="xs:ID" use="required">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Material name</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="formula" type="xs:string" use="optional">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Material chemical formula</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="state" default="unknown">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
Material physical state
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:NMTOKEN">
|
||||
<xs:enumeration value="gas"/>
|
||||
<xs:enumeration value="liquid"/>
|
||||
<xs:enumeration value="solid"/>
|
||||
<xs:enumeration value="unknown"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:attribute>
|
||||
</xs:attributeGroup>
|
||||
<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
|
||||
<xs:complexType name="MaterialType">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
Base type for materials
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:group ref="MaterialPropertiesGroup"/>
|
||||
<xs:attributeGroup ref="MaterialAttributeGroup"/>
|
||||
</xs:complexType>
|
||||
<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
|
||||
<!--
|
||||
<xs:complexType name="ComplexMaterialType">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
Base type for complex materials
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:complexContent>
|
||||
<xs:extension base="MaterialType">
|
||||
-->
|
||||
<!-- <xs:group ref="MaterialPropertiesGroup"/> -->
|
||||
<!--
|
||||
Removed from referenced attribute group
|
||||
<xs:attribute name="N" use="prohibited"/>
|
||||
-->
|
||||
<!--
|
||||
<xs:attribute name="Z" type="xs:double" use="optional">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Atomic number</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
</xs:extension>
|
||||
</xs:complexContent>
|
||||
</xs:complexType>
|
||||
-->
|
||||
<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
|
||||
<xs:element name="materials">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Materials description</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="define" type="defineType" minOccurs="0">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
Material related definitons of constants and quantities
|
||||
In this version of schema these become visible in global scope
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element name="isotope" type="MaterialIsotopeType"
|
||||
minOccurs="0" maxOccurs="unbounded">
|
||||
<xs:annotation>
|
||||
<xs:documentation>An isotope</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element name="element" type="MaterialElementType"
|
||||
minOccurs="0" maxOccurs="unbounded">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
A simple element or an element compoased of isotopes
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element name="material" type="MaterialMixtureType"
|
||||
minOccurs="0" maxOccurs="unbounded">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
A composite or a mixture complex material
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
|
||||
<xs:complexType name="MaterialIsotopeType">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Exported isotope type</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:complexContent>
|
||||
<xs:extension base="MaterialType">
|
||||
<xs:sequence>
|
||||
<xs:choice minOccurs="0">
|
||||
<xs:element name="D" type="DensityType">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
Density quantity value
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element name="Dref" type="ReferenceType">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
A reference to a previsouly defined named density quantity value
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
</xs:choice>
|
||||
<xs:element name="atom" type="AtomType"/>
|
||||
</xs:sequence>
|
||||
<xs:attribute name="N" type="xs:positiveInteger" use="required">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Number of nucleons</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="Z" type="xs:double" use="required">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Atomic number</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
</xs:extension>
|
||||
</xs:complexContent>
|
||||
</xs:complexType>
|
||||
<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
|
||||
<xs:complexType name="MaterialElementType">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Exported material element type</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:complexContent>
|
||||
<xs:extension base="MaterialType">
|
||||
<xs:sequence>
|
||||
<xs:choice minOccurs="0">
|
||||
<xs:element name="D" type="DensityType">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
Density quantity value
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element name="Dref" type="ReferenceType">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
A reference to a previsouly defined named density quantity value
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
</xs:choice>
|
||||
<xs:choice>
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
An element can be defined either as a simple element or by a set
|
||||
of isotopes fractions
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:element name="atom" type="AtomType"/>
|
||||
<xs:element name="fraction" maxOccurs="unbounded">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
An isotope fraction of an element where n is the actual amount
|
||||
of the isotope in the element
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:complexType>
|
||||
<xs:complexContent>
|
||||
<xs:extension base="ReferenceType">
|
||||
<xs:attribute name="n" type="xs:double" use="required"/>
|
||||
</xs:extension>
|
||||
</xs:complexContent>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
</xs:choice>
|
||||
</xs:sequence>
|
||||
<xs:attribute name="N" type="xs:positiveInteger" use="optional">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Number of nucleons</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="Z" type="xs:double" use="optional">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Atomic number</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
</xs:extension>
|
||||
</xs:complexContent>
|
||||
</xs:complexType>
|
||||
<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
|
||||
<xs:complexType name="MaterialMixtureType">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
Exported material composite or mixture type
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:complexContent>
|
||||
<!-- <xs:extension base="ComplexMaterialType"> -->
|
||||
<xs:extension base="MaterialType">
|
||||
<xs:sequence>
|
||||
<xs:choice>
|
||||
<xs:element name="D" type="DensityType">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
Density quantity value
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element name="Dref" type="ReferenceType">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
A reference to a previsouly defined named density quantity value
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
</xs:choice>
|
||||
<xs:choice>
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
A complex material can be defined as a simple mixture when
|
||||
its material properties are known or as a composite material
|
||||
or a mixture. A composite material is defined by a set of elements
|
||||
by specifying the number of atoms.
|
||||
The second way is by a set of material fractions where the fractions
|
||||
can be either simple elements or other complex materials.
|
||||
The restriction is that one can't mix composition by atoms and fractions
|
||||
at the same time.
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:element name="atom" type="AtomType"/>
|
||||
<xs:element name="composite" maxOccurs="unbounded">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
Elements of this composite material specified as a set of local references
|
||||
to already defined simple elements where value of n in each means the number of atoms
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:complexType>
|
||||
<xs:complexContent>
|
||||
<xs:extension base="ReferenceType">
|
||||
<xs:attribute name="n" type="xs:positiveInteger" use="required"/>
|
||||
</xs:extension>
|
||||
</xs:complexContent>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="fraction" maxOccurs="unbounded">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
Fractions of this mixture specified as a set of local references to already defined
|
||||
elements or other mixtures where value of n in each means the fraction of the whole
|
||||
material in the range 0.0 < n < 1.0
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:complexType>
|
||||
<xs:complexContent>
|
||||
<xs:extension base="ReferenceType">
|
||||
<xs:attribute name="n" type="xs:double" use="required"/>
|
||||
</xs:extension>
|
||||
</xs:complexContent>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
</xs:choice>
|
||||
</xs:sequence>
|
||||
<xs:attribute name="Z" type="xs:double" use="optional">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Atomic number</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
</xs:extension>
|
||||
</xs:complexContent>
|
||||
</xs:complexType>
|
||||
<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
|
||||
</xs:schema>
|
||||
@@ -0,0 +1,302 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!-- edited with XML Spy v4.2 U (http://www.xmlspy.com) by Radovan Chytracek (private) -->
|
||||
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
|
||||
xmlns:gdml="http://cern.ch/2001/Schemas/GDML"
|
||||
elementFormDefault="unqualified"
|
||||
attributeFormDefault="unqualified"
|
||||
version="1.0">
|
||||
<xs:include schemaLocation="gdml_simple_core.xsd"/>
|
||||
<xs:include schemaLocation="gdml_simple_define.xsd"/>
|
||||
<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
|
||||
<xs:complexType name="SolidType">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
Base solid type
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:attribute name="lunit" type="xs:string" default="mm">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
Length unit of all dimensions used for this instance of solid
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="aunit" type="xs:string" default="radian">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
Angle unit of angles used in definition of this solid
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="name" type="xs:ID" use="required"/>
|
||||
</xs:complexType>
|
||||
<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
|
||||
<xs:complexType name="BooleanSolidType">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
Base type for boolean solids
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:complexContent>
|
||||
<xs:extension base="SolidType">
|
||||
<xs:sequence>
|
||||
<xs:element name="first" type="ReferenceType"/>
|
||||
<xs:element name="second" type="ReferenceType"/>
|
||||
<xs:choice minOccurs="0">
|
||||
<xs:element name="position" type="positionType"/>
|
||||
<xs:element name="positionref" type="ReferenceType"/>
|
||||
</xs:choice>
|
||||
<xs:choice minOccurs="0">
|
||||
<xs:element name="rotation" type="rotationType"/>
|
||||
<xs:element name="rotationref" type="ReferenceType"/>
|
||||
</xs:choice>
|
||||
</xs:sequence>
|
||||
</xs:extension>
|
||||
</xs:complexContent>
|
||||
</xs:complexType>
|
||||
<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
|
||||
<!--
|
||||
<xs:element name="BooleanSolid" abstract="true">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
Abstract element for boolean solids substitution group
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:complexType>
|
||||
<xs:complexContent>
|
||||
<xs:extension base="BooleanSolidType"/>
|
||||
</xs:complexContent>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
-->
|
||||
<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
|
||||
<xs:element name="Solid" type="SolidType" abstract="true">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
Abstract element for all solids substitution group
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
|
||||
<xs:element name="solids">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
Solids definitions block
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="define" type="defineType" minOccurs="0">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
Definitions of constants and expressions to be used for solids'
|
||||
dimensions and transformations
|
||||
In this version these become part of the global scope.
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element ref="Solid" maxOccurs="unbounded"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
|
||||
<xs:element name="union" type="BooleanSolidType" substitutionGroup="Solid">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
Exported boolean union of two solids
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
|
||||
<xs:element name="subtraction" type="BooleanSolidType" substitutionGroup="Solid">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
Exported boolean subtraction of two solids
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
|
||||
<xs:element name="intersection" type="BooleanSolidType" substitutionGroup="Solid">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
Exported boolean intersectioin of two solids
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
|
||||
<xs:element name="box" substitutionGroup="Solid">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
CSG box solid described by 3 dimensions of x, y, and z
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:complexType>
|
||||
<xs:complexContent>
|
||||
<xs:extension base="SolidType">
|
||||
<xs:attribute name="x" type="ExpressionOrIDREFType" use="required"/>
|
||||
<xs:attribute name="y" type="ExpressionOrIDREFType" use="required"/>
|
||||
<xs:attribute name="z" type="ExpressionOrIDREFType" use="required"/>
|
||||
</xs:extension>
|
||||
</xs:complexContent>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
|
||||
<xs:element name="sphere" substitutionGroup="Solid">
|
||||
<xs:annotation>
|
||||
<xs:documentation> CSG sphere or spherical shell segment solid described by
|
||||
rmin inner radius
|
||||
rmax outer radius
|
||||
startphi starting angle of the segment in radians(0 <= phi <= 2*PI)
|
||||
deltaphi delta angle of the segment in radians
|
||||
starttheta starting angle of the segment in radians(0 <= theta <= PI)
|
||||
deltatheta delta angle of the segment in radians
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:complexType>
|
||||
<xs:complexContent>
|
||||
<xs:extension base="SolidType">
|
||||
<xs:attribute name="rmin" type="ExpressionOrIDREFType" default="0.0"/>
|
||||
<xs:attribute name="rmax" type="ExpressionOrIDREFType" use="required"/>
|
||||
<xs:attribute name="startphi" type="ExpressionOrIDREFType" default="0.0"/>
|
||||
<xs:attribute name="deltaphi" type="ExpressionOrIDREFType" use="required"/>
|
||||
<xs:attribute name="starttheta" type="ExpressionOrIDREFType" default="0.0"/>
|
||||
<xs:attribute name="deltatheta" type="ExpressionOrIDREFType" use="required"/>
|
||||
</xs:extension>
|
||||
</xs:complexContent>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
|
||||
<xs:element name="tube" substitutionGroup="Solid">
|
||||
<xs:annotation>
|
||||
<xs:documentation> CSG tube or tube segement solid described by
|
||||
rmin Inner radius
|
||||
rmax Outer radius
|
||||
z length in z
|
||||
startphi The starting phi angle in radians, adjusted such that
|
||||
(startphi+deltaphi <= 2PI, startphi > -2PI)
|
||||
deltaphi Delta angle of the segment in radians
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:complexType>
|
||||
<xs:complexContent>
|
||||
<xs:extension base="SolidType">
|
||||
<xs:attribute name="z" type="ExpressionOrIDREFType"/>
|
||||
<xs:attribute name="rmin" type="ExpressionOrIDREFType" default="0.0"/>
|
||||
<xs:attribute name="rmax" type="ExpressionOrIDREFType" use="required"/>
|
||||
<xs:attribute name="startphi" type="ExpressionOrIDREFType" default="0.0"/>
|
||||
<xs:attribute name="deltaphi" type="ExpressionOrIDREFType" use="required"/>
|
||||
</xs:extension>
|
||||
</xs:complexContent>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
|
||||
<xs:element name="cone" substitutionGroup="Solid">
|
||||
<xs:annotation>
|
||||
<xs:documentation> CSG cone or cone segment described by
|
||||
rmin1 inside radius at z/2
|
||||
rmin2 inside radius at z/2
|
||||
rmax1 outside radius at z/2
|
||||
rmax2 outside radius at z/2
|
||||
z length in z
|
||||
startphi starting angle of the segment in radians
|
||||
deltaphi delta angle of the segment in radians
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:complexType>
|
||||
<xs:complexContent>
|
||||
<xs:extension base="SolidType">
|
||||
<xs:attribute name="z" type="ExpressionOrIDREFType" use="required"/>
|
||||
<xs:attribute name="rmin1" type="ExpressionOrIDREFType" default="0.0"/>
|
||||
<xs:attribute name="rmin2" type="ExpressionOrIDREFType" default="0.0"/>
|
||||
<xs:attribute name="rmax1" type="ExpressionOrIDREFType" use="required"/>
|
||||
<xs:attribute name="rmax2" type="ExpressionOrIDREFType" use="required"/>
|
||||
<xs:attribute name="startphi" type="ExpressionOrIDREFType" default="0.0"/>
|
||||
<xs:attribute name="deltaphi" type="ExpressionOrIDREFType" use="required"/>
|
||||
</xs:extension>
|
||||
</xs:complexContent>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
|
||||
<xs:element name="para" substitutionGroup="Solid">
|
||||
<xs:annotation>
|
||||
<xs:documentation> CSG parallelepiped solid is described by
|
||||
x, y, z length in x,y,z
|
||||
alpha Angle formed by the y axis and by the plane joining the centre of the faces
|
||||
G4Parallel to the z-x plane at -y and +y
|
||||
theta Polar angle of the line joining the centres of the faces at -z and +z in z
|
||||
phi Azimuthal angle of the line joining the centres of the faces at -z and +z in z
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:complexType>
|
||||
<xs:complexContent>
|
||||
<xs:extension base="SolidType">
|
||||
<xs:attribute name="x" type="ExpressionOrIDREFType" use="required"/>
|
||||
<xs:attribute name="y" type="ExpressionOrIDREFType" use="required"/>
|
||||
<xs:attribute name="z" type="ExpressionOrIDREFType" use="required"/>
|
||||
<xs:attribute name="alpha" type="ExpressionOrIDREFType" use="required"/>
|
||||
<xs:attribute name="theta" type="ExpressionOrIDREFType" use="required"/>
|
||||
<xs:attribute name="phi" type="ExpressionOrIDREFType" use="required"/>
|
||||
</xs:extension>
|
||||
</xs:complexContent>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
|
||||
<xs:element name="trd" substitutionGroup="Solid">
|
||||
<xs:annotation>
|
||||
<xs:documentation> CSG trapezoid solid with varying x and y dimensions along z axis
|
||||
x1 Length along x at the surface positioned at -z
|
||||
x2 Length along x at the surface positioned at +z
|
||||
y1 Length along y at the surface positioned at -z
|
||||
y2 Length along y at the surface positioned at +z
|
||||
z Length along z axis
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:complexType>
|
||||
<xs:complexContent>
|
||||
<xs:extension base="SolidType">
|
||||
<xs:attribute name="x1" type="ExpressionOrIDREFType" use="required"/>
|
||||
<xs:attribute name="x2" type="ExpressionOrIDREFType" use="required"/>
|
||||
<xs:attribute name="y1" type="ExpressionOrIDREFType" use="required"/>
|
||||
<xs:attribute name="y2" type="ExpressionOrIDREFType" use="required"/>
|
||||
<xs:attribute name="z" type="ExpressionOrIDREFType" use="required"/>
|
||||
</xs:extension>
|
||||
</xs:complexContent>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
|
||||
<xs:element name="trap" substitutionGroup="Solid">
|
||||
<xs:annotation>
|
||||
<xs:documentation> CSG general trapezoid solid is described by
|
||||
z Length along the z-axis
|
||||
theta Polar angle of the line joining the centres of the faces at -/+z
|
||||
phi Azimuthal angle of the line joing the centre of the face at -z to the centre of the face at +z
|
||||
y1 Length along y of the face at -z
|
||||
x1 Length along x of the side at y = -y1 of the face at -z
|
||||
x2 Length along x of the side at y = +y1 of the face at -z
|
||||
alp1 Angle with respect to the y axis from the centre of the side at y =- y1 to the centre at y = +y1 of the face at -z
|
||||
y2 Length along y of the face at +z
|
||||
x3 Length along x of the side at y = -y2 of the face at +z
|
||||
x4 Length along x of the side at y = +y2 of the face at +z
|
||||
alp2 Angle with respect to the y axis from the centre of the side at y = -y2 to the centre at y = +y2 of the face at +z
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:complexType>
|
||||
<xs:complexContent>
|
||||
<xs:extension base="SolidType">
|
||||
<xs:attribute name="z" type="ExpressionOrIDREFType" use="required"/>
|
||||
<xs:attribute name="theta" type="ExpressionOrIDREFType" use="required"/>
|
||||
<xs:attribute name="phi" type="ExpressionOrIDREFType" use="required"/>
|
||||
<xs:attribute name="y1" type="ExpressionOrIDREFType" use="required"/>
|
||||
<xs:attribute name="x1" type="ExpressionOrIDREFType" use="required"/>
|
||||
<xs:attribute name="x2" type="ExpressionOrIDREFType" use="required"/>
|
||||
<xs:attribute name="alpha1" type="ExpressionOrIDREFType" use="required"/>
|
||||
<xs:attribute name="y2" type="ExpressionOrIDREFType" use="required"/>
|
||||
<xs:attribute name="x3" type="ExpressionOrIDREFType" use="required"/>
|
||||
<xs:attribute name="x4" type="ExpressionOrIDREFType" use="required"/>
|
||||
<xs:attribute name="alpha2" type="ExpressionOrIDREFType" use="required"/>
|
||||
</xs:extension>
|
||||
</xs:complexContent>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
|
||||
</xs:schema>
|
||||
Reference in New Issue
Block a user