Commit in lcdd/schemas/gdml/1.0 on MAIN | |||
gdml.xsd | -216 | 1.4 removed | |
gdml_core.xsd | -199 | 1.2 removed | |
gdml_define.xsd | -118 | 1.3 removed | |
gdml_extensions.xsd | -36 | 1.1 removed | |
gdml_materials.xsd | -410 | 1.3 removed | |
gdml_parameterised.xsd | -104 | 1.2 removed | |
gdml_replicas.xsd | -80 | 1.3 removed | |
gdml_solids.xsd | -834 | 1.4 removed | |
-1997 |
removing redundant copies of GDML schema from LCDD module
diff -N gdml.xsd --- gdml.xsd 2 May 2013 20:46:40 -0000 1.4 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,216 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?> -<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"> - <xs:include schemaLocation="gdml_core.xsd"/> - <xs:include schemaLocation="gdml_define.xsd"/> - <xs:include schemaLocation="gdml_materials.xsd"/> - <xs:include schemaLocation="gdml_solids.xsd"/> - <xs:include schemaLocation="gdml_replicas.xsd"/> - <xs:include schemaLocation="gdml_parameterised.xsd"/> - <xs:include schemaLocation="gdml_extensions.xsd"/> - <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> - <xs:complexType abstract="true" name="IdentifiableVolumeType"> - <xs:attribute name="name" type="xs:ID" use="required"/> - </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:choice minOccurs="1"> - <xs:element name="file" type="FileReferenceType"/> - <xs:element name="volumeref" type="ReferenceType"/> - </xs:choice> - <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:choice minOccurs="0"> - <xs:element name="scale" type="scaleType"/> - <xs:element name="scaleref" type="ReferenceType"/> - </xs:choice> - </xs:sequence> - <xs:attribute name="name" type="xs:ID"></xs:attribute> - </xs:complexType> - <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> - <xs:complexType name="DivisionPlacementType"> - <xs:annotation> - <xs:documentation>Represents a division of the associated logical volume - in geometrical hierarchy</xs:documentation> - </xs:annotation> - <xs:sequence> - <xs:element name="volumeref" type="ReferenceType"/> - </xs:sequence> - <xs:attribute name="axis" type="xs:string" use="required"></xs:attribute> - <xs:attribute name="number" type="ExpressionOrIDREFType" use="required"></xs:attribute> - <xs:attribute name="width" type="ExpressionOrIDREFType" use="required"></xs:attribute> - <xs:attribute name="offset" type="ExpressionOrIDREFType" use="required"></xs:attribute> - <xs:attribute default="mm" name="unit" type="xs:string"></xs:attribute> - </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:choice minOccurs="0"> - <xs:element maxOccurs="unbounded" name="physvol" type="SinglePlacementType"/> - <xs:element maxOccurs="1" minOccurs="1" name="divisionvol" type="DivisionPlacementType"/> - <xs:element maxOccurs="1" minOccurs="1" ref="replicavol"/> - <xs:element maxOccurs="1" minOccurs="1" name="paramvol" type="ParameterisedPlacementType"/> - </xs:choice> - <xs:element maxOccurs="unbounded" minOccurs="0" ref="loop"/> - <xs:element name="auxiliary" maxOccurs="unbounded" minOccurs="0" type="AuxiliaryType"/> - </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:choice> - <xs:element maxOccurs="unbounded" name="physvol" type="SinglePlacementType"/> - <xs:element maxOccurs="1" minOccurs="1" ref="replicavol"/> - <xs:element maxOccurs="1" minOccurs="1" name="paramvol" type="ParameterisedPlacementType"/> - </xs:choice> - </xs:extension> - </xs:complexContent> - </xs:complexType> - <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> - <xs:complexType name="LogicalSurfaceType"> - <xs:annotation> - <xs:documentation>Base type for logical surfaces (for the moment only optical) - </xs:documentation> - </xs:annotation> - <xs:attribute name="name" type="xs:ID" use="required"></xs:attribute> - <xs:attribute name="surfaceproperty" type="ExpressionOrIDREFType" use="required"></xs:attribute> - </xs:complexType> - <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> - <xs:element abstract="true" name="Surface" type="LogicalSurfaceType"> - <xs:annotation> - <xs:documentation>Abstract element for all solids substitution group</xs:documentation> - </xs:annotation> - </xs:element> - <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> - <xs:element name="bordersurface" substitutionGroup="Surface"> - <xs:annotation> - <xs:documentation>Surface between two physical volumes</xs:documentation> - </xs:annotation> - <xs:complexType> - <xs:complexContent> - <xs:extension base="LogicalSurfaceType"> - <xs:sequence> - <xs:element name="physvolref" type="ReferenceType"/> - <xs:element name="physvolref" type="ReferenceType"/> - </xs:sequence> - </xs:extension> - </xs:complexContent> - </xs:complexType> - </xs:element> - <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> - <xs:element name="skinsurface" substitutionGroup="Surface"> - <xs:annotation> - <xs:documentation>Surface between two physical volumes</xs:documentation> - </xs:annotation> - <xs:complexType> - <xs:complexContent> - <xs:extension base="LogicalSurfaceType"> - <xs:sequence> - <xs:element name="volumeref" type="ReferenceType"/> - </xs:sequence> - </xs:extension> - </xs:complexContent> - </xs:complexType> - </xs:element> - <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> - <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:element maxOccurs="unbounded" minOccurs="0" ref="loop"/> - <xs:element ref="ParameterisationAlgorithm"/> - </xs:choice> - <xs:element minOccurs="0" maxOccurs="unbounded" ref="Surface"/> - </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 maxOccurs="unbounded" name="setup"> - <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 fixed="2.10.0" name="version" type="xs:string"> - <xs:annotation> - <xs:documentation>The GDML Schema version consists of 3 digits X.Y.Z - where these mean: - X - major number, increased when major new - features or backward incompatible bug fixes - are added and means the GDML Processor is - allowed to refuse processing of such a - document if this is using the more recent - version of the GDML Schema then GDML Processor - understands - Y - minor number, increased when incremental and - backward compatible changes or improvements - are made into the GDML Schema. GDML Processor - should be able to process such a document - using higher minor version number then that of - the GDML Processor - Z - bugfix revision number, increased when fully - backward compatible changes which resolve a - problem in GDML Schema are applied</xs:documentation> - </xs:annotation> - </xs:attribute> - </xs:complexType> - </xs:element> -</xs:schema>
diff -N gdml_core.xsd --- gdml_core.xsd 5 Jul 2007 22:27:06 -0000 1.2 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,199 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE xs:schema []> -<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"> - <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> - <xs:simpleType name="InlineExpressionType"> - <xs:restriction base="xs:string"></xs:restriction> - </xs:simpleType> - <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> - <xs:simpleType name="ExpressionOrIDREFType"> - <xs:union memberTypes="xs:IDREF InlineExpressionType xs:double "></xs:union> - </xs:simpleType> - <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> - <xs:complexType name="IdentifiableExpressionType"> - <xs:simpleContent> - <xs:extension base="InlineExpressionType"> - <xs:attribute name="name" type="xs:ID" use="required"></xs:attribute> - </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:attribute> - </xs:complexType> - <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> - <xs:complexType name="VariableType"> - <xs:annotation> - <xs:documentation>An anonymous, local scope, value</xs:documentation> - </xs:annotation> - <xs:attribute name="value" type="ExpressionOrIDREFType" use="required"></xs:attribute> - </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:attribute> - </xs:extension> - </xs:complexContent> - </xs:complexType> - <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> - <xs:complexType name="IdentifiableVariableType"> - <xs:annotation> - <xs:documentation>Named (referenced), local scope, variable value</xs:documentation> - </xs:annotation> - <xs:complexContent> - <xs:extension base="VariableType"> - <xs:attribute name="name" type="xs:ID" use="required"></xs:attribute> - </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> - <xs:attribute name="type" type="xs:string" use="optional"></xs:attribute> - </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:attribute> - </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 default="0.0" name="x" type="ExpressionOrIDREFType"></xs:attribute> - <xs:attribute default="0.0" name="y" type="ExpressionOrIDREFType"></xs:attribute> - <xs:attribute default="0.0" name="z" type="ExpressionOrIDREFType"></xs:attribute> - </xs:complexType> - <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> - <xs:complexType name="MatrixType"> - <xs:annotation> - <xs:documentation>A bi-dimensional matrix of doubles</xs:documentation> - </xs:annotation> - <xs:attribute name="name" type="xs:ID"></xs:attribute> - <xs:attribute name="coldim" type="xs:nonNegativeInteger"></xs:attribute> - <xs:attribute name="values" type="xs:string"></xs:attribute> - </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:attribute> - </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> - <xs:attribute name="type" type="xs:string" use="optional"></xs:attribute> - </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:attribute> - </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:attribute> - </xs:complexType> - <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> - <xs:complexType name="FileReferenceType"> - <xs:annotation> - <xs:documentation>Reference to an external file containing sub-volume information</xs:documentation> - </xs:annotation> - <xs:attribute name="name" type="xs:anyURI" use="required"></xs:attribute> - <xs:attribute name="volname" type="xs:string" use="optional"></xs:attribute> - </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:attribute> - </xs:complexType> - <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> - <xs:complexType name="AuxiliaryType"> - <xs:annotation> - <xs:documentation>Auxiliary information like sensitive detector declaration, etc.</xs:documentation> - </xs:annotation> - <xs:attribute name="auxtype" type="xs:string" use="required"></xs:attribute> - <xs:attribute name="auxvalue" type="xs:string" use="required"></xs:attribute> - </xs:complexType> - <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> -</xs:schema>
diff -N gdml_define.xsd --- gdml_define.xsd 2 May 2013 20:46:40 -0000 1.3 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,118 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE xs:schema> -<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"> - <xs:include schemaLocation="gdml_core.xsd"/> - <xs:include schemaLocation="gdml_extensions.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 maxOccurs="unbounded" minOccurs="0" ref="loop"/> - <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> - - <xs:element maxOccurs="unbounded" minOccurs="0" name="constant" type="IdentifiableConstantType"> - <xs:annotation> - <xs:documentation>Named constant</xs:documentation> - </xs:annotation> - </xs:element> - <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> - - <xs:element maxOccurs="unbounded" minOccurs="0" name="variable" type="IdentifiableVariableType"> - <xs:annotation> - <xs:documentation>Named variable</xs:documentation> - </xs:annotation> - </xs:element> - <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> - - <xs:element maxOccurs="unbounded" minOccurs="0" name="matrix" type="MatrixType"> - <xs:annotation> - <xs:documentation>Named matrix</xs:documentation> - </xs:annotation> - </xs:element> - <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> - - <xs:element maxOccurs="unbounded" minOccurs="0" name="quantity" type="IdentifiableQuantityType"> - <xs:annotation> - <xs:documentation>Named quantity</xs:documentation> - </xs:annotation> - </xs:element> - <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> - - <xs:element maxOccurs="unbounded" minOccurs="0" name="expression" type="IdentifiableExpressionType"> - <xs:annotation> - <xs:documentation>Named expression, may contain other named constants, - quantities and expressions</xs:documentation> - </xs:annotation> - </xs:element> - <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> - - <xs:element maxOccurs="unbounded" minOccurs="0" name="position" type="positionType"> - <xs:annotation> - <xs:documentation>Named cartesian position, default unit mm</xs:documentation> - </xs:annotation> - </xs:element> - <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> - - <xs:element maxOccurs="unbounded" minOccurs="0" name="rotation" type="rotationType"> - <xs:annotation> - <xs:documentation>Named cartesian rotation, default unit radian</xs:documentation> - </xs:annotation> - </xs:element> - <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> - - <xs:element maxOccurs="unbounded" minOccurs="0" name="scale" type="scaleType"> - <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 default="mm" type="xs:string" name="unit"/> - <xs:attribute default="cartesian" type="xs:string" name="type"/> - </xs:restriction> - </xs:complexContent> - </xs:complexType> - <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> - - <xs:complexType name="rotationType"> - <xs:complexContent> - <xs:restriction base="IdentifiableQuantityVectorType"> - <xs:attribute default="radian" type="xs:string" name="unit"/> - <xs:attribute default="cartesian" type="xs:string" name="type"/> - </xs:restriction> - </xs:complexContent> - </xs:complexType> - <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> - - <xs:complexType name="scaleType"> - <xs:complexContent> - <xs:restriction base="IdentifiableQuantityVectorType"> - </xs:restriction> - </xs:complexContent> - </xs:complexType> - <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> -</xs:schema>
diff -N gdml_extensions.xsd --- gdml_extensions.xsd 5 Jul 2007 22:27:06 -0000 1.1 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,36 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?> -<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"> - <xs:element name="loop"> - <xs:complexType> - <xs:choice maxOccurs="unbounded"> - <xs:element maxOccurs="unbounded" ref="Solid"/> - <xs:element name="volume" type="VolumeType"/> - <xs:element name="physvol" type="SinglePlacementType"/> - </xs:choice> - <xs:attribute name="for" type="xs:string"> - <xs:annotation> - <xs:documentation> - </xs:documentation> - </xs:annotation> - </xs:attribute> - <xs:attribute name="from" type="xs:nonNegativeInteger"> - <xs:annotation> - <xs:documentation> - </xs:documentation> - </xs:annotation> - </xs:attribute> - <xs:attribute name="to" type="xs:positiveInteger"> - <xs:annotation> - <xs:documentation> - </xs:documentation> - </xs:annotation> - </xs:attribute> - <xs:attribute name="step" type="xs:positiveInteger"> - <xs:annotation> - <xs:documentation> - </xs:documentation> - </xs:annotation> - </xs:attribute> - </xs:complexType> - </xs:element> -</xs:schema>
diff -N gdml_materials.xsd --- gdml_materials.xsd 2 May 2013 20:46:40 -0000 1.3 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,410 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE xs:schema []> -<xs:schema attributeFormDefault="unqualified" elementFormDefault="unqualified" version="0.1" xmlns:gdml="http://cern.ch/2001/Schemas/GDML" xmlns:xs="http://www.w3.org/2001/XMLSchema"> - <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> - <xs:include schemaLocation="gdml_core.xsd"></xs:include> - <xs:include schemaLocation="gdml_define.xsd"></xs:include> - <xs:include schemaLocation="gdml_extensions.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 default="g/mole" type="xs:string" name="unit"></xs:attribute> - <xs:attribute fixed="A" type="xs:string" name="type"></xs:attribute> - </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 default="g/cm3" type="xs:string" name="unit"></xs:attribute> - <xs:attribute fixed="density" type="xs:string" name="type"></xs:attribute> - </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 maxOccurs="unbounded" name="property"> - <xs:annotation> - <xs:documentation>General material property (const or vector)</xs:documentation> - </xs:annotation> - <xs:complexType> - <xs:complexContent> - <xs:extension base="ReferenceType"> - <xs:attribute name="name" type="xs:string" use="required"></xs:attribute> - </xs:extension> - </xs:complexContent> - </xs:complexType> - </xs:element> - </xs:choice> - <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 default="cm" type="xs:string" name="unit"></xs:attribute> - <xs:attribute fixed="X0" type="xs:string" name="type"></xs:attribute> - </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="NIL"> - <xs:annotation> - <xs:documentation>Nuclear interaction length</xs:documentation> - </xs:annotation> - <xs:complexType> - <xs:complexContent> - <xs:restriction base="QuantityType"> - <xs:attribute default="cm" type="xs:string" name="unit"></xs:attribute> - <xs:attribute fixed="lambda" type="xs:string" name="type"></xs:attribute> - </xs:restriction> - </xs:complexContent> - </xs:complexType> - </xs:element> - <xs:element name="NILref" type="ReferenceType"> - <xs:annotation> - <xs:documentation>A reference to a previously defined named nuclear interaction 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 default="cm" type="xs:string" name="unit"></xs:attribute> - <xs:attribute fixed="lambda" type="xs:string" name="type"></xs:attribute> - </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 default="K" type="xs:string" name="unit"></xs:attribute> - <xs:attribute fixed="temperature" type="xs:string" name="type"></xs:attribute> - </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 default="pascal" type="xs:string" name="unit"></xs:attribute> - <xs:attribute fixed="pressure" type="xs:string" name="type"></xs:attribute> - </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 default="unknown" name="state"> - <xs:annotation> - <xs:documentation>Material physical state</xs:documentation> - </xs:annotation> - <xs:simpleType> - <xs:restriction base="xs:NMTOKEN"> - <xs:enumeration value="gas"></xs:enumeration> - <xs:enumeration value="liquid"></xs:enumeration> - <xs:enumeration value="solid"></xs:enumeration> - <xs:enumeration value="unknown"></xs:enumeration> - </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:group> - <xs:attributeGroup ref="MaterialAttributeGroup"></xs:attributeGroup> - </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:choice maxOccurs="unbounded"> - <xs:element maxOccurs="unbounded" minOccurs="0" ref="loop"/> - <xs:element minOccurs="0" name="define" type="defineType"> - <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 maxOccurs="unbounded" minOccurs="0" name="isotope" type="MaterialIsotopeType"> - <xs:annotation> - <xs:documentation>An isotope</xs:documentation> - </xs:annotation> - </xs:element> - <xs:element maxOccurs="unbounded" minOccurs="0" name="element" type="MaterialElementType"> - <xs:annotation> - <xs:documentation>A simple element or an element composed of isotopes</xs:documentation> - </xs:annotation> - </xs:element> - <xs:element maxOccurs="unbounded" minOccurs="0" name="material" type="MaterialMixtureType"> - <xs:annotation> - <xs:documentation>A composite or a mixture complex material</xs:documentation> - </xs:annotation> - </xs:element> - </xs:choice> - </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:element> - </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> - <xs:element maxOccurs="unbounded" name="fraction"> - <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:attribute> - </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> - <xs:element maxOccurs="unbounded" name="composite"> - <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:attribute> - </xs:extension> - </xs:complexContent> - </xs:complexType> - </xs:element> - <xs:element maxOccurs="unbounded" name="fraction"> - <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:attribute> - </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>
diff -N gdml_parameterised.xsd --- gdml_parameterised.xsd 5 Jul 2007 22:27:06 -0000 1.2 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,104 +0,0 @@
-<?xml version="1.0"?> -<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"> - <xs:include schemaLocation="gdml_define.xsd"/> - <xs:include schemaLocation="gdml_extensions.xsd"/> - <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> - <xs:complexType abstract="false" name="DimensionsType"> - <xs:annotation> - <xs:documentation>Abstract base for parametrised dimensions</xs:documentation> - </xs:annotation> - </xs:complexType> - <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> - <xs:element name="Dimensions" abstract="true" type="DimensionsType"> - <xs:annotation> - <xs:documentation>Abstract element for substitution group</xs:documentation> - </xs:annotation> - </xs:element> - <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> - <xs:complexType name="BoxDimensionsType"> - <xs:annotation> - <xs:documentation>Dimensions for parametrised boxes. </xs:documentation> - </xs:annotation> - <xs:complexContent> - <xs:extension base="DimensionsType"> - <xs:attribute default="1.0" name="x" type="ExpressionOrIDREFType"></xs:attribute> - <xs:attribute default="1.0" name="y" type="ExpressionOrIDREFType"></xs:attribute> - <xs:attribute default="1.0" name="z" type="ExpressionOrIDREFType"></xs:attribute> - </xs:extension> - </xs:complexContent> - </xs:complexType> - <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> - <xs:element name="box_dimensions" substitutionGroup="Dimensions" type="BoxDimensionsType"/> - <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> - <xs:complexType name="TubeDimensionsType"> - <xs:annotation> - <xs:documentation>Dimensions for parametrised boxes. </xs:documentation> - </xs:annotation> - <xs:complexContent> - <xs:extension base="DimensionsType"> - <xs:attribute default="1.0" name="DeltaPhi" type="ExpressionOrIDREFType"></xs:attribute> - <xs:attribute default="1.0" name="InR" type="ExpressionOrIDREFType"></xs:attribute> - <xs:attribute default="1.0" name="OutR" type="ExpressionOrIDREFType"></xs:attribute> - <xs:attribute default="1.0" name="StartPhi" type="ExpressionOrIDREFType"></xs:attribute> - <xs:attribute default="1.0" name="hz" type="ExpressionOrIDREFType"></xs:attribute> - </xs:extension> - </xs:complexContent> - </xs:complexType> - <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> - <xs:element name="tube_dimensions" substitutionGroup="Dimensions" type="TubeDimensionsType"/> - <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> - <xs:complexType abstract="false" name="ParameterisationAlgorithmType"> - <xs:annotation> - <xs:documentation>Abstract base for parameterised placement strategies</xs:documentation> - </xs:annotation> - </xs:complexType> - <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> - <xs:element name="ParameterisationAlgorithm" abstract="true" type="ParameterisationAlgorithmType"> - <xs:annotation> - <xs:documentation>Abstract element for substitution group</xs:documentation> - </xs:annotation> - </xs:element> - <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> - <xs:complexType name="PositionSizeParameterisationAlgorithmType"> - <xs:annotation> - <xs:documentation>Parameterised volumes get created using - the tabularized position and sizes. </xs:documentation> - </xs:annotation> - <xs:complexContent> - <xs:extension base="ParameterisationAlgorithmType"> - <xs:sequence> - <xs:element maxOccurs="unbounded" name="parameters" type="ParametersType"/> - </xs:sequence> - </xs:extension> - </xs:complexContent> - </xs:complexType> - <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> - <xs:element name="parameterised_position_size" substitutionGroup="ParameterisationAlgorithm" type="PositionSizeParameterisationAlgorithmType"/> - <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> - <xs:complexType name="ParameterisedPlacementType"> - <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> - <xs:annotation> - <xs:documentation>Base type for parameterised volumes</xs:documentation> - </xs:annotation> - <xs:sequence> - <xs:element name="volumeref" type="ReferenceType"></xs:element> - <xs:element ref="ParameterisationAlgorithm"/> - </xs:sequence> - <xs:attribute name="ncopies" type="xs:positiveInteger" use="required"/> - </xs:complexType> - <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> - <xs:element name="paramvol" type="ParameterisedPlacementType"/> - <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> - <xs:complexType name="ParametersType"> - <xs:annotation> - <xs:documentation> - Holds parameteres for parameterised volumes. - </xs:documentation> - </xs:annotation> - <xs:sequence> - <xs:element type="positionType" name="position"/> - <xs:element ref="Dimensions"/> - </xs:sequence> - <xs:attribute type="xs:positiveInteger" use="required" name="number"/> - </xs:complexType> -</xs:schema>
diff -N gdml_replicas.xsd --- gdml_replicas.xsd 5 Jul 2007 22:27:06 -0000 1.3 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,80 +0,0 @@
-<?xml version="1.0"?> -<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"> - <xs:include schemaLocation="gdml_define.xsd"/> - <xs:include schemaLocation="gdml_extensions.xsd"/> - <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> - <xs:complexType abstract="false" name="ReplicationAlgorithmType"> - <xs:annotation> - <xs:documentation>Abstract base for replication placement strategies</xs:documentation> - </xs:annotation> - </xs:complexType> - <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> - <xs:element name="ReplicationAlgorithm" abstract="true" type="ReplicationAlgorithmType"> - <xs:annotation> - <xs:documentation>Abstract element for substitution group</xs:documentation> - </xs:annotation> - </xs:element> - <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> - - <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> - <xs:complexType name="AxisReplicationAlgorithmType"> - <xs:annotation> - <xs:documentation>Replica volumes get created along the specified direction - starting with the first replica placed at the given position and rotated - according to the given rotation and others placed using the given distance; - If position and/or rotation is omitted the defaults will be applied, e.g. - position at the mother volume center and identity rotation; - NOTE: THE ROTATION IS APPLIED TO ALL REPLICATED VOLUMES!</xs:documentation> - </xs:annotation> - <xs:complexContent> - <xs:extension base="ReplicationAlgorithmType"> - <xs:sequence> - <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:choice> - <xs:element ref="direction"/> - <xs:element name="directionref" type="ReferenceType"/> - </xs:choice> - <xs:element ref="width"/> - <xs:element ref="offset"/> - </xs:sequence> - </xs:extension> - </xs:complexContent> - </xs:complexType> - <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> - <xs:element name="replicate_along_axis" substitutionGroup="ReplicationAlgorithm" type="AxisReplicationAlgorithmType"/> - <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> - <xs:complexType name="ReplicaPlacementType"> - <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> - <xs:annotation> - <xs:documentation>Base type for replicated volumes</xs:documentation> - </xs:annotation> - <xs:sequence> - <xs:element name="volumeref" type="ReferenceType"></xs:element> - <xs:element ref="ReplicationAlgorithm"/> - </xs:sequence> - <xs:attribute name="number" type="xs:positiveInteger" use="required"/> - <xs:attribute name="copy_num_start" type="xs:positiveInteger" use="optional" default="1"/> - <xs:attribute name="copy_num_step" type="xs:positiveInteger" use="optional" default="1"/> - </xs:complexType> - <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> - <xs:complexType name="directionType"> - <xs:complexContent> - <xs:restriction base="QuantityVectorType"> - <xs:attribute default="mm" type="xs:string" name="unit"/> - <xs:attribute default="cartesian" type="xs:string" name="type"/> - </xs:restriction> - </xs:complexContent> - </xs:complexType> - <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> - <xs:element name="direction" type="directionType"/> - <xs:element name="width" type="QuantityType"/> - <xs:element name="offset" type="QuantityType"/> - <xs:element name="replicavol" type="ReplicaPlacementType"/> -</xs:schema>
diff -N gdml_solids.xsd --- gdml_solids.xsd 2 May 2013 20:46:40 -0000 1.4 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,834 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE xs:schema> -<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"> - <xs:include schemaLocation="gdml_core.xsd"></xs:include> - <xs:include schemaLocation="gdml_define.xsd"></xs:include> - <xs:include schemaLocation="gdml_extensions.xsd"/> - <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> - - <xs:complexType name="SolidType"> - <xs:annotation> - <xs:documentation>Base solid type</xs:documentation> - </xs:annotation> - <xs:attribute default="mm" name="lunit" type="xs:string"> - <xs:annotation> - <xs:documentation>Length unit of all dimensions used for this instance of solid</xs:documentation> - </xs:annotation> - </xs:attribute> - <xs:attribute default="radian" name="aunit" type="xs:string"> - <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:attribute> - </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> - <xs:element name="second" type="ReferenceType"></xs:element> - <xs:choice minOccurs="0"> - <xs:element name="position" type="positionType"></xs:element> - <xs:element name="positionref" type="ReferenceType"></xs:element> - </xs:choice> - <xs:choice minOccurs="0"> - <xs:element name="rotation" type="rotationType"></xs:element> - <xs:element name="rotationref" type="ReferenceType"></xs:element> - </xs:choice> - <xs:choice minOccurs="0"> - <xs:element name="firstposition" type="positionType"></xs:element> - <xs:element name="firstpositionref" type="ReferenceType"></xs:element> - </xs:choice> - <xs:choice minOccurs="0"> - <xs:element name="firstrotation" type="rotationType"></xs:element> - <xs:element name="firstrotationref" type="ReferenceType"></xs:element> - </xs:choice> - </xs:sequence> - </xs:extension> - </xs:complexContent> - </xs:complexType> - <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> - - <xs:element name="reflectedSolid" substitutionGroup="Solid"> - <xs:annotation> - <xs:documentation>Reflected solid: - sx, sy, sz are scale components (containing reflection), - rx, ry, rz are rotation angles around given axes and - dx, dy, dz is the translation. - </xs:documentation> - </xs:annotation> - <xs:complexType> - <xs:complexContent> - <xs:extension base="SolidType"> - <xs:attribute name="solid" type="ExpressionOrIDREFType" use="required"></xs:attribute> - <xs:attribute default="1.0" name="sx" type="ExpressionOrIDREFType"></xs:attribute> - <xs:attribute default="1.0" name="sy" type="ExpressionOrIDREFType"></xs:attribute> - <xs:attribute default="1.0" name="sz" type="ExpressionOrIDREFType"></xs:attribute> - <xs:attribute default="0.0" name="rx" type="ExpressionOrIDREFType"></xs:attribute> - <xs:attribute default="0.0" name="ry" type="ExpressionOrIDREFType"></xs:attribute> - <xs:attribute default="0.0" name="rz" type="ExpressionOrIDREFType"></xs:attribute> - <xs:attribute default="0.0" name="dx" type="ExpressionOrIDREFType"></xs:attribute> - <xs:attribute default="0.0" name="dy" type="ExpressionOrIDREFType"></xs:attribute> - <xs:attribute default="0.0" name="dz" type="ExpressionOrIDREFType"></xs:attribute> - </xs:extension> - </xs:complexContent> - </xs:complexType> - </xs:element> - <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> - - <xs:complexType name="SurfacePropertyType"> - <xs:annotation> - <xs:documentation>Base surface type</xs:documentation> - </xs:annotation> - <xs:attribute name="name" type="xs:ID" use="required"></xs:attribute> - <xs:attribute name="type" type="xs:string" default="dielectric_dielectric"></xs:attribute> - </xs:complexType> - <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> - - <xs:element abstract="true" name="Solid" type="SolidType"> - <xs:annotation> - <xs:documentation>Abstract element for all solids substitution group</xs:documentation> - </xs:annotation> - </xs:element> - <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> - - <xs:element abstract="true" name="SurfaceProperty" type="SurfacePropertyType"> - <xs:annotation> - <xs:documentation>Abstract element for surfaces substitution</xs:documentation> - </xs:annotation> - </xs:element> - <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> - - <xs:element name="solids"> - <xs:annotation> - <xs:documentation>Solids definitions block</xs:documentation> - </xs:annotation> - <xs:complexType> - <xs:choice maxOccurs="unbounded"> - <xs:element minOccurs="0" name="define" type="defineType"> - <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 maxOccurs="unbounded" ref="Solid"></xs:element> - <xs:element minOccurs="0" maxOccurs="unbounded" ref="SurfaceProperty"></xs:element> - <xs:element maxOccurs="unbounded" minOccurs="0" ref="loop"/> - </xs:choice> - </xs:complexType> - </xs:element> - <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> - - <xs:element name="union" substitutionGroup="Solid" type="BooleanSolidType"> - <xs:annotation> - <xs:documentation>Exported boolean union of two solids</xs:documentation> - </xs:annotation> - </xs:element> - <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> - - <xs:element name="subtraction" substitutionGroup="Solid" type="BooleanSolidType"> - <xs:annotation> - <xs:documentation>Exported boolean subtraction of two solids</xs:documentation> - </xs:annotation> - </xs:element> - <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> - - <xs:element name="intersection" substitutionGroup="Solid" type="BooleanSolidType"> - <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> - <xs:attribute name="y" type="ExpressionOrIDREFType" use="required"></xs:attribute> - <xs:attribute name="z" type="ExpressionOrIDREFType" use="required"></xs:attribute> - </xs:extension> - </xs:complexContent> - </xs:complexType> - </xs:element> -<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> - - <xs:element name="twistedbox" substitutionGroup="Solid"> - <xs:annotation> - <xs:documentation>CSG twisted box solid described by 4 dimensions of - x length along x axis - y length along y axis - z length along z axis - PhiTwist twist angle </xs:documentation> - </xs:annotation> - <xs:complexType> - <xs:complexContent> - <xs:extension base="SolidType"> - <xs:attribute name="x" type="ExpressionOrIDREFType" use="required"></xs:attribute> - <xs:attribute name="y" type="ExpressionOrIDREFType" use="required"></xs:attribute> - <xs:attribute name="z" type="ExpressionOrIDREFType" use="required"></xs:attribute> - <xs:attribute name="PhiTwist" type="ExpressionOrIDREFType" use="required"></xs:attribute> - </xs:extension> - </xs:complexContent> - </xs:complexType> - </xs:element> - <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> - - <xs:element name="twistedtrap" substitutionGroup="Solid"> - <xs:annotation> - <xs:documentation>general twisted trapezoid. faces perpendicular to the z planes are trapezia, and their centres are - not necessarily on a line paralell to the z axis. - PhiTwist Twist Angle - 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 - 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 - Alph Angle with respect to the y axis from the centre of the side </xs:documentation> - </xs:annotation> - <xs:complexType> - <xs:complexContent> - <xs:extension base="SolidType"> - <xs:attribute name="PhiTwist" type="ExpressionOrIDREFType" use="required"></xs:attribute> - <xs:attribute name="z" type="ExpressionOrIDREFType" use="required"></xs:attribute> - <xs:attribute name="Theta" type="ExpressionOrIDREFType" use="required"></xs:attribute> - <xs:attribute name="Phi" type="ExpressionOrIDREFType" use="required"></xs:attribute> - <xs:attribute name="y1" type="ExpressionOrIDREFType" use="required"></xs:attribute> - <xs:attribute name="x1" type="ExpressionOrIDREFType" use="required"></xs:attribute> - <xs:attribute name="y2" type="ExpressionOrIDREFType" use="required"></xs:attribute> - <xs:attribute name="x2" type="ExpressionOrIDREFType" use="required"></xs:attribute> - <xs:attribute name="x3" type="ExpressionOrIDREFType" use="required"></xs:attribute> - <xs:attribute name="x4" type="ExpressionOrIDREFType" use="required"></xs:attribute> - <xs:attribute name="Alph" type="ExpressionOrIDREFType" use="required"></xs:attribute> - </xs:extension> - </xs:complexContent> - </xs:complexType> - </xs:element> - <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> - - <xs:element name="twistedtrd" substitutionGroup="Solid"> - <xs:annotation> - <xs:documentation>different length axis twistable trapezoid. faces perpendicular to the z planes are trapezia, and their centres are - not necessarily on a line paralell to the z axis. - PhiTwist Twist Angle - z length along the z-axis - 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 - y2 length along y of the face at +z </xs:documentation> - </xs:annotation> - <xs:complexType> - <xs:complexContent> - <xs:extension base="SolidType"> - <xs:attribute name="PhiTwist" type="ExpressionOrIDREFType" use="required"></xs:attribute> - <xs:attribute name="z" type="ExpressionOrIDREFType" use="required"></xs:attribute> - <xs:attribute name="y1" type="ExpressionOrIDREFType" use="required"></xs:attribute> - <xs:attribute name="x1" type="ExpressionOrIDREFType" use="required"></xs:attribute> - <xs:attribute name="y2" type="ExpressionOrIDREFType" use="required"></xs:attribute> - <xs:attribute name="x2" type="ExpressionOrIDREFType" use="required"></xs:attribute> - </xs:extension> - </xs:complexContent> - </xs:complexType> - </xs:element> - <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> - - <xs:element name="paraboloid" substitutionGroup="Solid"> - <xs:annotation> - <xs:documentation>CSG paraboloid defined by - rlo radius at -dz - rhi radius at +dz - dz half z length - </xs:documentation> - </xs:annotation> - <xs:complexType> - <xs:complexContent> - <xs:extension base="SolidType"> - <xs:attribute name="rlo" type="ExpressionOrIDREFType" use="required"></xs:attribute> - <xs:attribute name="rhi" type="ExpressionOrIDREFType" use="required"></xs:attribute> - <xs:attribute name="dz" type="ExpressionOrIDREFType" use="required"></xs:attribute> - </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 default="0.0" name="rmin" type="ExpressionOrIDREFType"></xs:attribute> - <xs:attribute name="rmax" type="ExpressionOrIDREFType" use="required"></xs:attribute> - <xs:attribute default="0.0" name="startphi" type="ExpressionOrIDREFType"></xs:attribute> - <xs:attribute name="deltaphi" type="ExpressionOrIDREFType" use="required"></xs:attribute> - <xs:attribute default="0.0" name="starttheta" type="ExpressionOrIDREFType"></xs:attribute> - <xs:attribute name="deltatheta" type="ExpressionOrIDREFType" use="required"></xs:attribute> - </xs:extension> - </xs:complexContent> - </xs:complexType> - </xs:element> - <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> - - <xs:element name="ellipsoid" substitutionGroup="Solid"> - <xs:annotation> - <xs:documentation>CSG ellispoid or ellipsoidal shell segment solid described by - ax x semiaxis - by y semiaxis - cz z semiaxis - zcut1 bottom plane cutting ellipsoid - zcut2 top plane cutting ellispoid - </xs:documentation> - </xs:annotation> - <xs:complexType> - <xs:complexContent> - <xs:extension base="SolidType"> - <xs:attribute name="ax" type="ExpressionOrIDREFType" use="required"></xs:attribute> - <xs:attribute name="by" type="ExpressionOrIDREFType" use="required"></xs:attribute> - <xs:attribute name="cz" type="ExpressionOrIDREFType" use="required"></xs:attribute> - <xs:attribute default="-1000000.0" name="zcut1" type="ExpressionOrIDREFType"></xs:attribute> - <xs:attribute default="1000000.0" name="zcut2" type="ExpressionOrIDREFType"></xs:attribute> - </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> - <xs:attribute default="0.0" name="rmin" type="ExpressionOrIDREFType"></xs:attribute> - <xs:attribute name="rmax" type="ExpressionOrIDREFType" use="required"></xs:attribute> - <xs:attribute default="0.0" name="startphi" type="ExpressionOrIDREFType"></xs:attribute> - <xs:attribute name="deltaphi" type="ExpressionOrIDREFType" use="required"></xs:attribute> - </xs:extension> - </xs:complexContent> - </xs:complexType> - </xs:element> - <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> - - <xs:element name="twistedtubs" substitutionGroup="Solid"> - <xs:annotation> - <xs:documentation>CSG twisted tube segement solid described by - twistedangle twist angle - endinnerrad inside radius at end of segment - endouterrad outside radius at end of segment - zlen z length of segment - phi phi angle of a segment </xs:documentation> - </xs:annotation> - <xs:complexType> - <xs:complexContent> - <xs:extension base="SolidType"> - <xs:attribute name="twistedangle" type="ExpressionOrIDREFType" use="required"></xs:attribute> - <xs:attribute name="endinnerrad" type="ExpressionOrIDREFType" use="required"></xs:attribute> - <xs:attribute name="endouterrad" type="ExpressionOrIDREFType" use="required"></xs:attribute> - <xs:attribute name="zlen" type="ExpressionOrIDREFType" use="required"></xs:attribute> - <xs:attribute name="phi" type="ExpressionOrIDREFType" use="required"></xs:attribute> - </xs:extension> - </xs:complexContent> - </xs:complexType> - </xs:element> - <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> - - <xs:element name="cutTube" substitutionGroup="Solid"> - <xs:annotation> - <xs:documentation>CSG cut tube or cut tube segment 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 - lowX, lowY, lowZ Normal at lower Z plane - highX, highY, highZ Normal at higher Z plane - </xs:documentation> - </xs:annotation> - <xs:complexType> - <xs:complexContent> - <xs:extension base="SolidType"> - <xs:attribute name="z" type="ExpressionOrIDREFType"></xs:attribute> - <xs:attribute default="0.0" name="rmin" type="ExpressionOrIDREFType"></xs:attribute> - <xs:attribute name="rmax" type="ExpressionOrIDREFType" use="required"></xs:attribute> - <xs:attribute default="0.0" name="startphi" type="ExpressionOrIDREFType"></xs:attribute> - <xs:attribute name="deltaphi" type="ExpressionOrIDREFType" use="required"></xs:attribute> - <xs:attribute name="lowX" type="ExpressionOrIDREFType" use="required"></xs:attribute> - <xs:attribute name="lowY" type="ExpressionOrIDREFType" use="required"></xs:attribute> - <xs:attribute name="lowZ" type="ExpressionOrIDREFType" use="required"></xs:attribute> - <xs:attribute name="highX" type="ExpressionOrIDREFType" use="required"></xs:attribute> - <xs:attribute name="highY" type="ExpressionOrIDREFType" use="required"></xs:attribute> - <xs:attribute name="highZ" type="ExpressionOrIDREFType" use="required"></xs:attribute> - </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> - <xs:attribute default="0.0" name="rmin1" type="ExpressionOrIDREFType"></xs:attribute> - <xs:attribute default="0.0" name="rmin2" type="ExpressionOrIDREFType"></xs:attribute> - <xs:attribute name="rmax1" type="ExpressionOrIDREFType" use="required"></xs:attribute> - <xs:attribute name="rmax2" type="ExpressionOrIDREFType" use="required"></xs:attribute> - <xs:attribute default="0.0" name="startphi" type="ExpressionOrIDREFType"></xs:attribute> - <xs:attribute name="deltaphi" type="ExpressionOrIDREFType" use="required"></xs:attribute> - </xs:extension> - </xs:complexContent> - </xs:complexType> - </xs:element> - <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> - - <xs:element name="polycone" substitutionGroup="Solid"> - <xs:annotation> - <xs:documentation>CSG polycone or polycone segment described by - startphi starting angle of the segment in radians - deltaphi delta angle of the segment in radians - - and a set of z-planes each described by - rmin inside radius at z/2 - rmax outside radius at z/2 - z length in z - </xs:documentation> - </xs:annotation> - <xs:complexType> - <xs:complexContent> - <xs:extension base="SolidType"> - <xs:sequence> - <xs:element name="zplane" minOccurs="1" maxOccurs="unbounded" type="ZPlaneType"/> - </xs:sequence> - <xs:attribute name="deltaphi" type="ExpressionOrIDREFType" use="required"></xs:attribute> - <xs:attribute default="0.0" name="startphi" type="ExpressionOrIDREFType"></xs:attribute> - </xs:extension> - </xs:complexContent> - </xs:complexType> - </xs:element> - <!-- +++++++++++++ --> - <xs:complexType name="ZPlaneType"> - <xs:attribute name="z" type="ExpressionOrIDREFType" use="required"></xs:attribute> - <xs:attribute default="0.0" name="rmin" type="ExpressionOrIDREFType"></xs:attribute> - <xs:attribute name="rmax" type="ExpressionOrIDREFType" use="required"></xs:attribute> - </xs:complexType> - <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> - - <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> - <xs:attribute name="y" type="ExpressionOrIDREFType" use="required"></xs:attribute> - <xs:attribute name="z" type="ExpressionOrIDREFType" use="required"></xs:attribute> - <xs:attribute name="alpha" type="ExpressionOrIDREFType" use="required"></xs:attribute> - <xs:attribute name="theta" type="ExpressionOrIDREFType" use="required"></xs:attribute> - <xs:attribute name="phi" type="ExpressionOrIDREFType" use="required"></xs:attribute> - </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> - <xs:attribute name="x2" type="ExpressionOrIDREFType" use="required"></xs:attribute> - <xs:attribute name="y1" type="ExpressionOrIDREFType" use="required"></xs:attribute> - <xs:attribute name="y2" type="ExpressionOrIDREFType" use="required"></xs:attribute> - <xs:attribute name="z" type="ExpressionOrIDREFType" use="required"></xs:attribute> - </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> - <xs:attribute name="theta" type="ExpressionOrIDREFType" use="required"></xs:attribute> - <xs:attribute name="phi" type="ExpressionOrIDREFType" use="required"></xs:attribute> - <xs:attribute name="y1" type="ExpressionOrIDREFType" use="required"></xs:attribute> - <xs:attribute name="x1" type="ExpressionOrIDREFType" use="required"></xs:attribute> - <xs:attribute name="x2" type="ExpressionOrIDREFType" use="required"></xs:attribute> - <xs:attribute name="alpha1" type="ExpressionOrIDREFType" use="required"></xs:attribute> - <xs:attribute name="y2" type="ExpressionOrIDREFType" use="required"></xs:attribute> - <xs:attribute name="x3" type="ExpressionOrIDREFType" use="required"></xs:attribute> - <xs:attribute name="x4" type="ExpressionOrIDREFType" use="required"></xs:attribute> - <xs:attribute name="alpha2" type="ExpressionOrIDREFType" use="required"></xs:attribute> - </xs:extension> - </xs:complexContent> - </xs:complexType> - </xs:element> - <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> - - <xs:element name="torus" substitutionGroup="Solid"> - <xs:annotation> - <xs:documentation>CSG torus solid is described by - rmin Inside radius - rmax Outside radius - rtor swept radius of torus - startphi The starting phi angle in radians adjusted such that sphi+dphi lt 2PI, sphi gt -2PI - deltaphi 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" use="required"></xs:attribute> - <xs:attribute name="rmax" type="ExpressionOrIDREFType" use="required"></xs:attribute> - <xs:attribute name="rtor" type="ExpressionOrIDREFType" use="required"></xs:attribute> - <xs:attribute name="startphi" type="ExpressionOrIDREFType" use="required"></xs:attribute> - <xs:attribute name="deltaphi" type="ExpressionOrIDREFType" use="required"></xs:attribute> - </xs:extension> - </xs:complexContent> - </xs:complexType> - </xs:element> - <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> - - <xs:element name="orb" substitutionGroup="Solid"> - <xs:annotation> - <xs:documentation>CSG orb solid (simplified sphere with only rmax) is described by - r Outside radius</xs:documentation> - </xs:annotation> - <xs:complexType> - <xs:complexContent> - <xs:extension base="SolidType"> - <xs:attribute name="r" type="ExpressionOrIDREFType" use="required"></xs:attribute> - </xs:extension> - </xs:complexContent> - </xs:complexType> - </xs:element> - <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> - - <xs:element name="polyhedra" substitutionGroup="Solid"> - <xs:annotation> - <xs:documentation>Polyhedra is described by - startphi initial phi starting angle - totalphi total phi angle - numsides number sides - and a set of zplanes.</xs:documentation> - </xs:annotation> - <xs:complexType> - <xs:complexContent> - <xs:extension base="SolidType"> - <xs:sequence> - <xs:element name="zplane" minOccurs="1" maxOccurs="unbounded" type="ZPlaneType"/> - </xs:sequence> - - <xs:attribute name="startphi" type="ExpressionOrIDREFType" use="required"></xs:attribute> - <xs:attribute name="deltaphi" type="ExpressionOrIDREFType" use="required"></xs:attribute> - <xs:attribute name="numsides" type="ExpressionOrIDREFType" use="required"></xs:attribute> - </xs:extension> - </xs:complexContent> - </xs:complexType> - </xs:element> - <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> - - <xs:complexType name="TwoDimVertexType"> - <xs:attribute name="x" type="ExpressionOrIDREFType" use="required"></xs:attribute> - <xs:attribute name="y" type="ExpressionOrIDREFType" use="required"></xs:attribute> - </xs:complexType> - - <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> - - <xs:complexType name="SectionType"> - <xs:attribute name="zOrder" type="ExpressionOrIDREFType" use="required"></xs:attribute> - <xs:attribute name="zPosition" type="ExpressionOrIDREFType" use="required"></xs:attribute> - <xs:attribute name="xOffset" type="ExpressionOrIDREFType" use="required"></xs:attribute> - <xs:attribute name="yOffset" type="ExpressionOrIDREFType" use="required"></xs:attribute> - <xs:attribute name="scalingFactor" type="ExpressionOrIDREFType" use="required"></xs:attribute> - </xs:complexType> - <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> - - <xs:element name="xtru" substitutionGroup="Solid"> - <xs:annotation> - <xs:documentation>Poligonal extrusion is described by - an unbounded (min. 3) number of vertices of the blueprint polygon - and an unbounded number of Z sections. - </xs:documentation> - </xs:annotation> - <xs:complexType> - <xs:complexContent> - <xs:extension base="SolidType"> - <xs:sequence> - <xs:sequence> - <xs:element name="twoDimVertex" minOccurs="3" maxOccurs="unbounded" type="TwoDimVertexType"/> - </xs:sequence> - <xs:sequence> - <xs:element name="section" minOccurs="2" maxOccurs="unbounded" type="SectionType"/> - </xs:sequence> - </xs:sequence> - </xs:extension> - </xs:complexContent> - </xs:complexType> - </xs:element> - <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> - - <xs:element name="hype" substitutionGroup="Solid"> - <xs:annotation> - <xs:documentation>Tube with hyperbolic profile described by - rmin innerRadius - rmax outerRadius - inst innerStereo - outst outerStereo - z z length - </xs:documentation> - </xs:annotation> - <xs:complexType> - <xs:complexContent> - <xs:extension base="SolidType"> - <xs:attribute name="rmin" type="ExpressionOrIDREFType" use="required"></xs:attribute> - <xs:attribute name="rmax" type="ExpressionOrIDREFType" use="required"></xs:attribute> - <xs:attribute name="inst" type="ExpressionOrIDREFType" use="required"></xs:attribute> - <xs:attribute name="outst" type="ExpressionOrIDREFType" use="required"></xs:attribute> - <xs:attribute name="z" type="ExpressionOrIDREFType" use="required"></xs:attribute> - </xs:extension> - </xs:complexContent> - </xs:complexType> - </xs:element> - <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> - - <xs:element name="eltube" substitutionGroup="Solid"> - <xs:annotation> - <xs:documentation> - Volume representing a tube with elliptical - cross section. - </xs:documentation> - </xs:annotation> - <xs:complexType> - <xs:complexContent> - <xs:extension base="SolidType"> - <xs:attribute name="dx" type="ExpressionOrIDREFType" use="required"></xs:attribute> - <xs:attribute name="dy" type="ExpressionOrIDREFType" use="required"></xs:attribute> - <xs:attribute name="dz" type="ExpressionOrIDREFType" use="required"></xs:attribute> - </xs:extension> - </xs:complexContent> - </xs:complexType> - </xs:element> - <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> - - <xs:element name="tet" substitutionGroup="Solid"> - <xs:annotation> - <xs:documentation> - Volume representing a tetrahedron. - </xs:documentation> - </xs:annotation> - <xs:complexType> - <xs:complexContent> - <xs:extension base="SolidType"> - <xs:attribute name="vertex1" type="ExpressionOrIDREFType" use="required"></xs:attribute> - <xs:attribute name="vertex2" type="ExpressionOrIDREFType" use="required"></xs:attribute> - <xs:attribute name="vertex3" type="ExpressionOrIDREFType" use="required"></xs:attribute> - <xs:attribute name="vertex4" type="ExpressionOrIDREFType" use="required"></xs:attribute> - </xs:extension> - </xs:complexContent> - </xs:complexType> - </xs:element> - <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> - - <xs:element name="arb8" substitutionGroup="Solid"> - <xs:annotation> - <xs:documentation> - Volume representing an (almost)arbitrary 8 vertices solid. - The solid is defined by two quadrilaterals sitting on parallel planes, - the distance between these two planes is dz*2. - The base quadrilateral contained within the plane located at -dz is defined by - the first 4 vertices (v1,v2,v3,v4 each one with the x and y coordinates). - The other parallel quadrilateral contained within the plane at +dz is defined by - the other 4 vertices (v5,v6,v7,v8 each one with the x and y coordinates). - </xs:documentation> - </xs:annotation> - <xs:complexType> - <xs:complexContent> - <xs:extension base="SolidType"> - <xs:attribute name="v1x" type="ExpressionOrIDREFType" use="required"></xs:attribute> - <xs:attribute name="v1y" type="ExpressionOrIDREFType" use="required"></xs:attribute> - <xs:attribute name="v2x" type="ExpressionOrIDREFType" use="required"></xs:attribute> - <xs:attribute name="v2y" type="ExpressionOrIDREFType" use="required"></xs:attribute> - <xs:attribute name="v3x" type="ExpressionOrIDREFType" use="required"></xs:attribute> - <xs:attribute name="v3y" type="ExpressionOrIDREFType" use="required"></xs:attribute> - <xs:attribute name="v4x" type="ExpressionOrIDREFType" use="required"></xs:attribute> - <xs:attribute name="v4y" type="ExpressionOrIDREFType" use="required"></xs:attribute> - <xs:attribute name="v5x" type="ExpressionOrIDREFType" use="required"></xs:attribute> - <xs:attribute name="v5y" type="ExpressionOrIDREFType" use="required"></xs:attribute> - <xs:attribute name="v6x" type="ExpressionOrIDREFType" use="required"></xs:attribute> - <xs:attribute name="v6y" type="ExpressionOrIDREFType" use="required"></xs:attribute> - <xs:attribute name="v7x" type="ExpressionOrIDREFType" use="required"></xs:attribute> - <xs:attribute name="v7y" type="ExpressionOrIDREFType" use="required"></xs:attribute> - <xs:attribute name="v8x" type="ExpressionOrIDREFType" use="required"></xs:attribute> - <xs:attribute name="v8y" type="ExpressionOrIDREFType" use="required"></xs:attribute> - <xs:attribute name="dz" type="ExpressionOrIDREFType" use="required"></xs:attribute> - </xs:extension> - </xs:complexContent> - </xs:complexType> - </xs:element> - <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> - - <!-- Tessellated solid elements --> - - <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> - - <xs:complexType name="FacetType"> - <xs:annotation> - <xs:documentation>Base facet type</xs:documentation> - </xs:annotation> - </xs:complexType> - <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> - - <xs:element abstract="true" name="Facet" type="FacetType"> - <xs:annotation> - <xs:documentation>Abstract element for all facets substitution group</xs:documentation> - </xs:annotation> - </xs:element> - <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> - - <xs:element name="triangular" substitutionGroup="Facet"> - <xs:annotation> - <xs:documentation> - Triangular facet. - </xs:documentation> - </xs:annotation> - <xs:complexType> - <xs:complexContent> - <xs:extension base="FacetType"> - <xs:attribute name="vertex1" type="ExpressionOrIDREFType" use="required"></xs:attribute> - <xs:attribute name="vertex2" type="ExpressionOrIDREFType" use="required"></xs:attribute> - <xs:attribute name="vertex3" type="ExpressionOrIDREFType" use="required"></xs:attribute> - <xs:attribute name="type" type="xs:string" default="ABSOLUTE"></xs:attribute> - </xs:extension> - </xs:complexContent> - </xs:complexType> - </xs:element> - - <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> - - <xs:element name="quadrangular" substitutionGroup="Facet"> - <xs:annotation> - <xs:documentation> - Quadrangular facet. - </xs:documentation> - </xs:annotation> - <xs:complexType> - <xs:complexContent> - <xs:extension base="FacetType"> - <xs:attribute name="vertex1" type="ExpressionOrIDREFType" use="required"></xs:attribute> - <xs:attribute name="vertex2" type="ExpressionOrIDREFType" use="required"></xs:attribute> - <xs:attribute name="vertex3" type="ExpressionOrIDREFType" use="required"></xs:attribute> - <xs:attribute name="vertex4" type="ExpressionOrIDREFType" use="required"></xs:attribute> - <xs:attribute name="type" type="xs:string" default="ABSOLUTE"></xs:attribute> - </xs:extension> - </xs:complexContent> - </xs:complexType> - </xs:element> - <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> - - <xs:element name="tessellated" substitutionGroup="Solid"> - <xs:annotation> - <xs:documentation>Tessellated solid - </xs:documentation> - </xs:annotation> - <xs:complexType> - <xs:complexContent> - <xs:extension base="SolidType"> - <xs:sequence> -<!-- <xs:element name="Facet" minOccurs="1" maxOccurs="unbounded" type="FacetType"/> --> - <xs:element ref="Facet" minOccurs="1" maxOccurs="unbounded" /> - </xs:sequence> - </xs:extension> - </xs:complexContent> - </xs:complexType> - </xs:element> - <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> - - <xs:element name="opticalsurface" substitutionGroup="SurfaceProperty"> - <xs:annotation> - <xs:documentation>Optical surface used by Geant4 optical processes</xs:documentation> - </xs:annotation> - <xs:complexType> - <xs:complexContent> - <xs:extension base="SurfacePropertyType"> - <xs:attribute name="model" type="xs:string" default="glisur"></xs:attribute> - <xs:attribute name="finish" type="xs:string" default="polished"></xs:attribute> - <xs:attribute name="value" type="xs:string" default="1.0"></xs:attribute> - </xs:extension> - </xs:complexContent> - </xs:complexType> - </xs:element> - <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> - -</xs:schema>
Use REPLY-ALL to reply to list
To unsubscribe from the LCD-CVS list, click the following link:
https://listserv.slac.stanford.edu/cgi-bin/wa?SUBED1=LCD-CVS&A=1