Geant4 Cross Reference |
1 <?xml version="1.0" encoding="UTF-8"?> 2 <!DOCTYPE xs:schema []> 3 <xs:schema attributeFormDefault="unqualified" 4 <xs:include schemaLocation="gdml_core.xsd">< 5 <xs:include schemaLocation="gdml_define.xsd" 6 <xs:include schemaLocation="gdml_extensions. 7 <!-- +++++++++++++++++++++++++++++++++++++++ 8 9 <xs:complexType name="SolidType"> 10 <xs:annotation> 11 <xs:documentation>Base solid type</xs:do 12 </xs:annotation> 13 <xs:attribute default="mm" name="lunit" ty 14 <xs:annotation> 15 <xs:documentation>Length unit of all dimensi 16 </xs:annotation> 17 </xs:attribute> 18 <xs:attribute default="radian" name="aunit 19 <xs:annotation> 20 <xs:documentation>Angle unit of angles used 21 </xs:annotation> 22 </xs:attribute> 23 <xs:attribute name="name" type="xs:ID" use 24 </xs:complexType> 25 <!-- +++++++++++++++++++++++++++++++++++++++ 26 27 <xs:complexType name="BooleanSolidType"> 28 <xs:annotation> 29 <xs:documentation>Base type for boolean 30 </xs:annotation> 31 <xs:complexContent> 32 <xs:extension base="SolidType"> 33 <xs:sequence> 34 <xs:element name="first" type="ReferenceTy 35 <xs:element name="second" type="ReferenceT 36 <xs:choice minOccurs="0"> 37 <xs:element name="position" type="positi 38 <xs:element name="positionref" type="Ref 39 </xs:choice> 40 <xs:choice minOccurs="0"> 41 <xs:element name="rotation" type="rotati 42 <xs:element name="rotationref" type="Ref 43 </xs:choice> 44 <xs:choice minOccurs="0"> 45 <xs:element name="firstposition" type="p 46 <xs:element name="firstpositionref" type 47 </xs:choice> 48 <xs:choice minOccurs="0"> 49 <xs:element name="firstrotation" type="r 50 <xs:element name="firstrotationref" type 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-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 100 <xs:annotation> 101 <xs:documentation>Reflected solid: 102 sx, sy, sz are scale components (conta 103 rx, ry, rz are rotation angles around 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="Expressio 111 <xs:attribute default="1.0" name="sx" type 112 <xs:attribute default="1.0" name="sy" type 113 <xs:attribute default="1.0" name="sz" type 114 <xs:attribute default="0.0" name="rx" type 115 <xs:attribute default="0.0" name="ry" type 116 <xs:attribute default="0.0" name="rz" type 117 <xs:attribute default="0.0" name="dx" type 118 <xs:attribute default="0.0" name="dy" type 119 <xs:attribute default="0.0" name="dz" type 120 </xs:extension> 121 </xs:complexContent> 122 </xs:complexType> 123 </xs:element> 124 <!-- +++++++++++++++++++++++++++++++++++++++ 125 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"> 173 <xs:annotation> 174 <xs:documentation>Base surface type</xs: 175 </xs:annotation> 176 <xs:group ref="OpticalSurfacePropertiesGro 177 <xs:attribute name="name" type="xs:ID" use 178 <xs:attribute name="type" type="xs:string" 179 </xs:complexType> 180 <!-- +++++++++++++++++++++++++++++++++++++++ 181 182 <xs:element abstract="true" name="Solid" typ 183 <xs:annotation> 184 <xs:documentation>Abstract element for a 185 </xs:annotation> 186 </xs:element> 187 <!-- +++++++++++++++++++++++++++++++++++++++ 188 189 <xs:element abstract="true" name="SurfacePro 190 <xs:annotation> 191 <xs:documentation>Abstract element for s 192 </xs:annotation> 193 </xs:element> 194 <!-- +++++++++++++++++++++++++++++++++++++++ 195 196 <xs:element name="solids"> 197 <xs:annotation> 198 <xs:documentation>Solids definitions blo 199 </xs:annotation> 200 <xs:complexType> 201 <xs:choice maxOccurs="unbounded"> 202 <xs:element minOccurs="0" name="define" type 203 <xs:annotation> 204 <xs:documentation>Definitions of constan 205 dimensions and transformations 206 In this version these become par 207 </xs:annotation> 208 </xs:element> 209 <xs:element maxOccurs="unbounded" ref="Solid 210 <xs:element minOccurs="0" maxOccurs="unbound 211 <xs:element maxOccurs="unbounded" minOccurs= 212 </xs:choice> 213 </xs:complexType> 214 </xs:element> 215 <!-- +++++++++++++++++++++++++++++++++++++++ 216 217 <xs:element name="union" substitutionGroup=" 218 <xs:annotation> 219 <xs:documentation>Exported boolean union 220 </xs:annotation> 221 </xs:element> 222 <!-- +++++++++++++++++++++++++++++++++++++++ 223 224 <xs:element name="subtraction" substitutionG 225 <xs:annotation> 226 <xs:documentation>Exported boolean subtr 227 </xs:annotation> 228 </xs:element> 229 <!-- +++++++++++++++++++++++++++++++++++++++ 230 231 <xs:element name="intersection" substitution 232 <xs:annotation> 233 <xs:documentation>Exported boolean inter 234 </xs:annotation> 235 </xs:element> 236 <!-- +++++++++++++++++++++++++++++++++++++++ 237 238 <xs:element name="box" substitutionGroup="So 239 <xs:annotation> 240 <xs:documentation>CSG box solid describe 241 </xs:annotation> 242 <xs:complexType> 243 <xs:complexContent> 244 <xs:extension base="SolidType"> 245 <xs:attribute name="x" type="ExpressionOrI 246 <xs:attribute name="y" type="ExpressionOrI 247 <xs:attribute name="z" type="ExpressionOrI 248 </xs:extension> 249 </xs:complexContent> 250 </xs:complexType> 251 </xs:element> 252 <!-- +++++++++++++++++++++++++++++++++++++++++ 253 254 <xs:element name="twistedbox" substitutionGr 255 <xs:annotation> 256 <xs:documentation>CSG twisted box solid 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="ExpressionOrI 266 <xs:attribute name="y" type="ExpressionOrI 267 <xs:attribute name="z" type="ExpressionOrI 268 <xs:attribute name="PhiTwist" type="Expres 269 </xs:extension> 270 </xs:complexContent> 271 </xs:complexType> 272 </xs:element> 273 <!-- +++++++++++++++++++++++++++++++++++++++ 274 275 <xs:element name="twistedtrap" substitutionG 276 <xs:annotation> 277 <xs:documentation>general twisted trapez 278 not necessarily on a line paralell to th 279 PhiTwist Twist Angle 280 z length along the z-axis 281 Theta Polar angle of the line joining the c 282 Phi Azimuthal angle of the line joing the 283 y1 length along y of the face at -z 284 x1 length along x of the side at y=-y 285 x2 length along x of the side at y=+y1 of 286 y2 length along y of the face at +z 287 x3 length along x of the side at y=-y2 of 288 x4 length along x of the side at y=+y2 of 289 Alph Angle with respect to the y axis from 290 </xs:annotation> 291 <xs:complexType> 292 <xs:complexContent> 293 <xs:extension base="SolidType"> 294 <xs:attribute name="PhiTwist" type=" 295 <xs:attribute name="z" type="ExpressionOrI 296 <xs:attribute name="Theta" type="Expressio 297 <xs:attribute name="Phi" type="ExpressionO 298 <xs:attribute name="y1" type="ExpressionOr 299 <xs:attribute name="x1" type="ExpressionOr 300 <xs:attribute name="y2" type="ExpressionOr 301 <xs:attribute name="x2" type="ExpressionOr 302 <xs:attribute name="x3" type="ExpressionOr 303 <xs:attribute name="x4" type="ExpressionOr 304 <xs:attribute name="Alph" type="Expr 305 </xs:extension> 306 </xs:complexContent> 307 </xs:complexType> 308 </xs:element> 309 <!-- +++++++++++++++++++++++++++++++++++++++ 310 311 <xs:element name="twistedtrd" substitutionGr 312 <xs:annotation> 313 <xs:documentation>different length axis 314 not necessarily on a line paralell to th 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=-y 319 x2 length along x of the side at y=+y1 of 320 y2 length along y of the face at +z </xs: 321 </xs:annotation> 322 <xs:complexType> 323 <xs:complexContent> 324 <xs:extension base="SolidType"> 325 <xs:attribute name="PhiTwist" type=" 326 <xs:attribute name="z" type="ExpressionOrI 327 <xs:attribute name="y1" type="ExpressionOr 328 <xs:attribute name="x1" type="ExpressionOr 329 <xs:attribute name="y2" type="ExpressionOr 330 <xs:attribute name="x2" type="ExpressionOr 331 </xs:extension> 332 </xs:complexContent> 333 </xs:complexType> 334 </xs:element> 335 <!-- +++++++++++++++++++++++++++++++++++++++ 336 337 <xs:element name="paraboloid" substitutionGr 338 <xs:annotation> 339 <xs:documentation>CSG paraboloid defined 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="ExpressionO 349 <xs:attribute name="rhi" type="ExpressionO 350 <xs:attribute name="dz" type="ExpressionOr 351 </xs:extension> 352 </xs:complexContent> 353 </xs:complexType> 354 </xs:element> 355 <!-- +++++++++++++++++++++++++++++++++++++++ 356 357 <xs:element name="sphere" substitutionGroup= 358 <xs:annotation> 359 <xs:documentation>CSG sphere or spherica 360 rmin inner radius 361 rmax outer radius 362 startphi starting angle of the segm 363 deltaphi delta angle of the segment 364 starttheta starting angle of the segm 365 deltatheta delta angle of the segment 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" ty 372 <xs:attribute name="rmax" type="Expression 373 <xs:attribute default="0.0" name="startphi 374 <xs:attribute name="deltaphi" type="Expres 375 <xs:attribute default="0.0" name="startthe 376 <xs:attribute name="deltatheta" type="Expr 377 </xs:extension> 378 </xs:complexContent> 379 </xs:complexType> 380 </xs:element> 381 <!-- +++++++++++++++++++++++++++++++++++++++ 382 383 <xs:element name="ellipsoid" substitutionGro 384 <xs:annotation> 385 <xs:documentation>CSG ellispoid or ellip 386 ax x semiaxis 387 by y semiaxis 388 cz z semiaxis 389 zcut1 bottom plane cutting ellips 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="ExpressionOr 397 <xs:attribute name="by" type="ExpressionOr 398 <xs:attribute name="cz" type="ExpressionOr 399 <xs:attribute default="-1000000.0" name="z 400 <xs:attribute default="1000000.0" name="zc 401 </xs:extension> 402 </xs:complexContent> 403 </xs:complexType> 404 </xs:element> 405 <!-- +++++++++++++++++++++++++++++++++++++++ 406 407 <xs:element name="tube" substitutionGroup="S 408 <xs:annotation> 409 <xs:documentation>CSG tube or tube segem 410 rmin Inner radius 411 rmax Outer radius 412 z length in z 413 startphi The starting phi angle in ra 414 (startphi+deltaphi <= 2PI, startphi 415 deltaphi Delta angle of the segment i 416 </xs:annotation> 417 <xs:complexType> 418 <xs:complexContent> 419 <xs:extension base="SolidType"> 420 <xs:attribute name="z" type="ExpressionOrI 421 <xs:attribute default="0.0" name="rmin" ty 422 <xs:attribute name="rmax" type="Expression 423 <xs:attribute default="0.0" name="startphi 424 <xs:attribute name="deltaphi" type="Expres 425 </xs:extension> 426 </xs:complexContent> 427 </xs:complexType> 428 </xs:element> 429 <!-- ++++++++++++++++++++++++++++++++++++++++ 430 431 <xs:element name="twistedtubs" substitutionG 432 <xs:annotation> 433 <xs:documentation>CSG twisted tube segme 434 twistedangle twist angle (constructors 1,2, 435 endinnerrad inside radius at end of segment 436 endouterrad outside radius at end of segment 437 midinnerrad inner radius at z=0 (c 438 midouterrad outer radius at z=0 (c 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> 446 <xs:complexType> 447 <xs:complexContent> 448 <xs:extension base="SolidType"> 449 <xs:attribute name="twistedangle" type="Ex 450 <xs:attribute default="0.0" name="endinner 451 <xs:attribute default="0.0" name="endouter 452 <xs:attribute default="0.0" name="midinner 453 <xs:attribute default="0.0" name="midouter 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> 461 </xs:complexContent> 462 </xs:complexType> 463 </xs:element> 464 <!-- +++++++++++++++++++++++++++++++++++++++ 465 466 <xs:element name="cutTube" substitutionGroup 467 <xs:annotation> 468 <xs:documentation>CSG cut tube or cut tu 469 rmin Inner radius 470 rmax Outer radius 471 z length in z 472 startphi The starting p 473 deltaphi Delta angle of 474 lowX, lowY, lowZ Normal at lower Z pl 475 highX, highY, highZ Normal at higher Z p 476 </xs:documentation> 477 </xs:annotation> 478 <xs:complexType> 479 <xs:complexContent> 480 <xs:extension base="SolidType"> 481 <xs:attribute name="z" type="ExpressionOrI 482 <xs:attribute default="0.0" name="rmin" ty 483 <xs:attribute name="rmax" type="Expression 484 <xs:attribute default="0.0" name="startphi 485 <xs:attribute name="deltaphi" type="Expres 486 <xs:attribute name="lowX" type="Expression 487 <xs:attribute name="lowY" type="Expression 488 <xs:attribute name="lowZ" type="Expression 489 <xs:attribute name="highX" type="Expressio 490 <xs:attribute name="highY" type="Expressio 491 <xs:attribute name="highZ" type="Expressio 492 </xs:extension> 493 </xs:complexContent> 494 </xs:complexType> 495 </xs:element> 496 <!-- +++++++++++++++++++++++++++++++++++++++ 497 498 <xs:element name="cone" substitutionGroup="S 499 <xs:annotation> 500 <xs:documentation>CSG cone or cone segme 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 507 deltaphi delta angle of the segment in 508 </xs:annotation> 509 <xs:complexType> 510 <xs:complexContent> 511 <xs:extension base="SolidType"> 512 <xs:attribute name="z" type="ExpressionOrI 513 <xs:attribute default="0.0" name="rmin1" t 514 <xs:attribute default="0.0" name="rmin2" t 515 <xs:attribute name="rmax1" type="Expressio 516 <xs:attribute name="rmax2" type="Expressio 517 <xs:attribute default="0.0" name="startphi 518 <xs:attribute name="deltaphi" type="Expres 519 </xs:extension> 520 </xs:complexContent> 521 </xs:complexType> 522 </xs:element> 523 <!-- +++++++++++++++++++++++++++++++++++++++ 524 525 <xs:element name="elcone" substitutionGroup= 526 <xs:annotation> 527 <xs:documentation>CSG cone with ellipti 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="ExpressionOr 538 <xs:attribute name="dy" type="ExpressionOr 539 <xs:attribute name="zmax" type="Expression 540 <xs:attribute name="zcut" type="Expression 541 </xs:extension> 542 </xs:complexContent> 543 </xs:complexType> 544 </xs:element> 545 <!-- +++++++++++++++++++++++++++++++++++++++ 546 547 <xs:element name="polycone" substitutionGrou 548 <xs:annotation> 549 <xs:documentation>CSG polycone or polyco 550 startphi starting angle of the segment 551 deltaphi delta angle of the segment in 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" 564 </xs:sequence> 565 <xs:attribute name="deltaphi" type="Expres 566 <xs:attribute default="0.0" name="startphi 567 </xs:extension> 568 </xs:complexContent> 569 </xs:complexType> 570 </xs:element> 571 <!-- +++++++++++++ --> 572 <xs:complexType name="ZPlaneType"> 573 <xs:attribute name="z" type="ExpressionOrI 574 <xs:attribute default="0.0" name="rmin" ty 575 <xs:attribute name="rmax" type="Expression 576 </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 <!-- +++++++++++++++++++++++++++++++++++++++ 607 608 <xs:element name="para" substitutionGroup="S 609 <xs:annotation> 610 <xs:documentation>CSG parallelepiped sol 611 x, y, z length in x,y,z 612 alpha Angle formed by the y axis an 613 G4Parallel to the z-x plane at -y and 614 theta Polar angle of the line joini 615 phi Azimuthal angle of the line j 616 </xs:annotation> 617 <xs:complexType> 618 <xs:complexContent> 619 <xs:extension base="SolidType"> 620 <xs:attribute name="x" type="ExpressionOrI 621 <xs:attribute name="y" type="ExpressionOrI 622 <xs:attribute name="z" type="ExpressionOrI 623 <xs:attribute name="alpha" type="Expressio 624 <xs:attribute name="theta" type="Expressio 625 <xs:attribute name="phi" type="ExpressionO 626 </xs:extension> 627 </xs:complexContent> 628 </xs:complexType> 629 </xs:element> 630 <!-- +++++++++++++++++++++++++++++++++++++++ 631 632 <xs:element name="trd" substitutionGroup="So 633 <xs:annotation> 634 <xs:documentation>CSG trapezoid solid wi 635 x1 Length along x at the surface posit 636 x2 Length along x at the surface posit 637 y1 Length along y at the surface posit 638 y2 Length along y at the surface posit 639 z Length along z axis</xs:documentati 640 </xs:annotation> 641 <xs:complexType> 642 <xs:complexContent> 643 <xs:extension base="SolidType"> 644 <xs:attribute name="x1" type="ExpressionOr 645 <xs:attribute name="x2" type="ExpressionOr 646 <xs:attribute name="y1" type="ExpressionOr 647 <xs:attribute name="y2" type="ExpressionOr 648 <xs:attribute name="z" type="ExpressionOrI 649 </xs:extension> 650 </xs:complexContent> 651 </xs:complexType> 652 </xs:element> 653 <!-- +++++++++++++++++++++++++++++++++++++++ 654 655 <xs:element name="trap" substitutionGroup="S 656 <xs:annotation> 657 <xs:documentation>CSG general trapezoid 658 z Length along the z-axis 659 theta Polar angle of the line joining 660 phi Azimuthal angle of the line joi 661 y1 Length along y of the face at - 662 x1 Length along x of the side at y 663 x2 Length along x of the side at y 664 alp1 Angle with respect to the y axi 665 y2 Length along y of the face at + 666 x3 Length along x of the side at y 667 x4 Length along x of the side at y 668 alp2 Angle with respect to the y axi 669 </xs:annotation> 670 <xs:complexType> 671 <xs:complexContent> 672 <xs:extension base="SolidType"> 673 <xs:attribute name="z" type="ExpressionOrI 674 <xs:attribute name="theta" type="Expressio 675 <xs:attribute name="phi" type="ExpressionO 676 <xs:attribute name="y1" type="ExpressionOr 677 <xs:attribute name="x1" type="ExpressionOr 678 <xs:attribute name="x2" type="ExpressionOr 679 <xs:attribute name="alpha1" type="Expressi 680 <xs:attribute name="y2" type="ExpressionOr 681 <xs:attribute name="x3" type="ExpressionOr 682 <xs:attribute name="x4" type="ExpressionOr 683 <xs:attribute name="alpha2" type="Expressi 684 </xs:extension> 685 </xs:complexContent> 686 </xs:complexType> 687 </xs:element> 688 <!-- +++++++++++++++++++++++++++++++++++++++ 689 690 <xs:element name="torus" substitutionGroup=" 691 <xs:annotation> 692 <xs:documentation>CSG torus solid is des 693 rmin Inside radius 694 rmax Outside radius 695 rtor swept radius of torus 696 startphi The starting phi angle in radians 697 deltaphi Delta angle of the segment in radi 698 </xs:documentation> 699 </xs:annotation> 700 <xs:complexType> 701 <xs:complexContent> 702 <xs:extension base="SolidType"> 703 <xs:attribute name="rmin" type="Expression 704 <xs:attribute name="rmax" type="Expression 705 <xs:attribute name="rtor" type="Expression 706 <xs:attribute name="startphi" type="Expres 707 <xs:attribute name="deltaphi" type="Expres 708 </xs:extension> 709 </xs:complexContent> 710 </xs:complexType> 711 </xs:element> 712 <!-- +++++++++++++++++++++++++++++++++++++++ 713 714 <xs:element name="orb" substitutionGroup="So 715 <xs:annotation> 716 <xs:documentation>CSG orb solid (simplif 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="ExpressionOrI 723 </xs:extension> 724 </xs:complexContent> 725 </xs:complexType> 726 </xs:element> 727 <!-- +++++++++++++++++++++++++++++++++++++++ 728 729 <xs:element name="polyhedra" substitutionGro 730 <xs:annotation> 731 <xs:documentation>Polyhedra is described 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" 742 </xs:sequence> 743 744 <xs:attribute name="startphi" type="Expres 745 <xs:attribute name="deltaphi" type="Expres 746 <xs:attribute name="numsides" type="Expres 747 </xs:extension> 748 </xs:complexContent> 749 </xs:complexType> 750 </xs:element> 751 <!-- +++++++++++++++++++++++++++++++++++++++ 752 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"> 778 <xs:attribute name="x" type="ExpressionOrI 779 <xs:attribute name="y" type="ExpressionOrI 780 </xs:complexType> 781 782 <!-- +++++++++++++++++++++++++++++++++++++++ 783 784 <xs:complexType name="SectionType"> 785 <xs:attribute name="zOrder" type="Expressi 786 <xs:attribute name="zPosition" type="Expre 787 <xs:attribute name="xOffset" type="Express 788 <xs:attribute name="yOffset" type="Express 789 <xs:attribute name="scalingFactor" type="E 790 </xs:complexType> 791 <!-- +++++++++++++++++++++++++++++++++++++++ 792 793 <xs:element name="xtru" substitutionGroup="S 794 <xs:annotation> 795 <xs:documentation>Poligonal extrusion is 796 an unbounded (min. 3) number of vertices of 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" minOcc 806 </xs:sequence> 807 <xs:sequence> 808 <xs:element name="section" minOccurs=" 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="S 818 <xs:annotation> 819 <xs:documentation>Tube with hyperbolic p 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="Expression 831 <xs:attribute name="rmax" type="Expression 832 <xs:attribute name="inst" type="Expression 833 <xs:attribute name="outst" type="Expressio 834 <xs:attribute name="z" type="ExpressionOrI 835 </xs:extension> 836 </xs:complexContent> 837 </xs:complexType> 838 </xs:element> 839 <!-- +++++++++++++++++++++++++++++++++++++++ 840 841 <xs:element name="eltube" substitutionGroup= 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="ExpressionOr 852 <xs:attribute name="dy" type="ExpressionOr 853 <xs:attribute name="dz" type="ExpressionOr 854 </xs:extension> 855 </xs:complexContent> 856 </xs:complexType> 857 </xs:element> 858 <!-- +++++++++++++++++++++++++++++++++++++++ 859 860 <xs:element name="tet" substitutionGroup="So 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="Expressi 870 <xs:attribute name="vertex2" type="Expressi 871 <xs:attribute name="vertex3" type="Expressi 872 <xs:attribute name="vertex4" type="Expressi 873 </xs:extension> 874 </xs:complexContent> 875 </xs:complexType> 876 </xs:element> 877 <!-- +++++++++++++++++++++++++++++++++++++++ 878 879 <xs:element name="arb8" substitutionGroup="S 880 <xs:annotation> 881 <xs:documentation> 882 Volume representing an (almost)arbitrary 8 v 883 The solid is defined by two quadrilaterals s 884 the distance between these two planes is dz* 885 The base quadrilateral contained within the 886 the first 4 vertices (v1,v2,v3,v4 each one w 887 The other parallel quadrilateral contained w 888 the other 4 vertices (v5,v6,v7,v8 each one w 889 </xs:documentation> 890 </xs:annotation> 891 <xs:complexType> 892 <xs:complexContent> 893 <xs:extension base="SolidType"> 894 <xs:attribute name="v1x" type="ExpressionOr 895 <xs:attribute name="v1y" type="ExpressionOr 896 <xs:attribute name="v2x" type="ExpressionOr 897 <xs:attribute name="v2y" type="ExpressionOr 898 <xs:attribute name="v3x" type="ExpressionOr 899 <xs:attribute name="v3y" type="ExpressionOr 900 <xs:attribute name="v4x" type="ExpressionOr 901 <xs:attribute name="v4y" type="ExpressionOr 902 <xs:attribute name="v5x" type="ExpressionOr 903 <xs:attribute name="v5y" type="ExpressionOr 904 <xs:attribute name="v6x" type="ExpressionOr 905 <xs:attribute name="v6y" type="ExpressionOr 906 <xs:attribute name="v7x" type="ExpressionOr 907 <xs:attribute name="v7y" type="ExpressionOr 908 <xs:attribute name="v8x" type="ExpressionOr 909 <xs:attribute name="v8y" type="ExpressionOr 910 <xs:attribute name="dz" type="ExpressionOrI 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:do 924 </xs:annotation> 925 </xs:complexType> 926 <!-- +++++++++++++++++++++++++++++++++++++++ 927 928 <xs:element abstract="true" name="Facet" typ 929 <xs:annotation> 930 <xs:documentation>Abstract element for a 931 </xs:annotation> 932 </xs:element> 933 <!-- +++++++++++++++++++++++++++++++++++++++ 934 935 <xs:element name="triangular" substitutionGr 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="Expressio 945 <xs:attribute name="vertex2" type="Expressio 946 <xs:attribute name="vertex3" type="Expressio 947 <xs:attribute name="type" type="xs:string" d 948 </xs:extension> 949 </xs:complexContent> 950 </xs:complexType> 951 </xs:element> 952 953 <!-- +++++++++++++++++++++++++++++++++++++++ 954 955 <xs:element name="quadrangular" substitution 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="Expressio 965 <xs:attribute name="vertex2" type="Expressio 966 <xs:attribute name="vertex3" type="Expressio 967 <xs:attribute name="vertex4" type="Expressio 968 <xs:attribute name="type" type="xs:string" d 969 </xs:extension> 970 </xs:complexContent> 971 </xs:complexType> 972 </xs:element> 973 <!-- +++++++++++++++++++++++++++++++++++++++ 974 975 <xs:element name="tessellated" substitutionG 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="unb 985 </xs:sequence> 986 </xs:extension> 987 </xs:complexContent> 988 </xs:complexType> 989 </xs:element> 990 <!-- +++++++++++++++++++++++++++++++++++++++ 991 992 <xs:element name="opticalsurface" substituti 993 <xs:annotation> 994 <xs:documentation>Optical surface used b 995 </xs:annotation> 996 <xs:complexType> 997 <xs:complexContent> 998 <xs:extension base="SurfacePropertyType"> 999 <xs:attribute name="model" type="xs:string 1000 <xs:attribute name="finish" type="xs:stri 1001 <xs:attribute name="value" type="xs:strin 1002 </xs:extension> 1003 </xs:complexContent> 1004 </xs:complexType> 1005 </xs:element> 1006 <!-- ++++++++++++++++++++++++++++++++++++++ 1007 1008 </xs:schema>