Line Code
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88
<?xml version="1.0"?>
<DDDefinition xmlns="http://www.cern.ch/cms/DDL" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.cern.ch/cms/DDL ../../Schema/DDLSchema.xsd">

  <SolidSection label="testSolids.xml">
    <Assembly name="assembly"/>
    <Trapezoid name="trap1" alp1="10*deg" alp2="10*deg" bl1="50*cm" bl2="75*cm" dz="1*m" h1="20*cm" h2="40*cm" phi="30*deg" theta="30*deg" tl1="50*cm" tl2="75*cm"/>
    <Trapezoid name="trap2" alp1="10*deg" alp2="10*deg" bl1="50*cm" bl2="75*cm" dz="1*m" h1="20*cm" h2="40*cm" tl1="50*cm" tl2="75*cm"/>
    <PseudoTrap name="ptrap1" dx1="10" dx2="3" dy1="30" dy2="10" dz="30" radius="10" atMinusZ="false"/>
    <PseudoTrap name="ptrap2" dx1="10" dx2="3" dy1="30" dy2="10" dz="30" radius="10" atMinusZ="true"/>
    <Box name="box1" dx="10*cm" dy="10*cm" dz="10*cm"/>
    <Cone name="cone1" dz="1*m" rMin1="50*cm" rMax1="100*cm" rMin2="75*cm" rMax2="125*cm" startPhi="0*deg" deltaPhi="360*deg"/>
    <Cone name="cone2" dz="1*m" rMin1="50*cm" rMax1="100*cm" rMin2="50*cm" rMax2="100*cm" startPhi="0*deg" deltaPhi="360*deg"/>
    <Cone name="cone2hole" dz="20*cm" rMin1="50*cm" rMax1="100*cm" rMin2="50*cm" rMax2="100*cm" startPhi="0*deg" deltaPhi="20*deg"/>
    <!-- While using this as a test solid I found that there is a 
problem with it.  Can a Polycone come to a point "in the real world?" -->
    <Polycone name="pczsect" startPhi="0*deg" deltaPhi="360*deg">
      <!-- see above comment ZSection z="1*m" rMin="50*cm" rMax="50*cm"/-->
      <ZSection z="1*m" rMin="50*cm" rMax="55*cm"/>
      <ZSection z="1.5*m" rMin="50*cm" rMax="60*cm"/>
      <ZSection z="2*m" rMin="50*cm" rMax="75*cm"/>
    </Polycone>
    <Polycone name="pcrz" startPhi="0*deg" deltaPhi="360*deg">
      <RZPoint r="50*cm" z="1*m"/>
      <RZPoint r="60*cm" z="1.5*m"/>
      <RZPoint r="75*cm" z="2*m"/>
      <RZPoint r="50*cm" z="2*m"/>
    </Polycone>
    <Polyhedra name="phzsect" numSide="18" startPhi="0*deg" deltaPhi="360*deg">
      <ZSection z="1*m" rMin="50*cm" rMax="50*cm"/>
      <ZSection z="1.5*m" rMin="50*cm" rMax="60*cm"/>
      <ZSection z="2*m" rMin="50*cm" rMax="75*cm"/>
    </Polyhedra>
    <Polyhedra name="phrz" numSide="18" startPhi="0*deg" deltaPhi="360*deg">
      <RZPoint r="50*cm" z="1*m"/>
      <RZPoint r="60*cm" z="1.5*m"/>
      <RZPoint r="75*cm" z="2*m"/>
      <RZPoint r="50*cm" z="2*m"/>
    </Polyhedra>
    <ExtrudedPolygon name="extrudedpgon">
      <XYPoint x="-30*cm" y="-30*cm"/>
      <XYPoint x="-30*cm" y=" 30*cm"/>
      <XYPoint x=" 30*cm" y=" 30*cm"/>
      <XYPoint x=" 30*cm" y="-30*cm"/>
      <XYPoint x=" 15*cm" y="-30*cm"/>
      <XYPoint x=" 15*cm" y=" 15*cm"/>
      <XYPoint x="-15*cm" y=" 15*cm"/>
      <XYPoint x="-15*cm" y="-30*cm"/>
      <ZXYSection z="-60*cm" x="0*cm" y="30*cm" scale="0.8"/>
      <ZXYSection z="-15*cm" x="0*cm" y="-30*cm" scale="1."/>
      <ZXYSection z="10*cm" x="0*cm" y="0*cm" scale="0.6"/>
      <ZXYSection z="60*cm" x="0*cm" y="30*cm" scale="1.2"/>
    </ExtrudedPolygon>
    <Trd1 name="trd1" dx1="1*m" dx2="1.3*m" dz="3*m" dy1="30*cm"/>
    <Trd1 name="trd2" dx1="1*m" dx2="1.3*m" dz="3*m" dy1="30*cm" dy2="50*cm"/>
    <Tube name="tube1" rMin="1*m" rMax="1.5*m" dz="1*m"/>
    <Tubs name="tube2" rMin="1*m" rMax="2*m" dz="1*m" startPhi="30*deg" deltaPhi="150*deg"/>
    <CutTubs name="cuttubs" rMin="1*m" rMax="2*m" dz="1*m" startPhi="30*deg" deltaPhi="150*deg" lx="0" ly="-0.7" lz="-0.71" tx="0.7" ty="0" tz="0.71"/>
    <TruncTubs name="trunctubs1" zHalf="50*cm" rMin="20*cm" rMax="40*cm" startPhi="0*deg" deltaPhi="90*deg" cutAtStart="25*cm" cutAtDelta="35*cm" cutInside="true"/>
    <ShapelessSolid name="momma"/>
    <Box name="MotherOfAllBoxes" dx="10*m" dy="10*m" dz="10*m"/>
    <Torus name="torus" innerRadius="7.5*cm" outerRadius="10*cm" torusRadius="30*cm" startPhi="0*deg" deltaPhi="360*deg"/>
    <ReflectionSolid name="trd2mirror">
      <rSolid name="trd2"/>
    </ReflectionSolid>
    <SubtractionSolid name="subsolid" firstSolid="cone2" secondSolid="cone2hole"/>
    <SubtractionSolid name="subsolidOLD">
        <rSolid name="cone2"/>
        <rSolid name="cone2hole"/>
        <rRotation name="testRotations:x90y45"/>
    </SubtractionSolid>
    <UnionSolid name="unionsolid" firstSolid="pcrz" secondSolid="cone1">
      <Translation x="0" y="0" z="-1.0*m"/>
    </UnionSolid>
    <MultiUnionSolid name="multiunionsolid">
      <rSolid name="pcrz"/>
      <rSolid name="cone1"/>
      <Translation x="0" y="0" z="-1.0*m"/>
    </MultiUnionSolid>
    <IntersectionSolid name="intsolid" firstSolid="cone1" secondSolid="cone2">
      <RotationByAxis axis="y" angle="90*deg"/>
      <Translation x="0" y="0" z="50*cm"/>
    </IntersectionSolid>
    <Sphere name="asphere" innerRadius="1.*cm" outerRadius="1.1*cm" startPhi="0*deg" deltaPhi="180*deg" startTheta="15*deg" deltaTheta="90*deg"/>
    <Orb name="anorb" radius="1.*cm"/>
    <EllipticalTube name="etube" xSemiAxis=".5*cm" ySemiAxis="1.*cm" zHeight="3.*cm"/>
    <Parallelepiped name="para" xHalf="5.*cm" yHalf="6.*cm" zHalf="7.*cm" alpha="15*deg" theta="30*deg" phi="45*deg"/>
  </SolidSection>
</DDDefinition>