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