Annotated
|
||
XML Declaration |
<?xml version="1.0" encoding="UTF-8"?> |
|
GDML Namespace XML Schema Instance Namespace GDML Schema location |
<gdml xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://service-spi.web.cern.ch/service-spi/app/releases/GDML/Schema/gdml.xsd"> |
|
Numerical
definitions: constant PI NOTE: require the CLHEP built-in pi! position center( 0.0, 0.0, 0.0 ) rotation identity equals to identity.rotateX( 0.0 ) identity.rotateY( 0.0 ) identity.rotateZ( 0.0 ) NOTE: GDML rotation is axial rotation |
<define> <constant name="HALFPI" value="pi/2."/> <constant name="PI" value="1.*pi"/> <constant name="TWOPI" value="2.*pi"/> <position name="center"/> <rotation name="identity"/> <position name="shiftbyx" x="20.0"/> <position name="px10" x="10.0"/> <position name="px250" x="250.0"/> <position name="px200" x="200.0"/> <rotation name="rotatebyx" x="HALFPI/2."/> <rotation name="rotatebyall" x="HALFPI" y="PI" z="TWOPI"/> </define> |
|
Density quantity definition Isotopes and their use to create an element Simple elements type definitions NOTE: elements can't be associated with a volume, only materials can! Simple material a la element way Simple material created from two elements by number of atoms Material mixture created by fractional mass |
<materials> <define> <quantity type="density" name="ro" unit="g/cm3" value="1234.00"/> </define> <isotope name="U235" Z="92" N="235"> <atom type="A" value="235.01"/> </isotope> <isotope name="U238" Z="92.0" N="238"> <atom type="A" value="238.03"/> </isotope> <element name="enriched_Uranium"> <fraction ref="U235" n="0.9"/> <fraction ref="U238" n="0.1"/> </element> <element name="Hydrogen" formula="H" Z="1."> <atom value="1.01"/> </element> <element name="Oxygen" formula="O" Z="8."> <atom value="16.0"/> </element> <element name="Nitrogen" formula="N" Z="7."> <atom value="14.01"/> </element> <element name="Lead" formula="Pb" Z="82."> <atom value="207.20"/> </element> <material name="Al" Z="13.0"> <D value="2.70"/> <atom value="26.98"/> </material> <material name="Water" formula="H20"> <D value="1.0"/> <composite n="2" ref="Hydrogen"/> <composite n="1" ref="Oxygen"/> </material> <material name="Air"> <D value="1.290" unit="mg/cm3"/> <fraction n="0.7" ref="Nitrogen"/> <fraction n="0.3" ref="Oxygen"/> </material> </materials> |
|
Examples
of some of the available CSG solids One can place numeric definitions here as well as into materials and structure section. NOTE: All numeric definitions are global! Boxes Cone Parallelepiped Sphere General trapezoid Trapezoid Tubes |
<solids> <define> <quantity type="length" name="sizeoft500" unit="mm" value="500.0"/> <position name="shiftbysizeoft500" x="500.0"/> </define> <box name="WorldBox" x="10000.0" y="10000.0" z="10000.0"/> <box name="b100" x="100.0" y="100.0" z="100.0"/> <box name="b500" x="500.0" y="500.0" z="500.0"/> <cone name="c1" z="111.0" rmax1="22.0" rmax2="33.0" deltaphi="TWOPI"/> <para name="p1" x="10.0" y="10.0" z="10.0" alpha="30.0" theta="30.0" phi="30.0"/> <sphere name="s1" rmax="200.0" deltaphi="TWOPI" deltatheta="PI"/> <trap name="trap1" z="100.0" theta="60.0" phi="60.0" y1="10.0" x1="10.0" x2="10.0" alpha1="30.0" y2="10.0" x3="10.0" x4="10.0" alpha2="30.0"/> <trd name="trd1" x1="10.0" x2="10.0" y1="10.0" y2="20.0" z="30.0"/> <tube name="t1000" z="1000.0" rmax="100.0" deltaphi="TWOPI"/> <tube name="t900" z="900.0" rmax="100.0" deltaphi="TWOPI"/> <tube name="t100" z="102.0" rmax="30.0" deltaphi="TWOPI"/> |
|
Make
a union where tube "t100" is moved 250.0 mm along x-axis from
center of the box "b500" Subtract the non-rotated tube "t100" from the center of box "b100" Intersection of box "b100" and tube "t100" where tube is moved by 10.0mm in x and rotated by 45 degrees around x-axis |
<union name="u2"> <first ref="b500"/> <second ref="t100"/> <positionref ref="px250"/> </union> <subtraction name="sub2"> <first ref="b100"/> <second ref="t100"/> <positionref ref="center"/> <rotationref ref="identity"/> </subtraction> <intersection name="intersec1"> <first ref="b100"/> <second ref="b100"/> <positionref ref="px10"/> <rotationref ref="rotatebyx"/> </intersection> </solids> |
|
Simple geometry setup Volume definitions World volume definition Place child volume "v2" at the center Place the child volume "v1" moved by 200.0 mm along x-axis from the center |
<structure> <volume name="v1"> <materialref ref="Al"/> <solidref ref="t1000"/> </volume> <volume name="v2"> <materialref ref="Al"/> <solidref ref="sub2"/> </volume> <volume name="World"> <materialref ref="Air"/> <solidref ref="WorldBox"/> <physvol> <volumeref ref="v2"/> <positionref ref="center"/> <rotationref ref="identity"/> </physvol> <physvol> <volumeref ref="v1"/> <positionref ref="px200"/> <rotationref ref="identity"/> </physvol> </volume> </structure> |
|
Only one setup is defined here, however it is possible define multiple geometry setups choosing different volumes as world volumes from all the already defined volumes |
<setup name="Test1" version="1.0"> <world ref="World"/> </setup> |
|
Back to GDML web page. |