Files
geant4/examples/advanced/ChargeExchangeMC/lht.gdml
T
2019-04-17 10:39:02 +02:00

639 lines
30 KiB
XML

<?xml version="1.0" encoding="UTF-8" ?>
<gdml xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:gdml="http://cern.ch/2001/Schemas/GDML"
xsi:noNamespaceSchemaLocation=
"http://service-spi.web.cern.ch/service-spi/app/releases/GDML/schema/gdml.xsd">
<!-- id: 'lht.gdml', geometry of liquid hydrogen target -->
<define>
<!-- all length values in cm and angles in deg! -->
<constant name="FullCircle" value="360.0"/>
<!-- we define EPSILON to struggle with Geant4 -->
<!-- geometry definition glitches. Use with care! -->
<!-- fixed in Geant 4.9.3 ? -->
<constant name="EPSILON" value="0.0"/>
<constant name="LENGTHMAKER" value="2.0"/>
<constant name="NCrystalsHor" value="6"/>
<constant name="NCrystalsVert" value="4"/>
<!-- these values are supposed to be changed -->
<constant name="MonitorPosZ" value="-34.0"/>
<constant name="MonitorBackPosZ" value="140.0"/>
<constant name="TargetRotZ" value="40.0"/>
<constant name="TargetColumn1Angle" value="25.0"/>
<constant name="TargetColumn2Angle" value="-110.0"/>
<constant name="TargetColumn3Angle" value="120.0"/>
<constant name="CalorimeterLeftDistance" value="60.0"/>
<constant name="CalorimeterLeftAngle" value="65.0"/>
<constant name="CalorimeterLeftVertShift" value="0.0"/>
<constant name="CalorimeterRightDistance" value="60.0"/>
<constant name="CalorimeterRightAngle" value="65.0"/>
<constant name="CalorimeterRightVertShift" value="0.0"/>
<!-- these values can be changed -->
<constant name="WorldLength" value="300.0"/>
<constant name="WorldHeight" value="50.0"/>
<constant name="WorldWidth" value="300.0"/>
<constant name="TargetPosX" value="0.0"/>
<constant name="TargetPosY" value="0.0"/>
<constant name="TargetPosZ" value="0.0"/>
<constant name="TargetRadius" value="5.0"/>
<constant name="TargetHeight" value="10.0"/>
<constant name="TargetInnerCoverThickness" value="0.01"/>
<constant name="TargetOuterCoverThickness" value="0.02"/>
<constant name="TargetOuterCoverRadius" value="15.0"/>
<constant name="MonitorLength" value="0.25"/>
<constant name="MonitorHeight" value="4.0"/>
<constant name="MonitorWidth" value="6.0"/>
<constant name="MonitorBackLength" value="2.0"/>
<constant name="MonitorBackHeight" value="WorldHeight"/>
<constant name="MonitorBackWidth" value="25.0"/>
<constant name="CrystalLength" value="30.0"/>
<constant name="CrystalHeight" value="6.0"/>
<constant name="CrystalWidth" value="6.0"/>
<constant name="CalorimeterLength" value="CrystalLength"/>
<constant name="CalorimeterHeight"
value="CrystalHeight * NCrystalsVert"/>
<constant name="CalorimeterWidth" value="CrystalWidth * NCrystalsHor"/>
<constant name="VetoCounterWidth" value="CalorimeterWidth"/>
<constant name="VetoCounterHeight" value="25.0"/>
<constant name="VetoCounterThickness" value="0.5"/>
<constant name="TargetColumnRadius" value="0.85"/>
<constant name="OuterFerrumRingThickness" value="1.2"/>
<constant name="OuterFerrumRingHeight" value="3.0"/>
<constant name="OuterFerrumRingGauge" value="5.0"/>
<constant name="InnerFerrumRingThickness" value="1.0"/>
<constant name="InnerFerrumRingHeight" value="10.0"/>
<constant name="InnerFerrumRingGauge" value="5.0"/>
<constant name="InnerCuprumRingInnerRadius" value="11.6"/>
<constant name="InnerCuprumRingThickness" value="0.2"/>
<constant name="InnerCuprumRingHeight" value="5.0"/>
<constant name="InnerCuprumRingGauge" value="5.0"/>
<constant name="TargetWindowRadius" value="5.5"/>
<constant name="TargetWindowLength" value="7.4"/>
<constant name="TargetWindowHoleRadius" value="5.0"/>
<constant name="TargetWindowCapRadius" value="7.3"/>
<constant name="TargetWindowCapLength" value="2.4"/>
<constant name="TargetWindowEntranceOffset" value="1.2"/>
<constant name="TargetWindowMylarCoverLength" value="0.01"/>
<constant name="TargetWindowAluminiumCoverLength" value="1.39"/>
<constant name="TargetColumnDistance" value="18.6"/>
<constant name="TargetInnerColumnInnerRadius" value="0.5"/>
<constant name="TargetInnerColumnOuterRadius" value="1.2"/>
<constant name="TargetInnerColumnDistance" value="14.5"/>
<constant name="TargetInnerColumnAngle" value="25.7"/>
<constant name="VetoCounterDistanceToCalorimeter" value="1.0"/>
<constant name="VetoCounterLeftDistance"
value="CalorimeterLeftDistance - VetoCounterDistanceToCalorimeter"/>
<constant name="VetoCounterRightDistance"
value="CalorimeterRightDistance -
VetoCounterDistanceToCalorimeter"/>
<!-- if TargetColumnsRotWithTarget is 1 then target columns -->
<!-- will rotate together with target, if its value is 0 -->
<!-- then they are rotated independently. Change with care !-->
<constant name="TargetColumnsRotWithTarget" value="0"/>
<!-- do not change values and definitions below -->
<constant name="TargetWindowDistanceDebugShift" value="0.0"/>
<constant name="TargetWindowEntranceDebugShift" value="0.0"/>
<constant name="TargetWindowCuttingShift" value="1.0"/>
<constant name="TargetWindowDistance"
value="TargetWindowLength/2 - TargetWindowCuttingShift +
TargetOuterCoverRadius"/>
<constant name="TargetWindowCapDistance"
value="TargetWindowDistance + TargetWindowLength/2 -
TargetWindowCapLength/2"/>
<constant name="TargetWindowDebugDistance"
value="TargetWindowDistance + TargetWindowDistanceDebugShift"/>
<constant name="TargetWindowEntranceDistance"
value="TargetWindowDebugDistance + TargetWindowLength/2 -
TargetWindowEntranceOffset +
TargetWindowEntranceDebugShift"/>
<constant name="TargetWindowCoverThickness"
value="TargetWindowMylarCoverLength +
TargetWindowAluminiumCoverLength"/>
<!-- positions and rotations -->
<position name="MonitorPos" x="0.0" y="0.0" z="MonitorPosZ" unit="cm"/>
<position name="MonitorBackPos" x="0.0" y="0.0" z="MonitorBackPosZ"
unit="cm"/>
<position name="TargetPos" x="TargetPosX" y="TargetPosY" z="TargetPosZ"
unit="cm"/>
<rotation name="TargetRot" x="90.0" y="0.0" z="-TargetRotZ" unit="deg"/>
<position name="CalorimeterLeftPos"
x="(CalorimeterLeftDistance + CalorimeterLength/2) *
sin(CalorimeterLeftAngle/180*pi)"
y="CalorimeterLeftVertShift"
z="(CalorimeterLeftDistance + CalorimeterLength/2) *
cos(CalorimeterLeftAngle/180*pi)"
unit="cm"/>
<rotation name="CalorimeterLeftRot" x="0.0" y="-CalorimeterLeftAngle"
z="0.0" unit="deg"/>
<position name="CalorimeterRightPos"
x="-(CalorimeterRightDistance + CalorimeterLength/2) *
sin(CalorimeterRightAngle/180*pi)"
y="CalorimeterRightVertShift"
z="(CalorimeterRightDistance + CalorimeterLength/2) *
cos(CalorimeterRightAngle/180*pi)"
unit="cm"/>
<rotation name="CalorimeterRightRot" x="0.0" y="CalorimeterRightAngle"
z="0.0" unit="deg"/>
<position name="VetoCounterLeftPos"
x="VetoCounterLeftDistance * sin(CalorimeterLeftAngle/180*pi)"
y="CalorimeterLeftVertShift"
z="VetoCounterLeftDistance * cos(CalorimeterLeftAngle/180*pi)"
unit="cm"/>
<position name="VetoCounterRightPos"
x="-VetoCounterRightDistance * sin(CalorimeterRightAngle/180*pi)"
y="CalorimeterRightVertShift"
z="VetoCounterRightDistance * cos(CalorimeterRightAngle/180*pi)"
unit="cm"/>
<position name="TargetColumn1Pos"
x="TargetPosX + TargetColumnDistance * sin((TargetColumn1Angle +
TargetRotZ * TargetColumnsRotWithTarget)/180*pi)"
y="TargetPosY"
z="TargetPosZ + TargetColumnDistance * cos((TargetColumn1Angle +
TargetRotZ * TargetColumnsRotWithTarget)/180*pi)"
unit="cm"/>
<position name="TargetColumn2Pos"
x="TargetPosX + TargetColumnDistance * sin((TargetColumn2Angle +
TargetRotZ * TargetColumnsRotWithTarget)/180*pi)"
y="TargetPosY"
z="TargetPosZ + TargetColumnDistance * cos((TargetColumn2Angle +
TargetRotZ * TargetColumnsRotWithTarget)/180*pi)"
unit="cm"/>
<position name="TargetColumn3Pos"
x="TargetPosX + TargetColumnDistance * sin((TargetColumn3Angle +
TargetRotZ * TargetColumnsRotWithTarget)/180*pi)"
y="TargetPosY"
z="TargetPosZ + TargetColumnDistance * cos((TargetColumn3Angle +
TargetRotZ * TargetColumnsRotWithTarget)/180*pi)"
unit="cm"/>
<position name="TargetInnerColumn1Pos"
x="TargetInnerColumnDistance * sin(TargetInnerColumnAngle/180*pi)"
y="TargetInnerColumnDistance * cos(TargetInnerColumnAngle/180*pi)"
z="0" unit="cm"/>
<position name="TargetInnerColumn2Pos"
x="TargetInnerColumnDistance * sin(-TargetInnerColumnAngle/180*pi)"
y="TargetInnerColumnDistance * cos(-TargetInnerColumnAngle/180*pi)"
z="0" unit="cm"/>
<position name="OuterFerrumRingUpperPos" x="TargetPosX"
y="TargetPosY + OuterFerrumRingGauge + OuterFerrumRingHeight/2"
z="TargetPosZ" unit="cm"/>
<position name="OuterFerrumRingLowerPos" x="TargetPosX"
y="TargetPosY - OuterFerrumRingGauge - OuterFerrumRingHeight/2"
z="TargetPosZ" unit="cm"/>
<position name="InnerFerrumRingUpperPos" x="TargetPosX"
y="TargetPosY + InnerFerrumRingGauge + InnerFerrumRingHeight/2"
z="TargetPosZ" unit="cm"/>
<position name="InnerFerrumRingLowerPos" x="TargetPosX"
y="TargetPosY - InnerFerrumRingGauge - InnerFerrumRingHeight/2"
z="TargetPosZ" unit="cm"/>
<position name="InnerCuprumRingUpperPos" x="TargetPosX"
y="TargetPosY + InnerCuprumRingGauge + InnerCuprumRingHeight/2"
z="TargetPosZ" unit="cm"/>
<position name="InnerCuprumRingLowerPos" x="TargetPosX"
y="TargetPosY - InnerCuprumRingGauge - InnerCuprumRingHeight/2"
z="TargetPosZ" unit="cm"/>
<position name="TargetWindowCutPos1" x="0.0" y="0.0"
z="TargetWindowDistance" unit="cm"/>
<position name="TargetWindowCutPos2" x="0.0"
y="OuterFerrumRingGauge + OuterFerrumRingHeight/2"
z="TargetWindowDistance" unit="cm"/>
<position name="TargetWindowCutPos3" x="0.0"
y="-OuterFerrumRingGauge - OuterFerrumRingHeight/2"
z="TargetWindowDistance" unit="cm"/>
<rotation name="TargetWindowCutRot" x="90.0" y="0.0" z="0.0"
unit="deg"/>
<position name="TargetOuterCoverCutPos" x="0.0"
y="TargetWindowDistance" z="0.0" unit="cm"/>
<rotation name="TargetOuterCoverCutRot" x="90.0" y="0.0" z="0.0"
unit="deg"/>
<position name="TargetWindowPos"
x="TargetPosX - TargetWindowDebugDistance * sin(TargetRotZ/180*pi)"
y="TargetPosY"
z="TargetPosZ - TargetWindowDebugDistance * cos(TargetRotZ/180*pi)"
unit="cm"/>
<rotation name="TargetWindowRot" x="0.0" y="-TargetRotZ" z="0.0"
unit="deg"/>
<position name="TargetWindowMylarCoverPos"
x="TargetPosX -
(TargetWindowEntranceDistance - TargetWindowCoverThickness/2) *
sin(TargetRotZ/180*pi)"
y="TargetPosY"
z="TargetPosZ -
(TargetWindowEntranceDistance - TargetWindowCoverThickness/2) *
cos(TargetRotZ/180*pi)"
unit="cm"/>
<position name="TargetWindowAluminiumCoverPos"
x="TargetPosX -
TargetWindowEntranceDistance * sin(TargetRotZ/180*pi)"
y="TargetPosY"
z="TargetPosZ -
TargetWindowEntranceDistance * cos(TargetRotZ/180*pi)"
unit="cm"/>
<position name="TargetWindowCapPos"
x="TargetPosX -
(TargetWindowCapDistance + TargetWindowDistanceDebugShift) *
sin(TargetRotZ/180*pi)"
y="TargetPosY"
z="TargetPosZ -
(TargetWindowCapDistance + TargetWindowDistanceDebugShift) *
cos(TargetRotZ/180*pi)"
unit="cm"/>
<position name="TargetVacuumUnionPos"
x="0.0"
y="TargetWindowDistance - TargetWindowEntranceOffset -
TargetWindowCoverThickness/2"
z="0.0"
unit="cm"/>
</define>
<materials>
<element name="Hydrogen" formula="H" Z="1">
<atom value="1"/>
</element>
<element name="Carbon" formula="C" Z="6">
<atom value="12"/>
</element>
<material name="Scintillator" formula="scintillator" state="solid">
<D value="1.05"/>
<fraction n="0.084" ref="Hydrogen"/>
<fraction n="0.916" ref="Carbon"/>
</material>
<element name="Iodine" formula="I" Z="53">
<atom value="126.9"/>
</element>
<element name="Caesium" formula="Cs" Z="55">
<atom value="132.9"/>
</element>
<material name="CsI_Crystal" formula="CsI" state="solid">
<D value="4.5"/>
<fraction n="0.488" ref="Iodine"/>
<fraction n="0.512" ref="Caesium"/>
</material>
</materials>
<solids>
<box name="sWorld" x="WorldWidth" y="WorldHeight" z="WorldLength"
lunit="cm"/>
<box name="sMonitor" x="MonitorWidth" y="MonitorHeight"
z="MonitorLength" lunit="cm"/>
<box name="sMonitorBack" x="MonitorBackWidth" y="MonitorBackHeight"
z="MonitorBackLength" lunit="cm"/>
<tube name="sTargetOuterCoverStub0" rmin="TargetOuterCoverRadius"
rmax="TargetOuterCoverRadius + TargetOuterCoverThickness"
z="TargetHeight" deltaphi="FullCircle" aunit="deg" lunit="cm"/>
<tube name="sTargetVacuumSpaceStub"
rmin="TargetRadius + TargetInnerCoverThickness"
rmax="TargetOuterCoverRadius"
z="TargetHeight" deltaphi="FullCircle" aunit="deg" lunit="cm"/>
<tube name="sTargetInnerCover" rmin="0"
rmax="TargetRadius + TargetInnerCoverThickness"
z="TargetHeight + TargetInnerCoverThickness * 2"
deltaphi="FullCircle" aunit="deg" lunit="cm"/>
<tube name="sTarget" rmin="0" rmax="TargetRadius" z="TargetHeight"
deltaphi="FullCircle" aunit="deg" lunit="cm"/>
<tube name="sTargetColumn" rmin="0" rmax="TargetColumnRadius"
z="TargetHeight" deltaphi="FullCircle" aunit="deg" lunit="cm"/>
<tube name="sTargetInnerColumn" rmin="TargetInnerColumnInnerRadius"
rmax="TargetInnerColumnOuterRadius" z="TargetHeight"
deltaphi="FullCircle" aunit="deg" lunit="cm"/>
<tube name="sOuterFerrumRing" rmin="TargetOuterCoverRadius"
rmax="TargetOuterCoverRadius + OuterFerrumRingThickness"
z="OuterFerrumRingHeight" deltaphi="FullCircle" aunit="deg"
lunit="cm"/>
<tube name="sInnerFerrumRing"
rmin="TargetOuterCoverRadius - InnerFerrumRingThickness"
rmax="TargetOuterCoverRadius" z="InnerFerrumRingHeight"
deltaphi="FullCircle" aunit="deg" lunit="cm"/>
<tube name="sInnerCuprumRing"
rmin="InnerCuprumRingInnerRadius"
rmax="InnerCuprumRingInnerRadius + InnerCuprumRingThickness"
z="InnerCuprumRingHeight" deltaphi="FullCircle" aunit="deg"
lunit="cm"/>
<box name="sCrystalRow" x="CrystalWidth*NCrystalsHor" y="CrystalHeight"
z="CrystalLength" lunit="cm"/>
<box name="sCrystal" x="CrystalWidth" y="CrystalHeight"
z="CrystalLength" lunit="cm"/>
<box name="sCalorimeter" x="CalorimeterWidth" y="CalorimeterHeight"
z="CalorimeterLength" lunit="cm"/>
<box name="sVetoCounter" x="VetoCounterWidth" y="VetoCounterHeight"
z="VetoCounterThickness" lunit="cm"/>
<tube name="sTargetWindowStub0" rmin="0" rmax="TargetWindowRadius"
z="TargetWindowLength" deltaphi="FullCircle" aunit="deg"
lunit="cm"/>
<tube name="sTargetWindowLongHole" rmin="0"
rmax="TargetWindowHoleRadius" z="TargetWindowLength + LENGTHMAKER"
deltaphi="FullCircle" aunit="deg" lunit="cm"/>
<tube name="sTargetWindowHole" rmin="0" rmax="TargetWindowHoleRadius"
z="TargetWindowLength" deltaphi="FullCircle" aunit="deg"
lunit="cm"/>
<subtraction name="sTargetWindowStub1">
<first ref="sTargetWindowStub0"/>
<second ref="sTargetWindowLongHole"/>
</subtraction>
<tube name="sTargetOuterCoverWholeCylinder" rmin="0"
rmax="TargetOuterCoverRadius + TargetOuterCoverThickness"
z="TargetHeight" deltaphi="FullCircle" aunit="deg" lunit="cm"/>
<subtraction name="sTargetWindowStub2">
<first ref="sTargetWindowStub1"/>
<second ref="sTargetOuterCoverWholeCylinder"/>
<positionref ref="TargetWindowCutPos1"/>
<rotationref ref="TargetWindowCutRot"/>
</subtraction>
<tube name="sOuterFerrumRingWholeCylinder" rmin="0"
rmax="TargetOuterCoverRadius + OuterFerrumRingThickness + EPSILON"
z="OuterFerrumRingHeight + EPSILON" deltaphi="FullCircle"
aunit="deg" lunit="cm"/>
<subtraction name="sTargetWindowStub3">
<first ref="sTargetWindowStub2"/>
<second ref="sOuterFerrumRingWholeCylinder"/>
<positionref ref="TargetWindowCutPos2"/>
<rotationref ref="TargetWindowCutRot"/>
</subtraction>
<subtraction name="sTargetWindow">
<first ref="sTargetWindowStub3"/>
<second ref="sOuterFerrumRingWholeCylinder"/>
<positionref ref="TargetWindowCutPos3"/>
<rotationref ref="TargetWindowCutRot"/>
</subtraction>
<tube name="sTargetWindowCap" rmin="TargetWindowRadius"
rmax="TargetWindowCapRadius" z="TargetWindowCapLength"
deltaphi="FullCircle" aunit="deg" lunit="cm"/>
<subtraction name="sTargetOuterCover">
<first ref="sTargetOuterCoverStub0"/>
<second ref="sTargetWindowLongHole"/>
<positionref ref="TargetOuterCoverCutPos"/>
<rotationref ref="TargetOuterCoverCutRot"/>
</subtraction>
<union name="sTargetVacuumSpace">
<first ref="sTargetVacuumSpaceStub"/>
<second ref="sTargetWindowHole"/>
<positionref ref="TargetVacuumUnionPos"/>
<rotationref ref="TargetOuterCoverCutRot"/>
</union>
<tube name="sTargetWindowMylarCover" rmin="0"
rmax="TargetWindowHoleRadius" z="TargetWindowMylarCoverLength"
deltaphi="FullCircle" aunit="deg" lunit="cm"/>
<tube name="sTargetWindowAluminiumCover" rmin="0"
rmax="TargetWindowHoleRadius" z="TargetWindowAluminiumCoverLength"
deltaphi="FullCircle" aunit="deg" lunit="cm"/>
</solids>
<structure>
<volume name="vMonitor">
<materialref ref="Scintillator"/>
<solidref ref="sMonitor"/>
<auxiliary auxtype="SpecialVolume" auxvalue="Monitor"/>
<auxiliary auxtype="EnergyDepositDetector" auxvalue="MonitorRole"/>
<auxiliary auxtype="TrackPointsDetector" auxvalue="MonitorRole"/>
</volume>
<volume name="vMonitorBack">
<materialref ref="Scintillator"/>
<solidref ref="sMonitorBack"/>
</volume>
<volume name="vTarget">
<materialref ref="G4_lH2"/>
<solidref ref="sTarget"/>
<auxiliary auxtype="SpecialVolume" auxvalue="Target"/>
<auxiliary auxtype="TrackPointsDetector" auxvalue="TargetRole"/>
</volume>
<volume name="vTargetInnerCover">
<materialref ref="G4_Al"/>
<solidref ref="sTargetInnerCover"/>
<physvol name="Target">
<volumeref ref="vTarget"/>
</physvol>
</volume>
<volume name="vTargetColumn">
<materialref ref="G4_Fe"/>
<solidref ref="sTargetColumn"/>
</volume>
<volume name="vTargetInnerColumn">
<materialref ref="G4_Fe"/>
<solidref ref="sTargetInnerColumn"/>
</volume>
<volume name="vTargetVacuumSpace">
<materialref ref="G4_Galactic"/>
<solidref ref="sTargetVacuumSpace"/>
<!-- do not place them - still have wrong positions! -->
<!--<physvol name="TargetInnnerColumn1">-->
<!--<volumeref ref="vTargetInnerColumn"/>-->
<!--<positionref ref="TargetInnerColumn1Pos"/>-->
<!--</physvol>-->
<!--<physvol name="TargetInnnerColumn2">-->
<!--<volumeref ref="vTargetInnerColumn"/>-->
<!--<positionref ref="TargetInnerColumn2Pos"/>-->
<!--</physvol>-->
</volume>
<volume name="vTargetOuterCover">
<materialref ref="G4_MYLAR"/>
<solidref ref="sTargetOuterCover"/>
</volume>
<volume name="vCrystal">
<materialref ref="CsI_Crystal"/>
<solidref ref="sCrystal"/>
<auxiliary auxtype="EnergyDepositDetector"
auxvalue="CalorimeterRole"/>
<auxiliary auxtype="TrackPointsDetector"
auxvalue="CalorimeterRole"/>
</volume>
<volume name="vCrystalRow">
<materialref ref="G4_AIR"/>
<solidref ref="sCrystalRow"/>
<replicavol number="6">
<volumeref ref="vCrystal"/>
<replicate_along_axis>
<direction x="1"/>
<width value="CrystalWidth" unit="cm"/>
<offset value="0" unit="cm"/>
</replicate_along_axis>
</replicavol>
</volume>
<volume name="vCalorimeter">
<materialref ref="G4_AIR"/>
<solidref ref="sCalorimeter"/>
<replicavol number="4">
<volumeref ref="vCrystalRow"/>
<replicate_along_axis>
<direction y="1"/>
<width value="CrystalHeight" unit="cm"/>
<offset value="0" unit="cm"/>
</replicate_along_axis>
</replicavol>
<auxiliary auxtype="SpecialVolume" auxvalue="Calorimeter"/>
<auxiliary auxtype="SensitiveRegion" auxvalue="CalorimeterRegion"/>
</volume>
<volume name="vVetoCounter">
<materialref ref="Scintillator"/>
<solidref ref="sVetoCounter"/>
<auxiliary auxtype="SpecialVolume" auxvalue="VetoCounter"/>
<auxiliary auxtype="EnergyDepositDetector"
auxvalue="VetoCounterRole"/>
<auxiliary auxtype="TrackPointsDetector"
auxvalue="VetoCounterRole"/>
</volume>
<volume name="vOuterFerrumRing">
<materialref ref="G4_Fe"/>
<solidref ref="sOuterFerrumRing"/>
</volume>
<volume name="vInnerFerrumRing">
<materialref ref="G4_Fe"/>
<solidref ref="sInnerFerrumRing"/>
</volume>
<volume name="vInnerCuprumRing">
<materialref ref="G4_Cu"/>
<solidref ref="sInnerCuprumRing"/>
</volume>
<volume name="vTargetWindow">
<materialref ref="G4_Fe"/>
<solidref ref="sTargetWindow"/>
</volume>
<volume name="vTargetWindowCap">
<materialref ref="G4_Fe"/>
<solidref ref="sTargetWindowCap"/>
</volume>
<volume name="vTargetWindowMylarCover">
<materialref ref="G4_MYLAR"/>
<solidref ref="sTargetWindowMylarCover"/>
</volume>
<volume name="vTargetWindowAluminiumCover">
<materialref ref="G4_Al"/>
<solidref ref="sTargetWindowAluminiumCover"/>
</volume>
<volume name="vWorldVisible">
<materialref ref="G4_AIR"/>
<solidref ref="sWorld"/>
<physvol name="TargetOuterCover">
<volumeref ref="vTargetOuterCover"/>
<positionref ref="TargetPos"/>
<rotationref ref="TargetRot"/>
</physvol>
<physvol name="TargetVacuumSpace">
<volumeref ref="vTargetVacuumSpace"/>
<positionref ref="TargetPos"/>
<rotationref ref="TargetRot"/>
</physvol>
<physvol name="TargetInnerCover">
<volumeref ref="vTargetInnerCover"/>
<positionref ref="TargetPos"/>
<rotationref ref="TargetRot"/>
</physvol>
<physvol name="TargetColumn1">
<volumeref ref="vTargetColumn"/>
<positionref ref="TargetColumn1Pos"/>
<rotationref ref="TargetRot"/>
</physvol>
<physvol name="TargetColumn2">
<volumeref ref="vTargetColumn"/>
<positionref ref="TargetColumn2Pos"/>
<rotationref ref="TargetRot"/>
</physvol>
<physvol name="TargetColumn3">
<volumeref ref="vTargetColumn"/>
<positionref ref="TargetColumn3Pos"/>
<rotationref ref="TargetRot"/>
</physvol>
<physvol name="OuterFerrumRingUpper">
<volumeref ref="vOuterFerrumRing"/>
<positionref ref="OuterFerrumRingUpperPos"/>
<rotationref ref="TargetRot"/>
</physvol>
<physvol name="OuterFerrumRingLower">
<volumeref ref="vOuterFerrumRing"/>
<positionref ref="OuterFerrumRingLowerPos"/>
<rotationref ref="TargetRot"/>
</physvol>
<physvol name="InnerFerrumRingUpper">
<volumeref ref="vInnerFerrumRing"/>
<positionref ref="InnerFerrumRingUpperPos"/>
<rotationref ref="TargetRot"/>
</physvol>
<physvol name="InnerFerrumRingLower">
<volumeref ref="vInnerFerrumRing"/>
<positionref ref="InnerFerrumRingLowerPos"/>
<rotationref ref="TargetRot"/>
</physvol>
<physvol name="InnerCuprumRingUpper">
<volumeref ref="vInnerCuprumRing"/>
<positionref ref="InnerCuprumRingUpperPos"/>
<rotationref ref="TargetRot"/>
</physvol>
<physvol name="InnerCuprumRingLower">
<volumeref ref="vInnerCuprumRing"/>
<positionref ref="InnerCuprumRingLowerPos"/>
<rotationref ref="TargetRot"/>
</physvol>
<physvol name="TargetWindow">
<volumeref ref="vTargetWindow"/>
<positionref ref="TargetWindowPos"/>
<rotationref ref="TargetWindowRot"/>
</physvol>
<physvol name="TargetWindowCap">
<volumeref ref="vTargetWindowCap"/>
<positionref ref="TargetWindowCapPos"/>
<rotationref ref="TargetWindowRot"/>
</physvol>
<physvol name="TargetWindowMylarCover">
<volumeref ref="vTargetWindowMylarCover"/>
<positionref ref="TargetWindowMylarCoverPos"/>
<rotationref ref="TargetWindowRot"/>
</physvol>
<physvol name="TargetWindowAluminiumCover">
<volumeref ref="vTargetWindowAluminiumCover"/>
<positionref ref="TargetWindowAluminiumCoverPos"/>
<rotationref ref="TargetWindowRot"/>
</physvol>
<physvol name="Monitor">
<volumeref ref="vMonitor"/>
<positionref ref="MonitorPos"/>
</physvol>
<!--<physvol name="MonitorBack">-->
<!--<volumeref ref="vMonitorBack"/>-->
<!--<positionref ref="MonitorBackPos"/>-->
<!--</physvol>-->
<physvol name="CalorimeterLeft">
<volumeref ref="vCalorimeter"/>
<positionref ref="CalorimeterLeftPos"/>
<rotationref ref="CalorimeterLeftRot"/>
</physvol>
<physvol name="CalorimeterRight">
<volumeref ref="vCalorimeter"/>
<positionref ref="CalorimeterRightPos"/>
<rotationref ref="CalorimeterRightRot"/>
</physvol>
<physvol name="VetoCounterLeft">
<volumeref ref="vVetoCounter"/>
<positionref ref="VetoCounterLeftPos"/>
<rotationref ref="CalorimeterLeftRot"/>
</physvol>
<physvol name="VetoCounterRight">
<volumeref ref="vVetoCounter"/>
<positionref ref="VetoCounterRightPos"/>
<rotationref ref="CalorimeterRightRot"/>
</physvol>
</volume>
<volume name="World">
<materialref ref="G4_AIR"/>
<solidref ref="sWorld"/>
<physvol name="WorldVisible">
<volumeref ref="vWorldVisible"/>
</physvol>
</volume>
</structure>
<setup version="1.0" name="Default">
<world ref="World"/>
</setup>
</gdml>