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