Geant4 Cross Reference |
1 <?xml version="1.0" encoding="UTF-8"?> 1 <?xml version="1.0" encoding="UTF-8"?> 2 <!DOCTYPE xs:schema []> 2 <!DOCTYPE xs:schema []> 3 <xs:schema attributeFormDefault="unqualified" << 3 <xs:schema attributeFormDefault="unqualified" elementFormDefault="unqualified" version="1.0" xmlns:gdml="http://service-spi.web.cern.ch/service-spi/app/releases/GDML/schema" xmlns:xs="http://www.w3.org/2001/XMLSchema"> 4 <xs:include schemaLocation="gdml_core.xsd">< 4 <xs:include schemaLocation="gdml_core.xsd"></xs:include> 5 <xs:include schemaLocation="gdml_define.xsd" 5 <xs:include schemaLocation="gdml_define.xsd"></xs:include> 6 <xs:include schemaLocation="gdml_extensions. 6 <xs:include schemaLocation="gdml_extensions.xsd"/> 7 <!-- +++++++++++++++++++++++++++++++++++++++ 7 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> 8 8 9 <xs:complexType name="SolidType"> 9 <xs:complexType name="SolidType"> 10 <xs:annotation> 10 <xs:annotation> 11 <xs:documentation>Base solid type</xs:do 11 <xs:documentation>Base solid type</xs:documentation> 12 </xs:annotation> 12 </xs:annotation> 13 <xs:attribute default="mm" name="lunit" ty 13 <xs:attribute default="mm" name="lunit" type="xs:string"> 14 <xs:annotation> 14 <xs:annotation> 15 <xs:documentation>Length unit of all dimensi 15 <xs:documentation>Length unit of all dimensions used for this instance of solid</xs:documentation> 16 </xs:annotation> 16 </xs:annotation> 17 </xs:attribute> 17 </xs:attribute> 18 <xs:attribute default="radian" name="aunit 18 <xs:attribute default="radian" name="aunit" type="xs:string"> 19 <xs:annotation> 19 <xs:annotation> 20 <xs:documentation>Angle unit of angles used 20 <xs:documentation>Angle unit of angles used in definition of this solid</xs:documentation> 21 </xs:annotation> 21 </xs:annotation> 22 </xs:attribute> 22 </xs:attribute> 23 <xs:attribute name="name" type="xs:ID" use 23 <xs:attribute name="name" type="xs:ID" use="required"></xs:attribute> 24 </xs:complexType> 24 </xs:complexType> 25 <!-- +++++++++++++++++++++++++++++++++++++++ 25 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> 26 26 27 <xs:complexType name="BooleanSolidType"> 27 <xs:complexType name="BooleanSolidType"> 28 <xs:annotation> 28 <xs:annotation> 29 <xs:documentation>Base type for boolean 29 <xs:documentation>Base type for boolean solids</xs:documentation> 30 </xs:annotation> 30 </xs:annotation> 31 <xs:complexContent> 31 <xs:complexContent> 32 <xs:extension base="SolidType"> 32 <xs:extension base="SolidType"> 33 <xs:sequence> 33 <xs:sequence> 34 <xs:element name="first" type="ReferenceTy 34 <xs:element name="first" type="ReferenceType"></xs:element> 35 <xs:element name="second" type="ReferenceT 35 <xs:element name="second" type="ReferenceType"></xs:element> 36 <xs:choice minOccurs="0"> 36 <xs:choice minOccurs="0"> 37 <xs:element name="position" type="positi 37 <xs:element name="position" type="positionType"></xs:element> 38 <xs:element name="positionref" type="Ref 38 <xs:element name="positionref" type="ReferenceType"></xs:element> 39 </xs:choice> 39 </xs:choice> 40 <xs:choice minOccurs="0"> 40 <xs:choice minOccurs="0"> 41 <xs:element name="rotation" type="rotati 41 <xs:element name="rotation" type="rotationType"></xs:element> 42 <xs:element name="rotationref" type="Ref 42 <xs:element name="rotationref" type="ReferenceType"></xs:element> 43 </xs:choice> 43 </xs:choice> 44 <xs:choice minOccurs="0"> 44 <xs:choice minOccurs="0"> 45 <xs:element name="firstposition" type="p 45 <xs:element name="firstposition" type="positionType"></xs:element> 46 <xs:element name="firstpositionref" type 46 <xs:element name="firstpositionref" type="ReferenceType"></xs:element> 47 </xs:choice> 47 </xs:choice> 48 <xs:choice minOccurs="0"> 48 <xs:choice minOccurs="0"> 49 <xs:element name="firstrotation" type="r 49 <xs:element name="firstrotation" type="rotationType"></xs:element> 50 <xs:element name="firstrotationref" type 50 <xs:element name="firstrotationref" type="ReferenceType"></xs:element> 51 </xs:choice> 51 </xs:choice> 52 </xs:sequence> 52 </xs:sequence> 53 </xs:extension> 53 </xs:extension> 54 </xs:complexContent> 54 </xs:complexContent> 55 </xs:complexType> 55 </xs:complexType> 56 <!-- +++++++++++++++++++++++++++++++++++++++ 56 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> 57 57 58 <xs:complexType name="multiUnionNode"> 58 <xs:complexType name="multiUnionNode"> 59 <xs:annotation> 59 <xs:annotation> 60 <xs:documentation>Base node for Multi-Un 60 <xs:documentation>Base node for Multi-Union structure</xs:documentation> 61 </xs:annotation> 61 </xs:annotation> 62 <xs:complexContent> 62 <xs:complexContent> 63 <xs:extension base="SolidType"> 63 <xs:extension base="SolidType"> 64 <xs:sequence> 64 <xs:sequence> 65 <xs:element name="solid" type="ReferenceTy 65 <xs:element name="solid" type="ReferenceType"></xs:element> 66 <xs:choice minOccurs="0"> 66 <xs:choice minOccurs="0"> 67 <xs:element name="position" type=" 67 <xs:element name="position" type="positionType"></xs:element> 68 <xs:element name="positionref" typ 68 <xs:element name="positionref" type="ReferenceType"></xs:element> 69 </xs:choice> 69 </xs:choice> 70 <xs:choice minOccurs="0"> 70 <xs:choice minOccurs="0"> 71 <xs:element name="rotation" type=" 71 <xs:element name="rotation" type="rotationType"></xs:element> 72 <xs:element name="rotationref" typ 72 <xs:element name="rotationref" type="ReferenceType"></xs:element> 73 </xs:choice> 73 </xs:choice> 74 </xs:sequence> 74 </xs:sequence> 75 </xs:extension> 75 </xs:extension> 76 </xs:complexContent> 76 </xs:complexContent> 77 </xs:complexType> 77 </xs:complexType> 78 <!-- +++++++++++++++++++++++++++++++++++++++ 78 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> 79 79 80 <xs:element name="multiUnion" substitutionGr 80 <xs:element name="multiUnion" substitutionGroup="Solid"> 81 <xs:annotation> 81 <xs:annotation> 82 <xs:documentation>MultiUnion is a Solid 82 <xs:documentation>MultiUnion is a Solid created by Union of many Solids. 83 This Solid is constructed by multiUnion 83 This Solid is constructed by multiUnionNodes; 84 each Node is described by solid with it 84 each Node is described by solid with its position and rotation. 85 </xs:documentation> 85 </xs:documentation> 86 </xs:annotation> 86 </xs:annotation> 87 <xs:complexType> 87 <xs:complexType> 88 <xs:complexContent> 88 <xs:complexContent> 89 <xs:extension base="SolidType"> 89 <xs:extension base="SolidType"> 90 <xs:sequence> 90 <xs:sequence> 91 <xs:element name="multiUnionNode" minOcc 91 <xs:element name="multiUnionNode" minOccurs="1" maxOccurs="unbounded" type="multiUnionNode"/> 92 </xs:sequence> 92 </xs:sequence> 93 </xs:extension> 93 </xs:extension> 94 </xs:complexContent> 94 </xs:complexContent> 95 </xs:complexType> 95 </xs:complexType> 96 </xs:element> 96 </xs:element> 97 <!-- +++++++++++++++++++++++++++++++++++++++ 97 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> 98 98 99 <xs:element name="reflectedSolid" substituti 99 <xs:element name="reflectedSolid" substitutionGroup="Solid"> 100 <xs:annotation> 100 <xs:annotation> 101 <xs:documentation>Reflected solid: 101 <xs:documentation>Reflected solid: 102 sx, sy, sz are scale components (conta 102 sx, sy, sz are scale components (containing reflection), 103 rx, ry, rz are rotation angles around 103 rx, ry, rz are rotation angles around given axes and 104 dx, dy, dz is the translation. 104 dx, dy, dz is the translation. 105 </xs:documentation> 105 </xs:documentation> 106 </xs:annotation> 106 </xs:annotation> 107 <xs:complexType> 107 <xs:complexType> 108 <xs:complexContent> 108 <xs:complexContent> 109 <xs:extension base="SolidType"> 109 <xs:extension base="SolidType"> 110 <xs:attribute name="solid" type="Expressio 110 <xs:attribute name="solid" type="ExpressionOrIDREFType" use="required"></xs:attribute> 111 <xs:attribute default="1.0" name="sx" type 111 <xs:attribute default="1.0" name="sx" type="ExpressionOrIDREFType"></xs:attribute> 112 <xs:attribute default="1.0" name="sy" type 112 <xs:attribute default="1.0" name="sy" type="ExpressionOrIDREFType"></xs:attribute> 113 <xs:attribute default="1.0" name="sz" type 113 <xs:attribute default="1.0" name="sz" type="ExpressionOrIDREFType"></xs:attribute> 114 <xs:attribute default="0.0" name="rx" type 114 <xs:attribute default="0.0" name="rx" type="ExpressionOrIDREFType"></xs:attribute> 115 <xs:attribute default="0.0" name="ry" type 115 <xs:attribute default="0.0" name="ry" type="ExpressionOrIDREFType"></xs:attribute> 116 <xs:attribute default="0.0" name="rz" type 116 <xs:attribute default="0.0" name="rz" type="ExpressionOrIDREFType"></xs:attribute> 117 <xs:attribute default="0.0" name="dx" type 117 <xs:attribute default="0.0" name="dx" type="ExpressionOrIDREFType"></xs:attribute> 118 <xs:attribute default="0.0" name="dy" type 118 <xs:attribute default="0.0" name="dy" type="ExpressionOrIDREFType"></xs:attribute> 119 <xs:attribute default="0.0" name="dz" type 119 <xs:attribute default="0.0" name="dz" type="ExpressionOrIDREFType"></xs:attribute> 120 </xs:extension> 120 </xs:extension> 121 </xs:complexContent> 121 </xs:complexContent> 122 </xs:complexType> 122 </xs:complexType> 123 </xs:element> 123 </xs:element> 124 <!-- +++++++++++++++++++++++++++++++++++++++ 124 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> 125 125 126 <xs:element name="scaledSolid" substitutionG 126 <xs:element name="scaledSolid" substitutionGroup="Solid"> 127 <xs:annotation> 127 <xs:annotation> 128 <xs:documentation>Scaled solid: 128 <xs:documentation>Scaled solid: 129 For the scale component, values must b 129 For the scale component, values must be greater than zero. 130 </xs:documentation> 130 </xs:documentation> 131 </xs:annotation> 131 </xs:annotation> 132 <xs:complexType> 132 <xs:complexType> 133 <xs:complexContent> 133 <xs:complexContent> 134 <xs:extension base="SolidType"> 134 <xs:extension base="SolidType"> 135 <xs:sequence> 135 <xs:sequence> 136 <xs:element name="solidref" type="Refere 136 <xs:element name="solidref" type="ReferenceType"></xs:element> 137 <xs:choice minOccurs="1"> 137 <xs:choice minOccurs="1"> 138 <xs:element name="scale" type="s 138 <xs:element name="scale" type="scaleType"></xs:element> 139 <xs:element name="scaleref" type 139 <xs:element name="scaleref" type="ReferenceType"></xs:element> 140 </xs:choice> 140 </xs:choice> 141 </xs:sequence> 141 </xs:sequence> 142 </xs:extension> 142 </xs:extension> 143 </xs:complexContent> 143 </xs:complexContent> 144 </xs:complexType> 144 </xs:complexType> 145 </xs:element> 145 </xs:element> 146 <!-- +++++++++++++++++++++++++++++++++++++++ 146 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> 147 147 148 <!-- +++++++++++++++++++++++++++++++++++++++ << 149 <xs:group name="OpticalSurfacePropertiesGrou << 150 <xs:annotation> << 151 <xs:documentation>General optical surfac << 152 </xs:annotation> << 153 <xs:sequence> << 154 <xs:choice minOccurs="0"> << 155 <xs:element maxOccurs="unbounded" name=" << 156 <xs:annotation> << 157 <xs:documentation>General optical surface << 158 </xs:annotation> << 159 <xs:complexType> << 160 <xs:complexContent> << 161 <xs:extension base="ReferenceType"> << 162 <xs:attribute name="name" type="xs:str << 163 </xs:extension> << 164 </xs:complexContent> << 165 </xs:complexType> << 166 </xs:element> << 167 </xs:choice> << 168 </xs:sequence> << 169 </xs:group> << 170 << 171 << 172 <xs:complexType name="SurfacePropertyType"> 148 <xs:complexType name="SurfacePropertyType"> 173 <xs:annotation> 149 <xs:annotation> 174 <xs:documentation>Base surface type</xs: 150 <xs:documentation>Base surface type</xs:documentation> 175 </xs:annotation> 151 </xs:annotation> 176 <xs:group ref="OpticalSurfacePropertiesGro << 177 <xs:attribute name="name" type="xs:ID" use 152 <xs:attribute name="name" type="xs:ID" use="required"></xs:attribute> 178 <xs:attribute name="type" type="xs:string" 153 <xs:attribute name="type" type="xs:string" default="dielectric_dielectric"></xs:attribute> 179 </xs:complexType> 154 </xs:complexType> 180 <!-- +++++++++++++++++++++++++++++++++++++++ 155 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> 181 156 182 <xs:element abstract="true" name="Solid" typ 157 <xs:element abstract="true" name="Solid" type="SolidType"> 183 <xs:annotation> 158 <xs:annotation> 184 <xs:documentation>Abstract element for a 159 <xs:documentation>Abstract element for all solids substitution group</xs:documentation> 185 </xs:annotation> 160 </xs:annotation> 186 </xs:element> 161 </xs:element> 187 <!-- +++++++++++++++++++++++++++++++++++++++ 162 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> 188 163 189 <xs:element abstract="true" name="SurfacePro 164 <xs:element abstract="true" name="SurfaceProperty" type="SurfacePropertyType"> 190 <xs:annotation> 165 <xs:annotation> 191 <xs:documentation>Abstract element for s 166 <xs:documentation>Abstract element for surfaces substitution</xs:documentation> 192 </xs:annotation> 167 </xs:annotation> 193 </xs:element> 168 </xs:element> 194 <!-- +++++++++++++++++++++++++++++++++++++++ 169 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> 195 170 196 <xs:element name="solids"> 171 <xs:element name="solids"> 197 <xs:annotation> 172 <xs:annotation> 198 <xs:documentation>Solids definitions blo 173 <xs:documentation>Solids definitions block</xs:documentation> 199 </xs:annotation> 174 </xs:annotation> 200 <xs:complexType> 175 <xs:complexType> 201 <xs:choice maxOccurs="unbounded"> 176 <xs:choice maxOccurs="unbounded"> 202 <xs:element minOccurs="0" name="define" type 177 <xs:element minOccurs="0" name="define" type="defineType"> 203 <xs:annotation> 178 <xs:annotation> 204 <xs:documentation>Definitions of constan 179 <xs:documentation>Definitions of constants and expressions to be used for solids' 205 dimensions and transformations 180 dimensions and transformations 206 In this version these become par 181 In this version these become part of the global scope.</xs:documentation> 207 </xs:annotation> 182 </xs:annotation> 208 </xs:element> 183 </xs:element> 209 <xs:element maxOccurs="unbounded" ref="Solid 184 <xs:element maxOccurs="unbounded" ref="Solid"></xs:element> 210 <xs:element minOccurs="0" maxOccurs="unbound 185 <xs:element minOccurs="0" maxOccurs="unbounded" ref="SurfaceProperty"></xs:element> 211 <xs:element maxOccurs="unbounded" minOccurs= 186 <xs:element maxOccurs="unbounded" minOccurs="0" ref="loop"/> 212 </xs:choice> 187 </xs:choice> 213 </xs:complexType> 188 </xs:complexType> 214 </xs:element> 189 </xs:element> 215 <!-- +++++++++++++++++++++++++++++++++++++++ 190 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> 216 191 217 <xs:element name="union" substitutionGroup=" 192 <xs:element name="union" substitutionGroup="Solid" type="BooleanSolidType"> 218 <xs:annotation> 193 <xs:annotation> 219 <xs:documentation>Exported boolean union 194 <xs:documentation>Exported boolean union of two solids</xs:documentation> 220 </xs:annotation> 195 </xs:annotation> 221 </xs:element> 196 </xs:element> 222 <!-- +++++++++++++++++++++++++++++++++++++++ 197 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> 223 198 224 <xs:element name="subtraction" substitutionG 199 <xs:element name="subtraction" substitutionGroup="Solid" type="BooleanSolidType"> 225 <xs:annotation> 200 <xs:annotation> 226 <xs:documentation>Exported boolean subtr 201 <xs:documentation>Exported boolean subtraction of two solids</xs:documentation> 227 </xs:annotation> 202 </xs:annotation> 228 </xs:element> 203 </xs:element> 229 <!-- +++++++++++++++++++++++++++++++++++++++ 204 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> 230 205 231 <xs:element name="intersection" substitution 206 <xs:element name="intersection" substitutionGroup="Solid" type="BooleanSolidType"> 232 <xs:annotation> 207 <xs:annotation> 233 <xs:documentation>Exported boolean inter 208 <xs:documentation>Exported boolean intersectioin of two solids</xs:documentation> 234 </xs:annotation> 209 </xs:annotation> 235 </xs:element> 210 </xs:element> 236 <!-- +++++++++++++++++++++++++++++++++++++++ 211 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> 237 212 238 <xs:element name="box" substitutionGroup="So 213 <xs:element name="box" substitutionGroup="Solid"> 239 <xs:annotation> 214 <xs:annotation> 240 <xs:documentation>CSG box solid describe 215 <xs:documentation>CSG box solid described by 3 dimensions of x, y, and z</xs:documentation> 241 </xs:annotation> 216 </xs:annotation> 242 <xs:complexType> 217 <xs:complexType> 243 <xs:complexContent> 218 <xs:complexContent> 244 <xs:extension base="SolidType"> 219 <xs:extension base="SolidType"> 245 <xs:attribute name="x" type="ExpressionOrI 220 <xs:attribute name="x" type="ExpressionOrIDREFType" use="required"></xs:attribute> 246 <xs:attribute name="y" type="ExpressionOrI 221 <xs:attribute name="y" type="ExpressionOrIDREFType" use="required"></xs:attribute> 247 <xs:attribute name="z" type="ExpressionOrI 222 <xs:attribute name="z" type="ExpressionOrIDREFType" use="required"></xs:attribute> 248 </xs:extension> 223 </xs:extension> 249 </xs:complexContent> 224 </xs:complexContent> 250 </xs:complexType> 225 </xs:complexType> 251 </xs:element> 226 </xs:element> 252 <!-- +++++++++++++++++++++++++++++++++++++++++ 227 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> 253 228 254 <xs:element name="twistedbox" substitutionGr 229 <xs:element name="twistedbox" substitutionGroup="Solid"> 255 <xs:annotation> 230 <xs:annotation> 256 <xs:documentation>CSG twisted box solid 231 <xs:documentation>CSG twisted box solid described by 4 dimensions of 257 x length along x axis 232 x length along x axis 258 y length along y axis 233 y length along y axis 259 z length along z axis 234 z length along z axis 260 PhiTwist twist angle </xs:documentation> 235 PhiTwist twist angle </xs:documentation> 261 </xs:annotation> 236 </xs:annotation> 262 <xs:complexType> 237 <xs:complexType> 263 <xs:complexContent> 238 <xs:complexContent> 264 <xs:extension base="SolidType"> 239 <xs:extension base="SolidType"> 265 <xs:attribute name="x" type="ExpressionOrI 240 <xs:attribute name="x" type="ExpressionOrIDREFType" use="required"></xs:attribute> 266 <xs:attribute name="y" type="ExpressionOrI 241 <xs:attribute name="y" type="ExpressionOrIDREFType" use="required"></xs:attribute> 267 <xs:attribute name="z" type="ExpressionOrI 242 <xs:attribute name="z" type="ExpressionOrIDREFType" use="required"></xs:attribute> 268 <xs:attribute name="PhiTwist" type="Expres 243 <xs:attribute name="PhiTwist" type="ExpressionOrIDREFType" use="required"></xs:attribute> 269 </xs:extension> 244 </xs:extension> 270 </xs:complexContent> 245 </xs:complexContent> 271 </xs:complexType> 246 </xs:complexType> 272 </xs:element> 247 </xs:element> 273 <!-- +++++++++++++++++++++++++++++++++++++++ 248 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> 274 249 275 <xs:element name="twistedtrap" substitutionG 250 <xs:element name="twistedtrap" substitutionGroup="Solid"> 276 <xs:annotation> 251 <xs:annotation> 277 <xs:documentation>general twisted trapez 252 <xs:documentation>general twisted trapezoid. faces perpendicular to the z planes are trapezia, and their centres are 278 not necessarily on a line paralell to th 253 not necessarily on a line paralell to the z axis. 279 PhiTwist Twist Angle 254 PhiTwist Twist Angle 280 z length along the z-axis 255 z length along the z-axis 281 Theta Polar angle of the line joining the c 256 Theta Polar angle of the line joining the centres of the faces at -/+z 282 Phi Azimuthal angle of the line joing the 257 Phi Azimuthal angle of the line joing the centre of the face at -z to the centre of the face at +z 283 y1 length along y of the face at -z 258 y1 length along y of the face at -z 284 x1 length along x of the side at y=-y 259 x1 length along x of the side at y=-y1 of the face at -z 285 x2 length along x of the side at y=+y1 of 260 x2 length along x of the side at y=+y1 of the face at -z 286 y2 length along y of the face at +z 261 y2 length along y of the face at +z 287 x3 length along x of the side at y=-y2 of 262 x3 length along x of the side at y=-y2 of the face at +z 288 x4 length along x of the side at y=+y2 of 263 x4 length along x of the side at y=+y2 of the face at +z 289 Alph Angle with respect to the y axis from 264 Alph Angle with respect to the y axis from the centre of the side </xs:documentation> 290 </xs:annotation> 265 </xs:annotation> 291 <xs:complexType> 266 <xs:complexType> 292 <xs:complexContent> 267 <xs:complexContent> 293 <xs:extension base="SolidType"> 268 <xs:extension base="SolidType"> 294 <xs:attribute name="PhiTwist" type=" 269 <xs:attribute name="PhiTwist" type="ExpressionOrIDREFType" use="required"></xs:attribute> 295 <xs:attribute name="z" type="ExpressionOrI 270 <xs:attribute name="z" type="ExpressionOrIDREFType" use="required"></xs:attribute> 296 <xs:attribute name="Theta" type="Expressio 271 <xs:attribute name="Theta" type="ExpressionOrIDREFType" use="required"></xs:attribute> 297 <xs:attribute name="Phi" type="ExpressionO 272 <xs:attribute name="Phi" type="ExpressionOrIDREFType" use="required"></xs:attribute> 298 <xs:attribute name="y1" type="ExpressionOr 273 <xs:attribute name="y1" type="ExpressionOrIDREFType" use="required"></xs:attribute> 299 <xs:attribute name="x1" type="ExpressionOr 274 <xs:attribute name="x1" type="ExpressionOrIDREFType" use="required"></xs:attribute> 300 <xs:attribute name="y2" type="ExpressionOr 275 <xs:attribute name="y2" type="ExpressionOrIDREFType" use="required"></xs:attribute> 301 <xs:attribute name="x2" type="ExpressionOr 276 <xs:attribute name="x2" type="ExpressionOrIDREFType" use="required"></xs:attribute> 302 <xs:attribute name="x3" type="ExpressionOr 277 <xs:attribute name="x3" type="ExpressionOrIDREFType" use="required"></xs:attribute> 303 <xs:attribute name="x4" type="ExpressionOr 278 <xs:attribute name="x4" type="ExpressionOrIDREFType" use="required"></xs:attribute> 304 <xs:attribute name="Alph" type="Expr 279 <xs:attribute name="Alph" type="ExpressionOrIDREFType" use="required"></xs:attribute> 305 </xs:extension> 280 </xs:extension> 306 </xs:complexContent> 281 </xs:complexContent> 307 </xs:complexType> 282 </xs:complexType> 308 </xs:element> 283 </xs:element> 309 <!-- +++++++++++++++++++++++++++++++++++++++ 284 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> 310 285 311 <xs:element name="twistedtrd" substitutionGr 286 <xs:element name="twistedtrd" substitutionGroup="Solid"> 312 <xs:annotation> 287 <xs:annotation> 313 <xs:documentation>different length axis 288 <xs:documentation>different length axis twistable trapezoid. faces perpendicular to the z planes are trapezia, and their centres are 314 not necessarily on a line paralell to th 289 not necessarily on a line paralell to the z axis. 315 PhiTwist Twist Angle 290 PhiTwist Twist Angle 316 z length along the z-axis 291 z length along the z-axis 317 y1 length along y of the face at -z 292 y1 length along y of the face at -z 318 x1 length along x of the side at y=-y 293 x1 length along x of the side at y=-y1 of the face at -z 319 x2 length along x of the side at y=+y1 of 294 x2 length along x of the side at y=+y1 of the face at -z 320 y2 length along y of the face at +z </xs: 295 y2 length along y of the face at +z </xs:documentation> 321 </xs:annotation> 296 </xs:annotation> 322 <xs:complexType> 297 <xs:complexType> 323 <xs:complexContent> 298 <xs:complexContent> 324 <xs:extension base="SolidType"> 299 <xs:extension base="SolidType"> 325 <xs:attribute name="PhiTwist" type=" 300 <xs:attribute name="PhiTwist" type="ExpressionOrIDREFType" use="required"></xs:attribute> 326 <xs:attribute name="z" type="ExpressionOrI 301 <xs:attribute name="z" type="ExpressionOrIDREFType" use="required"></xs:attribute> 327 <xs:attribute name="y1" type="ExpressionOr 302 <xs:attribute name="y1" type="ExpressionOrIDREFType" use="required"></xs:attribute> 328 <xs:attribute name="x1" type="ExpressionOr 303 <xs:attribute name="x1" type="ExpressionOrIDREFType" use="required"></xs:attribute> 329 <xs:attribute name="y2" type="ExpressionOr 304 <xs:attribute name="y2" type="ExpressionOrIDREFType" use="required"></xs:attribute> 330 <xs:attribute name="x2" type="ExpressionOr 305 <xs:attribute name="x2" type="ExpressionOrIDREFType" use="required"></xs:attribute> 331 </xs:extension> 306 </xs:extension> 332 </xs:complexContent> 307 </xs:complexContent> 333 </xs:complexType> 308 </xs:complexType> 334 </xs:element> 309 </xs:element> 335 <!-- +++++++++++++++++++++++++++++++++++++++ 310 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> 336 311 337 <xs:element name="paraboloid" substitutionGr 312 <xs:element name="paraboloid" substitutionGroup="Solid"> 338 <xs:annotation> 313 <xs:annotation> 339 <xs:documentation>CSG paraboloid defined 314 <xs:documentation>CSG paraboloid defined by 340 rlo radius at -dz 315 rlo radius at -dz 341 rhi radius at +dz 316 rhi radius at +dz 342 dz half z length 317 dz half z length 343 </xs:documentation> 318 </xs:documentation> 344 </xs:annotation> 319 </xs:annotation> 345 <xs:complexType> 320 <xs:complexType> 346 <xs:complexContent> 321 <xs:complexContent> 347 <xs:extension base="SolidType"> 322 <xs:extension base="SolidType"> 348 <xs:attribute name="rlo" type="ExpressionO 323 <xs:attribute name="rlo" type="ExpressionOrIDREFType" use="required"></xs:attribute> 349 <xs:attribute name="rhi" type="ExpressionO 324 <xs:attribute name="rhi" type="ExpressionOrIDREFType" use="required"></xs:attribute> 350 <xs:attribute name="dz" type="ExpressionOr 325 <xs:attribute name="dz" type="ExpressionOrIDREFType" use="required"></xs:attribute> 351 </xs:extension> 326 </xs:extension> 352 </xs:complexContent> 327 </xs:complexContent> 353 </xs:complexType> 328 </xs:complexType> 354 </xs:element> 329 </xs:element> 355 <!-- +++++++++++++++++++++++++++++++++++++++ 330 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> 356 331 357 <xs:element name="sphere" substitutionGroup= 332 <xs:element name="sphere" substitutionGroup="Solid"> 358 <xs:annotation> 333 <xs:annotation> 359 <xs:documentation>CSG sphere or spherica 334 <xs:documentation>CSG sphere or spherical shell segment solid described by 360 rmin inner radius 335 rmin inner radius 361 rmax outer radius 336 rmax outer radius 362 startphi starting angle of the segm 337 startphi starting angle of the segment in radians(0 <= phi <= 2*PI) 363 deltaphi delta angle of the segment 338 deltaphi delta angle of the segment in radians 364 starttheta starting angle of the segm 339 starttheta starting angle of the segment in radians(0 <= theta <= PI) 365 deltatheta delta angle of the segment 340 deltatheta delta angle of the segment in radians 366 </xs:documentation> 341 </xs:documentation> 367 </xs:annotation> 342 </xs:annotation> 368 <xs:complexType> 343 <xs:complexType> 369 <xs:complexContent> 344 <xs:complexContent> 370 <xs:extension base="SolidType"> 345 <xs:extension base="SolidType"> 371 <xs:attribute default="0.0" name="rmin" ty 346 <xs:attribute default="0.0" name="rmin" type="ExpressionOrIDREFType"></xs:attribute> 372 <xs:attribute name="rmax" type="Expression 347 <xs:attribute name="rmax" type="ExpressionOrIDREFType" use="required"></xs:attribute> 373 <xs:attribute default="0.0" name="startphi 348 <xs:attribute default="0.0" name="startphi" type="ExpressionOrIDREFType"></xs:attribute> 374 <xs:attribute name="deltaphi" type="Expres 349 <xs:attribute name="deltaphi" type="ExpressionOrIDREFType" use="required"></xs:attribute> 375 <xs:attribute default="0.0" name="startthe 350 <xs:attribute default="0.0" name="starttheta" type="ExpressionOrIDREFType"></xs:attribute> 376 <xs:attribute name="deltatheta" type="Expr 351 <xs:attribute name="deltatheta" type="ExpressionOrIDREFType" use="required"></xs:attribute> 377 </xs:extension> 352 </xs:extension> 378 </xs:complexContent> 353 </xs:complexContent> 379 </xs:complexType> 354 </xs:complexType> 380 </xs:element> 355 </xs:element> 381 <!-- +++++++++++++++++++++++++++++++++++++++ 356 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> 382 357 383 <xs:element name="ellipsoid" substitutionGro 358 <xs:element name="ellipsoid" substitutionGroup="Solid"> 384 <xs:annotation> 359 <xs:annotation> 385 <xs:documentation>CSG ellispoid or ellip 360 <xs:documentation>CSG ellispoid or ellipsoidal shell segment solid described by 386 ax x semiaxis 361 ax x semiaxis 387 by y semiaxis 362 by y semiaxis 388 cz z semiaxis 363 cz z semiaxis 389 zcut1 bottom plane cutting ellips 364 zcut1 bottom plane cutting ellipsoid 390 zcut2 top plane cutting ellispoid 365 zcut2 top plane cutting ellispoid 391 </xs:documentation> 366 </xs:documentation> 392 </xs:annotation> 367 </xs:annotation> 393 <xs:complexType> 368 <xs:complexType> 394 <xs:complexContent> 369 <xs:complexContent> 395 <xs:extension base="SolidType"> 370 <xs:extension base="SolidType"> 396 <xs:attribute name="ax" type="ExpressionOr 371 <xs:attribute name="ax" type="ExpressionOrIDREFType" use="required"></xs:attribute> 397 <xs:attribute name="by" type="ExpressionOr 372 <xs:attribute name="by" type="ExpressionOrIDREFType" use="required"></xs:attribute> 398 <xs:attribute name="cz" type="ExpressionOr 373 <xs:attribute name="cz" type="ExpressionOrIDREFType" use="required"></xs:attribute> 399 <xs:attribute default="-1000000.0" name="z 374 <xs:attribute default="-1000000.0" name="zcut1" type="ExpressionOrIDREFType"></xs:attribute> 400 <xs:attribute default="1000000.0" name="zc 375 <xs:attribute default="1000000.0" name="zcut2" type="ExpressionOrIDREFType"></xs:attribute> 401 </xs:extension> 376 </xs:extension> 402 </xs:complexContent> 377 </xs:complexContent> 403 </xs:complexType> 378 </xs:complexType> 404 </xs:element> 379 </xs:element> 405 <!-- +++++++++++++++++++++++++++++++++++++++ 380 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> 406 381 407 <xs:element name="tube" substitutionGroup="S 382 <xs:element name="tube" substitutionGroup="Solid"> 408 <xs:annotation> 383 <xs:annotation> 409 <xs:documentation>CSG tube or tube segem 384 <xs:documentation>CSG tube or tube segement solid described by 410 rmin Inner radius 385 rmin Inner radius 411 rmax Outer radius 386 rmax Outer radius 412 z length in z 387 z length in z 413 startphi The starting phi angle in ra 388 startphi The starting phi angle in radians, adjusted such that 414 (startphi+deltaphi <= 2PI, startphi 389 (startphi+deltaphi <= 2PI, startphi > -2PI) 415 deltaphi Delta angle of the segment i 390 deltaphi Delta angle of the segment in radians</xs:documentation> 416 </xs:annotation> 391 </xs:annotation> 417 <xs:complexType> 392 <xs:complexType> 418 <xs:complexContent> 393 <xs:complexContent> 419 <xs:extension base="SolidType"> 394 <xs:extension base="SolidType"> 420 <xs:attribute name="z" type="ExpressionOrI 395 <xs:attribute name="z" type="ExpressionOrIDREFType"></xs:attribute> 421 <xs:attribute default="0.0" name="rmin" ty 396 <xs:attribute default="0.0" name="rmin" type="ExpressionOrIDREFType"></xs:attribute> 422 <xs:attribute name="rmax" type="Expression 397 <xs:attribute name="rmax" type="ExpressionOrIDREFType" use="required"></xs:attribute> 423 <xs:attribute default="0.0" name="startphi 398 <xs:attribute default="0.0" name="startphi" type="ExpressionOrIDREFType"></xs:attribute> 424 <xs:attribute name="deltaphi" type="Expres 399 <xs:attribute name="deltaphi" type="ExpressionOrIDREFType" use="required"></xs:attribute> 425 </xs:extension> 400 </xs:extension> 426 </xs:complexContent> 401 </xs:complexContent> 427 </xs:complexType> 402 </xs:complexType> 428 </xs:element> 403 </xs:element> 429 <!-- ++++++++++++++++++++++++++++++++++++++++ 404 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> 430 405 431 <xs:element name="twistedtubs" substitutionG 406 <xs:element name="twistedtubs" substitutionGroup="Solid"> 432 <xs:annotation> 407 <xs:annotation> 433 <xs:documentation>CSG twisted tube segme << 408 <xs:documentation>CSG twisted tube segement solid described by 434 twistedangle twist angle (constructors 1,2, << 409 twistedangle twist angle 435 endinnerrad inside radius at end of segment << 410 endinnerrad inside radius at end of segment 436 endouterrad outside radius at end of segment << 411 endouterrad outside radius at end of segment 437 midinnerrad inner radius at z=0 (c << 412 zlen z length of segment 438 midouterrad outer radius at z=0 (c << 413 phi phi angle of a segment </xs:documentation> 439 negativeEndz -ve z endplate (constr << 440 positiveEndz +ve z endplate (constr << 441 zlen z length of segment (constructors 1, << 442 nseg number of segments in << 443 totphi total angle of all seg << 444 phi phi angle of a segment (constructors 1 << 445 </xs:annotation> 414 </xs:annotation> 446 <xs:complexType> 415 <xs:complexType> 447 <xs:complexContent> 416 <xs:complexContent> 448 <xs:extension base="SolidType"> 417 <xs:extension base="SolidType"> 449 <xs:attribute name="twistedangle" type="Ex 418 <xs:attribute name="twistedangle" type="ExpressionOrIDREFType" use="required"></xs:attribute> 450 <xs:attribute default="0.0" name="endinner << 419 <xs:attribute name="endinnerrad" type="ExpressionOrIDREFType" use="required"></xs:attribute> 451 <xs:attribute default="0.0" name="endouter << 420 <xs:attribute name="endouterrad" type="ExpressionOrIDREFType" use="required"></xs:attribute> 452 <xs:attribute default="0.0" name="midinner << 421 <xs:attribute name="zlen" type="ExpressionOrIDREFType" use="required"></xs:attribute> 453 <xs:attribute default="0.0" name="midouter << 422 <xs:attribute name="phi" type="ExpressionOrIDREFType" use="required"></xs:attribute> 454 <xs:attribute default="0.0" name="negative << 455 <xs:attribute default="0.0" name="positive << 456 <xs:attribute default="0.0" name="zlen" ty << 457 <xs:attribute default="0" name="nseg" type << 458 <xs:attribute default="0.0" name="totphi" << 459 <xs:attribute default="0.0" name="phi" typ << 460 </xs:extension> 423 </xs:extension> 461 </xs:complexContent> 424 </xs:complexContent> 462 </xs:complexType> 425 </xs:complexType> 463 </xs:element> 426 </xs:element> 464 <!-- +++++++++++++++++++++++++++++++++++++++ 427 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> 465 428 466 <xs:element name="cutTube" substitutionGroup 429 <xs:element name="cutTube" substitutionGroup="Solid"> 467 <xs:annotation> 430 <xs:annotation> 468 <xs:documentation>CSG cut tube or cut tu 431 <xs:documentation>CSG cut tube or cut tube segment solid described by 469 rmin Inner radius 432 rmin Inner radius 470 rmax Outer radius 433 rmax Outer radius 471 z length in z 434 z length in z 472 startphi The starting p 435 startphi The starting phi angle in radians, adjusted such that (startphi+deltaphi <= 2PI, startphi > -2PI) 473 deltaphi Delta angle of 436 deltaphi Delta angle of the segment in radians 474 lowX, lowY, lowZ Normal at lower Z pl 437 lowX, lowY, lowZ Normal at lower Z plane 475 highX, highY, highZ Normal at higher Z p 438 highX, highY, highZ Normal at higher Z plane 476 </xs:documentation> 439 </xs:documentation> 477 </xs:annotation> 440 </xs:annotation> 478 <xs:complexType> 441 <xs:complexType> 479 <xs:complexContent> 442 <xs:complexContent> 480 <xs:extension base="SolidType"> 443 <xs:extension base="SolidType"> 481 <xs:attribute name="z" type="ExpressionOrI 444 <xs:attribute name="z" type="ExpressionOrIDREFType"></xs:attribute> 482 <xs:attribute default="0.0" name="rmin" ty 445 <xs:attribute default="0.0" name="rmin" type="ExpressionOrIDREFType"></xs:attribute> 483 <xs:attribute name="rmax" type="Expression 446 <xs:attribute name="rmax" type="ExpressionOrIDREFType" use="required"></xs:attribute> 484 <xs:attribute default="0.0" name="startphi 447 <xs:attribute default="0.0" name="startphi" type="ExpressionOrIDREFType"></xs:attribute> 485 <xs:attribute name="deltaphi" type="Expres 448 <xs:attribute name="deltaphi" type="ExpressionOrIDREFType" use="required"></xs:attribute> 486 <xs:attribute name="lowX" type="Expression 449 <xs:attribute name="lowX" type="ExpressionOrIDREFType" use="required"></xs:attribute> 487 <xs:attribute name="lowY" type="Expression 450 <xs:attribute name="lowY" type="ExpressionOrIDREFType" use="required"></xs:attribute> 488 <xs:attribute name="lowZ" type="Expression 451 <xs:attribute name="lowZ" type="ExpressionOrIDREFType" use="required"></xs:attribute> 489 <xs:attribute name="highX" type="Expressio 452 <xs:attribute name="highX" type="ExpressionOrIDREFType" use="required"></xs:attribute> 490 <xs:attribute name="highY" type="Expressio 453 <xs:attribute name="highY" type="ExpressionOrIDREFType" use="required"></xs:attribute> 491 <xs:attribute name="highZ" type="Expressio 454 <xs:attribute name="highZ" type="ExpressionOrIDREFType" use="required"></xs:attribute> 492 </xs:extension> 455 </xs:extension> 493 </xs:complexContent> 456 </xs:complexContent> 494 </xs:complexType> 457 </xs:complexType> 495 </xs:element> 458 </xs:element> 496 <!-- +++++++++++++++++++++++++++++++++++++++ 459 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> 497 460 498 <xs:element name="cone" substitutionGroup="S 461 <xs:element name="cone" substitutionGroup="Solid"> 499 <xs:annotation> 462 <xs:annotation> 500 <xs:documentation>CSG cone or cone segme 463 <xs:documentation>CSG cone or cone segment described by 501 rmin1 inside radius at z/2 464 rmin1 inside radius at z/2 502 rmin2 inside radius at z/2 465 rmin2 inside radius at z/2 503 rmax1 outside radius at z/2 466 rmax1 outside radius at z/2 504 rmax2 outside radius at z/2 467 rmax2 outside radius at z/2 505 z length in z 468 z length in z 506 startphi starting angle of the segment 469 startphi starting angle of the segment in radians 507 deltaphi delta angle of the segment in 470 deltaphi delta angle of the segment in radians</xs:documentation> 508 </xs:annotation> 471 </xs:annotation> 509 <xs:complexType> 472 <xs:complexType> 510 <xs:complexContent> 473 <xs:complexContent> 511 <xs:extension base="SolidType"> 474 <xs:extension base="SolidType"> 512 <xs:attribute name="z" type="ExpressionOrI 475 <xs:attribute name="z" type="ExpressionOrIDREFType" use="required"></xs:attribute> 513 <xs:attribute default="0.0" name="rmin1" t 476 <xs:attribute default="0.0" name="rmin1" type="ExpressionOrIDREFType"></xs:attribute> 514 <xs:attribute default="0.0" name="rmin2" t 477 <xs:attribute default="0.0" name="rmin2" type="ExpressionOrIDREFType"></xs:attribute> 515 <xs:attribute name="rmax1" type="Expressio 478 <xs:attribute name="rmax1" type="ExpressionOrIDREFType" use="required"></xs:attribute> 516 <xs:attribute name="rmax2" type="Expressio 479 <xs:attribute name="rmax2" type="ExpressionOrIDREFType" use="required"></xs:attribute> 517 <xs:attribute default="0.0" name="startphi 480 <xs:attribute default="0.0" name="startphi" type="ExpressionOrIDREFType"></xs:attribute> 518 <xs:attribute name="deltaphi" type="Expres 481 <xs:attribute name="deltaphi" type="ExpressionOrIDREFType" use="required"></xs:attribute> 519 </xs:extension> 482 </xs:extension> 520 </xs:complexContent> 483 </xs:complexContent> 521 </xs:complexType> 484 </xs:complexType> 522 </xs:element> 485 </xs:element> 523 <!-- +++++++++++++++++++++++++++++++++++++++ 486 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> 524 487 525 <xs:element name="elcone" substitutionGroup= 488 <xs:element name="elcone" substitutionGroup="Solid"> 526 <xs:annotation> 489 <xs:annotation> 527 <xs:documentation>CSG cone with ellipti 490 <xs:documentation>CSG cone with elliptical cross section 528 dx semiaxis in X 491 dx semiaxis in X 529 dy semiaxis in Y 492 dy semiaxis in Y 530 zmax height of elliptical cone 493 zmax height of elliptical cone 531 zcut upper cut plane level 494 zcut upper cut plane level 532 </xs:documentation> 495 </xs:documentation> 533 </xs:annotation> 496 </xs:annotation> 534 <xs:complexType> 497 <xs:complexType> 535 <xs:complexContent> 498 <xs:complexContent> 536 <xs:extension base="SolidType"> 499 <xs:extension base="SolidType"> 537 <xs:attribute name="dx" type="ExpressionOr 500 <xs:attribute name="dx" type="ExpressionOrIDREFType"></xs:attribute> 538 <xs:attribute name="dy" type="ExpressionOr 501 <xs:attribute name="dy" type="ExpressionOrIDREFType"></xs:attribute> 539 <xs:attribute name="zmax" type="Expression 502 <xs:attribute name="zmax" type="ExpressionOrIDREFType" use="required"></xs:attribute> 540 <xs:attribute name="zcut" type="Expression 503 <xs:attribute name="zcut" type="ExpressionOrIDREFType" use="required"></xs:attribute> 541 </xs:extension> 504 </xs:extension> 542 </xs:complexContent> 505 </xs:complexContent> 543 </xs:complexType> 506 </xs:complexType> 544 </xs:element> 507 </xs:element> 545 <!-- +++++++++++++++++++++++++++++++++++++++ 508 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> 546 509 547 <xs:element name="polycone" substitutionGrou 510 <xs:element name="polycone" substitutionGroup="Solid"> 548 <xs:annotation> 511 <xs:annotation> 549 <xs:documentation>CSG polycone or polyco 512 <xs:documentation>CSG polycone or polycone segment described by 550 startphi starting angle of the segment 513 startphi starting angle of the segment in radians 551 deltaphi delta angle of the segment in 514 deltaphi delta angle of the segment in radians 552 515 553 and a set of z-planes each described by 516 and a set of z-planes each described by 554 rmin inside radius at z/2 517 rmin inside radius at z/2 555 rmax outside radius at z/2 518 rmax outside radius at z/2 556 z length in z 519 z length in z 557 </xs:documentation> 520 </xs:documentation> 558 </xs:annotation> 521 </xs:annotation> 559 <xs:complexType> 522 <xs:complexType> 560 <xs:complexContent> 523 <xs:complexContent> 561 <xs:extension base="SolidType"> 524 <xs:extension base="SolidType"> 562 <xs:sequence> 525 <xs:sequence> 563 <xs:element name="zplane" minOccurs="1" 526 <xs:element name="zplane" minOccurs="1" maxOccurs="unbounded" type="ZPlaneType"/> 564 </xs:sequence> 527 </xs:sequence> 565 <xs:attribute name="deltaphi" type="Expres 528 <xs:attribute name="deltaphi" type="ExpressionOrIDREFType" use="required"></xs:attribute> 566 <xs:attribute default="0.0" name="startphi 529 <xs:attribute default="0.0" name="startphi" type="ExpressionOrIDREFType"></xs:attribute> 567 </xs:extension> 530 </xs:extension> 568 </xs:complexContent> 531 </xs:complexContent> 569 </xs:complexType> 532 </xs:complexType> 570 </xs:element> 533 </xs:element> 571 <!-- +++++++++++++ --> 534 <!-- +++++++++++++ --> 572 <xs:complexType name="ZPlaneType"> 535 <xs:complexType name="ZPlaneType"> 573 <xs:attribute name="z" type="ExpressionOrI 536 <xs:attribute name="z" type="ExpressionOrIDREFType" use="required"></xs:attribute> 574 <xs:attribute default="0.0" name="rmin" ty 537 <xs:attribute default="0.0" name="rmin" type="ExpressionOrIDREFType"></xs:attribute> 575 <xs:attribute name="rmax" type="Expression 538 <xs:attribute name="rmax" type="ExpressionOrIDREFType" use="required"></xs:attribute> 576 </xs:complexType> 539 </xs:complexType> 577 540 578 <!-- ++++++++++++++++++++++++++++++++++++++++ 541 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> 579 542 580 <xs:element name="genericPolycone" substitut 543 <xs:element name="genericPolycone" substitutionGroup="Solid"> 581 <xs:annotation> 544 <xs:annotation> 582 <xs:documentation>Generic polycone or po 545 <xs:documentation>Generic polycone or polycone segment described by 583 startphi starting angle of the segment 546 startphi starting angle of the segment in radians 584 deltaphi delta angle of the segment in 547 deltaphi delta angle of the segment in radians 585 and a set of points with (r,z)coordinates 548 and a set of points with (r,z)coordinates 586 </xs:documentation> 549 </xs:documentation> 587 </xs:annotation> 550 </xs:annotation> 588 <xs:complexType> 551 <xs:complexType> 589 <xs:complexContent> 552 <xs:complexContent> 590 <xs:extension base="SolidType"> 553 <xs:extension base="SolidType"> 591 <xs:sequence> 554 <xs:sequence> 592 <xs:element name="rzpoint" minOccurs="3" 555 <xs:element name="rzpoint" minOccurs="3" maxOccurs="unbounded" type="RZPointType"/> 593 </xs:sequence> 556 </xs:sequence> 594 <xs:attribute name="deltaphi" type="Expres 557 <xs:attribute name="deltaphi" type="ExpressionOrIDREFType" use="required"></xs:attribute> 595 <xs:attribute default="0.0" name="startphi 558 <xs:attribute default="0.0" name="startphi" type="ExpressionOrIDREFType"></xs:attribute> 596 </xs:extension> 559 </xs:extension> 597 </xs:complexContent> 560 </xs:complexContent> 598 </xs:complexType> 561 </xs:complexType> 599 </xs:element> 562 </xs:element> 600 <!-- +++++++++++++ --> 563 <!-- +++++++++++++ --> 601 <xs:complexType name="RZPointType"> 564 <xs:complexType name="RZPointType"> 602 <xs:attribute name="r" type="ExpressionOrI 565 <xs:attribute name="r" type="ExpressionOrIDREFType" use="required"></xs:attribute> 603 <xs:attribute name="z" type="ExpressionOrI 566 <xs:attribute name="z" type="ExpressionOrIDREFType" use="required"></xs:attribute> 604 </xs:complexType> 567 </xs:complexType> 605 568 606 <!-- +++++++++++++++++++++++++++++++++++++++ 569 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> 607 570 608 <xs:element name="para" substitutionGroup="S 571 <xs:element name="para" substitutionGroup="Solid"> 609 <xs:annotation> 572 <xs:annotation> 610 <xs:documentation>CSG parallelepiped sol 573 <xs:documentation>CSG parallelepiped solid is described by 611 x, y, z length in x,y,z 574 x, y, z length in x,y,z 612 alpha Angle formed by the y axis an 575 alpha Angle formed by the y axis and by the plane joining the centre of the faces 613 G4Parallel to the z-x plane at -y and 576 G4Parallel to the z-x plane at -y and +y 614 theta Polar angle of the line joini 577 theta Polar angle of the line joining the centres of the faces at -z and +z in z 615 phi Azimuthal angle of the line j 578 phi Azimuthal angle of the line joining the centres of the faces at -z and +z in z</xs:documentation> 616 </xs:annotation> 579 </xs:annotation> 617 <xs:complexType> 580 <xs:complexType> 618 <xs:complexContent> 581 <xs:complexContent> 619 <xs:extension base="SolidType"> 582 <xs:extension base="SolidType"> 620 <xs:attribute name="x" type="ExpressionOrI 583 <xs:attribute name="x" type="ExpressionOrIDREFType" use="required"></xs:attribute> 621 <xs:attribute name="y" type="ExpressionOrI 584 <xs:attribute name="y" type="ExpressionOrIDREFType" use="required"></xs:attribute> 622 <xs:attribute name="z" type="ExpressionOrI 585 <xs:attribute name="z" type="ExpressionOrIDREFType" use="required"></xs:attribute> 623 <xs:attribute name="alpha" type="Expressio 586 <xs:attribute name="alpha" type="ExpressionOrIDREFType" use="required"></xs:attribute> 624 <xs:attribute name="theta" type="Expressio 587 <xs:attribute name="theta" type="ExpressionOrIDREFType" use="required"></xs:attribute> 625 <xs:attribute name="phi" type="ExpressionO 588 <xs:attribute name="phi" type="ExpressionOrIDREFType" use="required"></xs:attribute> 626 </xs:extension> 589 </xs:extension> 627 </xs:complexContent> 590 </xs:complexContent> 628 </xs:complexType> 591 </xs:complexType> 629 </xs:element> 592 </xs:element> 630 <!-- +++++++++++++++++++++++++++++++++++++++ 593 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> 631 594 632 <xs:element name="trd" substitutionGroup="So 595 <xs:element name="trd" substitutionGroup="Solid"> 633 <xs:annotation> 596 <xs:annotation> 634 <xs:documentation>CSG trapezoid solid wi 597 <xs:documentation>CSG trapezoid solid with varying x and y dimensions along z axis 635 x1 Length along x at the surface posit 598 x1 Length along x at the surface positioned at -z 636 x2 Length along x at the surface posit 599 x2 Length along x at the surface positioned at +z 637 y1 Length along y at the surface posit 600 y1 Length along y at the surface positioned at -z 638 y2 Length along y at the surface posit 601 y2 Length along y at the surface positioned at +z 639 z Length along z axis</xs:documentati 602 z Length along z axis</xs:documentation> 640 </xs:annotation> 603 </xs:annotation> 641 <xs:complexType> 604 <xs:complexType> 642 <xs:complexContent> 605 <xs:complexContent> 643 <xs:extension base="SolidType"> 606 <xs:extension base="SolidType"> 644 <xs:attribute name="x1" type="ExpressionOr 607 <xs:attribute name="x1" type="ExpressionOrIDREFType" use="required"></xs:attribute> 645 <xs:attribute name="x2" type="ExpressionOr 608 <xs:attribute name="x2" type="ExpressionOrIDREFType" use="required"></xs:attribute> 646 <xs:attribute name="y1" type="ExpressionOr 609 <xs:attribute name="y1" type="ExpressionOrIDREFType" use="required"></xs:attribute> 647 <xs:attribute name="y2" type="ExpressionOr 610 <xs:attribute name="y2" type="ExpressionOrIDREFType" use="required"></xs:attribute> 648 <xs:attribute name="z" type="ExpressionOrI 611 <xs:attribute name="z" type="ExpressionOrIDREFType" use="required"></xs:attribute> 649 </xs:extension> 612 </xs:extension> 650 </xs:complexContent> 613 </xs:complexContent> 651 </xs:complexType> 614 </xs:complexType> 652 </xs:element> 615 </xs:element> 653 <!-- +++++++++++++++++++++++++++++++++++++++ 616 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> 654 617 655 <xs:element name="trap" substitutionGroup="S 618 <xs:element name="trap" substitutionGroup="Solid"> 656 <xs:annotation> 619 <xs:annotation> 657 <xs:documentation>CSG general trapezoid 620 <xs:documentation>CSG general trapezoid solid is described by 658 z Length along the z-axis 621 z Length along the z-axis 659 theta Polar angle of the line joining 622 theta Polar angle of the line joining the centres of the faces at -/+z 660 phi Azimuthal angle of the line joi 623 phi Azimuthal angle of the line joing the centre of the face at -z to the centre of the face at +z 661 y1 Length along y of the face at - 624 y1 Length along y of the face at -z 662 x1 Length along x of the side at y 625 x1 Length along x of the side at y = -y1 of the face at -z 663 x2 Length along x of the side at y 626 x2 Length along x of the side at y = +y1 of the face at -z 664 alp1 Angle with respect to the y axi 627 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 665 y2 Length along y of the face at + 628 y2 Length along y of the face at +z 666 x3 Length along x of the side at y 629 x3 Length along x of the side at y = -y2 of the face at +z 667 x4 Length along x of the side at y 630 x4 Length along x of the side at y = +y2 of the face at +z 668 alp2 Angle with respect to the y axi 631 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> 669 </xs:annotation> 632 </xs:annotation> 670 <xs:complexType> 633 <xs:complexType> 671 <xs:complexContent> 634 <xs:complexContent> 672 <xs:extension base="SolidType"> 635 <xs:extension base="SolidType"> 673 <xs:attribute name="z" type="ExpressionOrI 636 <xs:attribute name="z" type="ExpressionOrIDREFType" use="required"></xs:attribute> 674 <xs:attribute name="theta" type="Expressio 637 <xs:attribute name="theta" type="ExpressionOrIDREFType" use="required"></xs:attribute> 675 <xs:attribute name="phi" type="ExpressionO 638 <xs:attribute name="phi" type="ExpressionOrIDREFType" use="required"></xs:attribute> 676 <xs:attribute name="y1" type="ExpressionOr 639 <xs:attribute name="y1" type="ExpressionOrIDREFType" use="required"></xs:attribute> 677 <xs:attribute name="x1" type="ExpressionOr 640 <xs:attribute name="x1" type="ExpressionOrIDREFType" use="required"></xs:attribute> 678 <xs:attribute name="x2" type="ExpressionOr 641 <xs:attribute name="x2" type="ExpressionOrIDREFType" use="required"></xs:attribute> 679 <xs:attribute name="alpha1" type="Expressi 642 <xs:attribute name="alpha1" type="ExpressionOrIDREFType" use="required"></xs:attribute> 680 <xs:attribute name="y2" type="ExpressionOr 643 <xs:attribute name="y2" type="ExpressionOrIDREFType" use="required"></xs:attribute> 681 <xs:attribute name="x3" type="ExpressionOr 644 <xs:attribute name="x3" type="ExpressionOrIDREFType" use="required"></xs:attribute> 682 <xs:attribute name="x4" type="ExpressionOr 645 <xs:attribute name="x4" type="ExpressionOrIDREFType" use="required"></xs:attribute> 683 <xs:attribute name="alpha2" type="Expressi 646 <xs:attribute name="alpha2" type="ExpressionOrIDREFType" use="required"></xs:attribute> 684 </xs:extension> 647 </xs:extension> 685 </xs:complexContent> 648 </xs:complexContent> 686 </xs:complexType> 649 </xs:complexType> 687 </xs:element> 650 </xs:element> 688 <!-- +++++++++++++++++++++++++++++++++++++++ 651 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> 689 652 690 <xs:element name="torus" substitutionGroup=" 653 <xs:element name="torus" substitutionGroup="Solid"> 691 <xs:annotation> 654 <xs:annotation> 692 <xs:documentation>CSG torus solid is des 655 <xs:documentation>CSG torus solid is described by 693 rmin Inside radius 656 rmin Inside radius 694 rmax Outside radius 657 rmax Outside radius 695 rtor swept radius of torus 658 rtor swept radius of torus 696 startphi The starting phi angle in radians 659 startphi The starting phi angle in radians adjusted such that sphi+dphi lt 2PI, sphi gt -2PI 697 deltaphi Delta angle of the segment in radi 660 deltaphi Delta angle of the segment in radians 698 </xs:documentation> 661 </xs:documentation> 699 </xs:annotation> 662 </xs:annotation> 700 <xs:complexType> 663 <xs:complexType> 701 <xs:complexContent> 664 <xs:complexContent> 702 <xs:extension base="SolidType"> 665 <xs:extension base="SolidType"> 703 <xs:attribute name="rmin" type="Expression 666 <xs:attribute name="rmin" type="ExpressionOrIDREFType" use="required"></xs:attribute> 704 <xs:attribute name="rmax" type="Expression 667 <xs:attribute name="rmax" type="ExpressionOrIDREFType" use="required"></xs:attribute> 705 <xs:attribute name="rtor" type="Expression 668 <xs:attribute name="rtor" type="ExpressionOrIDREFType" use="required"></xs:attribute> 706 <xs:attribute name="startphi" type="Expres 669 <xs:attribute name="startphi" type="ExpressionOrIDREFType" use="required"></xs:attribute> 707 <xs:attribute name="deltaphi" type="Expres 670 <xs:attribute name="deltaphi" type="ExpressionOrIDREFType" use="required"></xs:attribute> 708 </xs:extension> 671 </xs:extension> 709 </xs:complexContent> 672 </xs:complexContent> 710 </xs:complexType> 673 </xs:complexType> 711 </xs:element> 674 </xs:element> 712 <!-- +++++++++++++++++++++++++++++++++++++++ 675 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> 713 676 714 <xs:element name="orb" substitutionGroup="So 677 <xs:element name="orb" substitutionGroup="Solid"> 715 <xs:annotation> 678 <xs:annotation> 716 <xs:documentation>CSG orb solid (simplif 679 <xs:documentation>CSG orb solid (simplified sphere with only rmax) is described by 717 r Outside radius</xs:documentation> 680 r Outside radius</xs:documentation> 718 </xs:annotation> 681 </xs:annotation> 719 <xs:complexType> 682 <xs:complexType> 720 <xs:complexContent> 683 <xs:complexContent> 721 <xs:extension base="SolidType"> 684 <xs:extension base="SolidType"> 722 <xs:attribute name="r" type="ExpressionOrI 685 <xs:attribute name="r" type="ExpressionOrIDREFType" use="required"></xs:attribute> 723 </xs:extension> 686 </xs:extension> 724 </xs:complexContent> 687 </xs:complexContent> 725 </xs:complexType> 688 </xs:complexType> 726 </xs:element> 689 </xs:element> 727 <!-- +++++++++++++++++++++++++++++++++++++++ 690 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> 728 691 729 <xs:element name="polyhedra" substitutionGro 692 <xs:element name="polyhedra" substitutionGroup="Solid"> 730 <xs:annotation> 693 <xs:annotation> 731 <xs:documentation>Polyhedra is described 694 <xs:documentation>Polyhedra is described by 732 startphi initial phi starting angle 695 startphi initial phi starting angle 733 totalphi total phi angle 696 totalphi total phi angle 734 numsides number sides 697 numsides number sides 735 and a set of zplanes.</xs:documentation> 698 and a set of zplanes.</xs:documentation> 736 </xs:annotation> 699 </xs:annotation> 737 <xs:complexType> 700 <xs:complexType> 738 <xs:complexContent> 701 <xs:complexContent> 739 <xs:extension base="SolidType"> 702 <xs:extension base="SolidType"> 740 <xs:sequence> 703 <xs:sequence> 741 <xs:element name="zplane" minOccurs="1" 704 <xs:element name="zplane" minOccurs="1" maxOccurs="unbounded" type="ZPlaneType"/> 742 </xs:sequence> 705 </xs:sequence> 743 706 744 <xs:attribute name="startphi" type="Expres 707 <xs:attribute name="startphi" type="ExpressionOrIDREFType" use="required"></xs:attribute> 745 <xs:attribute name="deltaphi" type="Expres 708 <xs:attribute name="deltaphi" type="ExpressionOrIDREFType" use="required"></xs:attribute> 746 <xs:attribute name="numsides" type="Expres 709 <xs:attribute name="numsides" type="ExpressionOrIDREFType" use="required"></xs:attribute> 747 </xs:extension> 710 </xs:extension> 748 </xs:complexContent> 711 </xs:complexContent> 749 </xs:complexType> 712 </xs:complexType> 750 </xs:element> 713 </xs:element> 751 <!-- +++++++++++++++++++++++++++++++++++++++ 714 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> 752 715 753 <xs:element name="genericPolyhedra" substitu 716 <xs:element name="genericPolyhedra" substitutionGroup="Solid"> 754 <xs:annotation> 717 <xs:annotation> 755 <xs:documentation>Polyhedra is described 718 <xs:documentation>Polyhedra is described by 756 startphi initial phi starting angle 719 startphi initial phi starting angle 757 totalphi total phi angle 720 totalphi total phi angle 758 numsides number sides 721 numsides number sides 759 and a set of points with (r,z) coordinates.< 722 and a set of points with (r,z) coordinates.</xs:documentation> 760 </xs:annotation> 723 </xs:annotation> 761 <xs:complexType> 724 <xs:complexType> 762 <xs:complexContent> 725 <xs:complexContent> 763 <xs:extension base="SolidType"> 726 <xs:extension base="SolidType"> 764 <xs:sequence> 727 <xs:sequence> 765 <xs:element name="rzpoint" minOccurs="3" 728 <xs:element name="rzpoint" minOccurs="3" maxOccurs="unbounded" type="RZPointType"/> 766 </xs:sequence> 729 </xs:sequence> 767 730 768 <xs:attribute name="startphi" type="Expres 731 <xs:attribute name="startphi" type="ExpressionOrIDREFType" use="required"></xs:attribute> 769 <xs:attribute name="deltaphi" type="Expres 732 <xs:attribute name="deltaphi" type="ExpressionOrIDREFType" use="required"></xs:attribute> 770 <xs:attribute name="numsides" type="Expres 733 <xs:attribute name="numsides" type="ExpressionOrIDREFType" use="required"></xs:attribute> 771 </xs:extension> 734 </xs:extension> 772 </xs:complexContent> 735 </xs:complexContent> 773 </xs:complexType> 736 </xs:complexType> 774 </xs:element> 737 </xs:element> 775 <!-- +++++++++++++++++++++++++++++++++++++++ 738 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> 776 739 777 <xs:complexType name="TwoDimVertexType"> 740 <xs:complexType name="TwoDimVertexType"> 778 <xs:attribute name="x" type="ExpressionOrI 741 <xs:attribute name="x" type="ExpressionOrIDREFType" use="required"></xs:attribute> 779 <xs:attribute name="y" type="ExpressionOrI 742 <xs:attribute name="y" type="ExpressionOrIDREFType" use="required"></xs:attribute> 780 </xs:complexType> 743 </xs:complexType> 781 744 782 <!-- +++++++++++++++++++++++++++++++++++++++ 745 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> 783 746 784 <xs:complexType name="SectionType"> 747 <xs:complexType name="SectionType"> 785 <xs:attribute name="zOrder" type="Expressi 748 <xs:attribute name="zOrder" type="ExpressionOrIDREFType" use="required"></xs:attribute> 786 <xs:attribute name="zPosition" type="Expre 749 <xs:attribute name="zPosition" type="ExpressionOrIDREFType" use="required"></xs:attribute> 787 <xs:attribute name="xOffset" type="Express 750 <xs:attribute name="xOffset" type="ExpressionOrIDREFType" use="required"></xs:attribute> 788 <xs:attribute name="yOffset" type="Express 751 <xs:attribute name="yOffset" type="ExpressionOrIDREFType" use="required"></xs:attribute> 789 <xs:attribute name="scalingFactor" type="E 752 <xs:attribute name="scalingFactor" type="ExpressionOrIDREFType" use="required"></xs:attribute> 790 </xs:complexType> 753 </xs:complexType> 791 <!-- +++++++++++++++++++++++++++++++++++++++ 754 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> 792 755 793 <xs:element name="xtru" substitutionGroup="S 756 <xs:element name="xtru" substitutionGroup="Solid"> 794 <xs:annotation> 757 <xs:annotation> 795 <xs:documentation>Poligonal extrusion is 758 <xs:documentation>Poligonal extrusion is described by 796 an unbounded (min. 3) number of vertices of 759 an unbounded (min. 3) number of vertices of the blueprint polygon 797 and an unbounded number of Z sections. 760 and an unbounded number of Z sections. 798 </xs:documentation> 761 </xs:documentation> 799 </xs:annotation> 762 </xs:annotation> 800 <xs:complexType> 763 <xs:complexType> 801 <xs:complexContent> 764 <xs:complexContent> 802 <xs:extension base="SolidType"> 765 <xs:extension base="SolidType"> 803 <xs:sequence> 766 <xs:sequence> 804 <xs:sequence> 767 <xs:sequence> 805 <xs:element name="twoDimVertex" minOcc 768 <xs:element name="twoDimVertex" minOccurs="3" maxOccurs="unbounded" type="TwoDimVertexType"/> 806 </xs:sequence> 769 </xs:sequence> 807 <xs:sequence> 770 <xs:sequence> 808 <xs:element name="section" minOccurs=" 771 <xs:element name="section" minOccurs="2" maxOccurs="unbounded" type="SectionType"/> 809 </xs:sequence> 772 </xs:sequence> 810 </xs:sequence> 773 </xs:sequence> 811 </xs:extension> 774 </xs:extension> 812 </xs:complexContent> 775 </xs:complexContent> 813 </xs:complexType> 776 </xs:complexType> 814 </xs:element> 777 </xs:element> 815 <!-- +++++++++++++++++++++++++++++++++++++++ 778 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> 816 779 817 <xs:element name="hype" substitutionGroup="S 780 <xs:element name="hype" substitutionGroup="Solid"> 818 <xs:annotation> 781 <xs:annotation> 819 <xs:documentation>Tube with hyperbolic p 782 <xs:documentation>Tube with hyperbolic profile described by 820 rmin innerRadius 783 rmin innerRadius 821 rmax outerRadius 784 rmax outerRadius 822 inst innerStereo 785 inst innerStereo 823 outst outerStereo 786 outst outerStereo 824 z z length 787 z z length 825 </xs:documentation> 788 </xs:documentation> 826 </xs:annotation> 789 </xs:annotation> 827 <xs:complexType> 790 <xs:complexType> 828 <xs:complexContent> 791 <xs:complexContent> 829 <xs:extension base="SolidType"> 792 <xs:extension base="SolidType"> 830 <xs:attribute name="rmin" type="Expression 793 <xs:attribute name="rmin" type="ExpressionOrIDREFType" use="required"></xs:attribute> 831 <xs:attribute name="rmax" type="Expression 794 <xs:attribute name="rmax" type="ExpressionOrIDREFType" use="required"></xs:attribute> 832 <xs:attribute name="inst" type="Expression 795 <xs:attribute name="inst" type="ExpressionOrIDREFType" use="required"></xs:attribute> 833 <xs:attribute name="outst" type="Expressio 796 <xs:attribute name="outst" type="ExpressionOrIDREFType" use="required"></xs:attribute> 834 <xs:attribute name="z" type="ExpressionOrI 797 <xs:attribute name="z" type="ExpressionOrIDREFType" use="required"></xs:attribute> 835 </xs:extension> 798 </xs:extension> 836 </xs:complexContent> 799 </xs:complexContent> 837 </xs:complexType> 800 </xs:complexType> 838 </xs:element> 801 </xs:element> 839 <!-- +++++++++++++++++++++++++++++++++++++++ 802 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> 840 803 841 <xs:element name="eltube" substitutionGroup= 804 <xs:element name="eltube" substitutionGroup="Solid"> 842 <xs:annotation> 805 <xs:annotation> 843 <xs:documentation> 806 <xs:documentation> 844 Volume representing a tube with elliptical 807 Volume representing a tube with elliptical 845 cross section. 808 cross section. 846 </xs:documentation> 809 </xs:documentation> 847 </xs:annotation> 810 </xs:annotation> 848 <xs:complexType> 811 <xs:complexType> 849 <xs:complexContent> 812 <xs:complexContent> 850 <xs:extension base="SolidType"> 813 <xs:extension base="SolidType"> 851 <xs:attribute name="dx" type="ExpressionOr 814 <xs:attribute name="dx" type="ExpressionOrIDREFType" use="required"></xs:attribute> 852 <xs:attribute name="dy" type="ExpressionOr 815 <xs:attribute name="dy" type="ExpressionOrIDREFType" use="required"></xs:attribute> 853 <xs:attribute name="dz" type="ExpressionOr 816 <xs:attribute name="dz" type="ExpressionOrIDREFType" use="required"></xs:attribute> 854 </xs:extension> 817 </xs:extension> 855 </xs:complexContent> 818 </xs:complexContent> 856 </xs:complexType> 819 </xs:complexType> 857 </xs:element> 820 </xs:element> 858 <!-- +++++++++++++++++++++++++++++++++++++++ 821 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> 859 822 860 <xs:element name="tet" substitutionGroup="So 823 <xs:element name="tet" substitutionGroup="Solid"> 861 <xs:annotation> 824 <xs:annotation> 862 <xs:documentation> 825 <xs:documentation> 863 Volume representing a tetrahedron. 826 Volume representing a tetrahedron. 864 </xs:documentation> 827 </xs:documentation> 865 </xs:annotation> 828 </xs:annotation> 866 <xs:complexType> 829 <xs:complexType> 867 <xs:complexContent> 830 <xs:complexContent> 868 <xs:extension base="SolidType"> 831 <xs:extension base="SolidType"> 869 <xs:attribute name="vertex1" type="Expressi 832 <xs:attribute name="vertex1" type="ExpressionOrIDREFType" use="required"></xs:attribute> 870 <xs:attribute name="vertex2" type="Expressi 833 <xs:attribute name="vertex2" type="ExpressionOrIDREFType" use="required"></xs:attribute> 871 <xs:attribute name="vertex3" type="Expressi 834 <xs:attribute name="vertex3" type="ExpressionOrIDREFType" use="required"></xs:attribute> 872 <xs:attribute name="vertex4" type="Expressi 835 <xs:attribute name="vertex4" type="ExpressionOrIDREFType" use="required"></xs:attribute> 873 </xs:extension> 836 </xs:extension> 874 </xs:complexContent> 837 </xs:complexContent> 875 </xs:complexType> 838 </xs:complexType> 876 </xs:element> 839 </xs:element> 877 <!-- +++++++++++++++++++++++++++++++++++++++ 840 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> 878 841 879 <xs:element name="arb8" substitutionGroup="S 842 <xs:element name="arb8" substitutionGroup="Solid"> 880 <xs:annotation> 843 <xs:annotation> 881 <xs:documentation> 844 <xs:documentation> 882 Volume representing an (almost)arbitrary 8 v 845 Volume representing an (almost)arbitrary 8 vertices solid. 883 The solid is defined by two quadrilaterals s 846 The solid is defined by two quadrilaterals sitting on parallel planes, 884 the distance between these two planes is dz* 847 the distance between these two planes is dz*2. 885 The base quadrilateral contained within the 848 The base quadrilateral contained within the plane located at -dz is defined by 886 the first 4 vertices (v1,v2,v3,v4 each one w 849 the first 4 vertices (v1,v2,v3,v4 each one with the x and y coordinates). 887 The other parallel quadrilateral contained w 850 The other parallel quadrilateral contained within the plane at +dz is defined by 888 the other 4 vertices (v5,v6,v7,v8 each one w 851 the other 4 vertices (v5,v6,v7,v8 each one with the x and y coordinates). 889 </xs:documentation> 852 </xs:documentation> 890 </xs:annotation> 853 </xs:annotation> 891 <xs:complexType> 854 <xs:complexType> 892 <xs:complexContent> 855 <xs:complexContent> 893 <xs:extension base="SolidType"> 856 <xs:extension base="SolidType"> 894 <xs:attribute name="v1x" type="ExpressionOr 857 <xs:attribute name="v1x" type="ExpressionOrIDREFType" use="required"></xs:attribute> 895 <xs:attribute name="v1y" type="ExpressionOr 858 <xs:attribute name="v1y" type="ExpressionOrIDREFType" use="required"></xs:attribute> 896 <xs:attribute name="v2x" type="ExpressionOr 859 <xs:attribute name="v2x" type="ExpressionOrIDREFType" use="required"></xs:attribute> 897 <xs:attribute name="v2y" type="ExpressionOr 860 <xs:attribute name="v2y" type="ExpressionOrIDREFType" use="required"></xs:attribute> 898 <xs:attribute name="v3x" type="ExpressionOr 861 <xs:attribute name="v3x" type="ExpressionOrIDREFType" use="required"></xs:attribute> 899 <xs:attribute name="v3y" type="ExpressionOr 862 <xs:attribute name="v3y" type="ExpressionOrIDREFType" use="required"></xs:attribute> 900 <xs:attribute name="v4x" type="ExpressionOr 863 <xs:attribute name="v4x" type="ExpressionOrIDREFType" use="required"></xs:attribute> 901 <xs:attribute name="v4y" type="ExpressionOr 864 <xs:attribute name="v4y" type="ExpressionOrIDREFType" use="required"></xs:attribute> 902 <xs:attribute name="v5x" type="ExpressionOr 865 <xs:attribute name="v5x" type="ExpressionOrIDREFType" use="required"></xs:attribute> 903 <xs:attribute name="v5y" type="ExpressionOr 866 <xs:attribute name="v5y" type="ExpressionOrIDREFType" use="required"></xs:attribute> 904 <xs:attribute name="v6x" type="ExpressionOr 867 <xs:attribute name="v6x" type="ExpressionOrIDREFType" use="required"></xs:attribute> 905 <xs:attribute name="v6y" type="ExpressionOr 868 <xs:attribute name="v6y" type="ExpressionOrIDREFType" use="required"></xs:attribute> 906 <xs:attribute name="v7x" type="ExpressionOr 869 <xs:attribute name="v7x" type="ExpressionOrIDREFType" use="required"></xs:attribute> 907 <xs:attribute name="v7y" type="ExpressionOr 870 <xs:attribute name="v7y" type="ExpressionOrIDREFType" use="required"></xs:attribute> 908 <xs:attribute name="v8x" type="ExpressionOr 871 <xs:attribute name="v8x" type="ExpressionOrIDREFType" use="required"></xs:attribute> 909 <xs:attribute name="v8y" type="ExpressionOr 872 <xs:attribute name="v8y" type="ExpressionOrIDREFType" use="required"></xs:attribute> 910 <xs:attribute name="dz" type="ExpressionOrI 873 <xs:attribute name="dz" type="ExpressionOrIDREFType" use="required"></xs:attribute> 911 </xs:extension> 874 </xs:extension> 912 </xs:complexContent> 875 </xs:complexContent> 913 </xs:complexType> 876 </xs:complexType> 914 </xs:element> 877 </xs:element> 915 <!-- +++++++++++++++++++++++++++++++++++++++ 878 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> 916 879 917 <!-- Tessellated solid elements --> 880 <!-- Tessellated solid elements --> 918 881 919 <!-- +++++++++++++++++++++++++++++++++++++++ 882 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> 920 883 921 <xs:complexType name="FacetType"> 884 <xs:complexType name="FacetType"> 922 <xs:annotation> 885 <xs:annotation> 923 <xs:documentation>Base facet type</xs:do 886 <xs:documentation>Base facet type</xs:documentation> 924 </xs:annotation> 887 </xs:annotation> 925 </xs:complexType> 888 </xs:complexType> 926 <!-- +++++++++++++++++++++++++++++++++++++++ 889 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> 927 890 928 <xs:element abstract="true" name="Facet" typ 891 <xs:element abstract="true" name="Facet" type="FacetType"> 929 <xs:annotation> 892 <xs:annotation> 930 <xs:documentation>Abstract element for a 893 <xs:documentation>Abstract element for all facets substitution group</xs:documentation> 931 </xs:annotation> 894 </xs:annotation> 932 </xs:element> 895 </xs:element> 933 <!-- +++++++++++++++++++++++++++++++++++++++ 896 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> 934 897 935 <xs:element name="triangular" substitutionGr 898 <xs:element name="triangular" substitutionGroup="Facet"> 936 <xs:annotation> 899 <xs:annotation> 937 <xs:documentation> 900 <xs:documentation> 938 Triangular facet. 901 Triangular facet. 939 </xs:documentation> 902 </xs:documentation> 940 </xs:annotation> 903 </xs:annotation> 941 <xs:complexType> 904 <xs:complexType> 942 <xs:complexContent> 905 <xs:complexContent> 943 <xs:extension base="FacetType"> 906 <xs:extension base="FacetType"> 944 <xs:attribute name="vertex1" type="Expressio 907 <xs:attribute name="vertex1" type="ExpressionOrIDREFType" use="required"></xs:attribute> 945 <xs:attribute name="vertex2" type="Expressio 908 <xs:attribute name="vertex2" type="ExpressionOrIDREFType" use="required"></xs:attribute> 946 <xs:attribute name="vertex3" type="Expressio 909 <xs:attribute name="vertex3" type="ExpressionOrIDREFType" use="required"></xs:attribute> 947 <xs:attribute name="type" type="xs:string" d 910 <xs:attribute name="type" type="xs:string" default="ABSOLUTE"></xs:attribute> 948 </xs:extension> 911 </xs:extension> 949 </xs:complexContent> 912 </xs:complexContent> 950 </xs:complexType> 913 </xs:complexType> 951 </xs:element> 914 </xs:element> 952 915 953 <!-- +++++++++++++++++++++++++++++++++++++++ 916 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> 954 917 955 <xs:element name="quadrangular" substitution 918 <xs:element name="quadrangular" substitutionGroup="Facet"> 956 <xs:annotation> 919 <xs:annotation> 957 <xs:documentation> 920 <xs:documentation> 958 Quadrangular facet. 921 Quadrangular facet. 959 </xs:documentation> 922 </xs:documentation> 960 </xs:annotation> 923 </xs:annotation> 961 <xs:complexType> 924 <xs:complexType> 962 <xs:complexContent> 925 <xs:complexContent> 963 <xs:extension base="FacetType"> 926 <xs:extension base="FacetType"> 964 <xs:attribute name="vertex1" type="Expressio 927 <xs:attribute name="vertex1" type="ExpressionOrIDREFType" use="required"></xs:attribute> 965 <xs:attribute name="vertex2" type="Expressio 928 <xs:attribute name="vertex2" type="ExpressionOrIDREFType" use="required"></xs:attribute> 966 <xs:attribute name="vertex3" type="Expressio 929 <xs:attribute name="vertex3" type="ExpressionOrIDREFType" use="required"></xs:attribute> 967 <xs:attribute name="vertex4" type="Expressio 930 <xs:attribute name="vertex4" type="ExpressionOrIDREFType" use="required"></xs:attribute> 968 <xs:attribute name="type" type="xs:string" d 931 <xs:attribute name="type" type="xs:string" default="ABSOLUTE"></xs:attribute> 969 </xs:extension> 932 </xs:extension> 970 </xs:complexContent> 933 </xs:complexContent> 971 </xs:complexType> 934 </xs:complexType> 972 </xs:element> 935 </xs:element> 973 <!-- +++++++++++++++++++++++++++++++++++++++ 936 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> 974 937 975 <xs:element name="tessellated" substitutionG 938 <xs:element name="tessellated" substitutionGroup="Solid"> 976 <xs:annotation> 939 <xs:annotation> 977 <xs:documentation>Tessellated solid 940 <xs:documentation>Tessellated solid 978 </xs:documentation> 941 </xs:documentation> 979 </xs:annotation> 942 </xs:annotation> 980 <xs:complexType> 943 <xs:complexType> 981 <xs:complexContent> 944 <xs:complexContent> 982 <xs:extension base="SolidType"> 945 <xs:extension base="SolidType"> 983 <xs:sequence> 946 <xs:sequence> 984 <xs:element minOccurs="1" maxOccurs="unb << 947 <xs:element name="Facet" minOccurs="1" maxOccurs="unbounded" type="FacetType"/> 985 </xs:sequence> 948 </xs:sequence> 986 </xs:extension> 949 </xs:extension> 987 </xs:complexContent> 950 </xs:complexContent> 988 </xs:complexType> 951 </xs:complexType> 989 </xs:element> 952 </xs:element> 990 <!-- +++++++++++++++++++++++++++++++++++++++ << 953 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> 991 << 954 992 <xs:element name="opticalsurface" substituti 955 <xs:element name="opticalsurface" substitutionGroup="SurfaceProperty"> 993 <xs:annotation> 956 <xs:annotation> 994 <xs:documentation>Optical surface used b 957 <xs:documentation>Optical surface used by Geant4 optical processes</xs:documentation> 995 </xs:annotation> 958 </xs:annotation> 996 <xs:complexType> 959 <xs:complexType> 997 <xs:complexContent> 960 <xs:complexContent> 998 <xs:extension base="SurfacePropertyType"> 961 <xs:extension base="SurfacePropertyType"> 999 <xs:attribute name="model" type="xs:string 962 <xs:attribute name="model" type="xs:string" default="glisur"></xs:attribute> 1000 <xs:attribute name="finish" type="xs:stri 963 <xs:attribute name="finish" type="xs:string" default="polished"></xs:attribute> 1001 <xs:attribute name="value" type="xs:strin 964 <xs:attribute name="value" type="xs:string" default="1.0"></xs:attribute> 1002 </xs:extension> 965 </xs:extension> 1003 </xs:complexContent> 966 </xs:complexContent> 1004 </xs:complexType> 967 </xs:complexType> 1005 </xs:element> 968 </xs:element> 1006 <!-- ++++++++++++++++++++++++++++++++++++++ 969 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> 1007 970 1008 </xs:schema> 971 </xs:schema>