Skip to content
Snippets Groups Projects
Commit 85c45920 authored by Sylvester Joosten's avatar Sylvester Joosten
Browse files

Add simple DIRC implementation.

parent 9f6ccabd
No related branches found
No related tags found
No related merge requests found
...@@ -17,16 +17,16 @@ ...@@ -17,16 +17,16 @@
type="ref_RectangularTracker" type="ref_RectangularTracker"
insideTrackingVolume="true" insideTrackingVolume="true"
reflect="false" reflect="false"
vis="Argonne_Red"> vis="AnlRed">
<position x="0" y="0" z="B0Tracker_zpos"/> <position x="0" y="0" z="B0Tracker_zpos"/>
<layer id="1" <layer id="1"
vis="Argonne_Blue" vis="AnlBlue"
x="20.0*cm" x="20.0*cm"
y="10.0*cm" > y="10.0*cm" >
<slice material="Air" thickness="1.0*cm" vis="Argonne_Blue" sensitive="true" /> <slice material="Air" thickness="1.0*cm" vis="AnlBlue" sensitive="true" />
<slice material="Air" thickness="1.0*cm" vis="Argonne_Blue" sensitive="true" /> <slice material="Air" thickness="1.0*cm" vis="AnlBlue" sensitive="true" />
<slice material="Air" thickness="1.0*cm" vis="Argonne_Blue" sensitive="true" /> <slice material="Air" thickness="1.0*cm" vis="AnlBlue" sensitive="true" />
<slice material="Air" thickness="1.0*cm" vis="Argonne_Blue" sensitive="true" /> <slice material="Air" thickness="1.0*cm" vis="AnlBlue" sensitive="true" />
</layer> </layer>
</detector> </detector>
</detectors> </detectors>
......
<lccdd>
<comment>Initial implementation of the Reference Detector
DIRC (ported from g4e). Currently constructed around
a fixed radius of 83.65cm (between the uRWEL layers).
TODO: this needs to be properly parameterized.
</comment>
<define>
<constant name="cb_DIRC_length" value="TrackerBarrelOuter_length"/>
<constant name="cb_DIRC_rmin" value="82.00*cm"/>
<constant name="cb_DIRC_rmax" value="88.00*cm"/>
</define>
<limits>
</limits>
<regions>
</regions>
<display>
</display>
<detectors>
<detector id="BarrelDIRC_ID" name="cb_DIRC" type="cb_DIRC" readout="DIRCHits" vis="AnlTeal">
<dimensions rmin="cb_DIRC_rmin" rmax="cb_DIRC_rmax" length="cb_DIRC_length"/>
<position x="0" y="0" z="0"/>
</detector>
</detectors>
<readouts>
<readout name="DIRCHits">
<segmentation type="CartesianGridXY" grid_size_x="3.0*mm" grid_size_y="3.0*mm" />
<id>system:8,barrel:3,module:12,x:32:-16,y:-16</id>
</readout>
</readouts>
<plugins>
</plugins>
<fields>
</fields>
</lccdd>
...@@ -60,72 +60,72 @@ ...@@ -60,72 +60,72 @@
</detector> </detector>
<detector id="SiVertexEndcapP_ID" name="SiVertexEndcapP" type="ref_DiskTracker" <detector id="SiVertexEndcapP_ID" name="SiVertexEndcapP" type="ref_DiskTracker"
insideTrackingVolume="true" reflect="false" vis="Argonne_Red"> insideTrackingVolume="true" reflect="false" vis="AnlRed">
<position x="0" y="0" z="0"/> <position x="0" y="0" z="0"/>
<layer id="1" vis="Argonne_Orange" <layer id="1" vis="AnlOrange"
inner_z="SiVertexEndcapP_zmin + 0*SiVertexEndcap_delta" inner_z="SiVertexEndcapP_zmin + 0*SiVertexEndcap_delta"
inner_r="SiVertexEndcapP_rmin" inner_r="SiVertexEndcapP_rmin"
outer_r="SiVertexEndcapP_rmax"> outer_r="SiVertexEndcapP_rmax">
<slice material="Air" thickness="1.0*mm" vis="Argonne_Orange" /> <slice material="Air" thickness="1.0*mm" vis="AnlOrange" />
</layer> </layer>
<layer id="2" vis="Argonne_Orange" <layer id="2" vis="AnlOrange"
inner_z="SiVertexEndcapP_zmin + 1*SiVertexEndcap_delta" inner_z="SiVertexEndcapP_zmin + 1*SiVertexEndcap_delta"
inner_r="SiVertexEndcapP_rmin" inner_r="SiVertexEndcapP_rmin"
outer_r="SiVertexEndcapP_rmax"> outer_r="SiVertexEndcapP_rmax">
<slice material="Air" thickness="1.0*mm" vis="Argonne_Orange" /> <slice material="Air" thickness="1.0*mm" vis="AnlOrange" />
</layer> </layer>
<layer id="3" vis="Argonne_Orange" <layer id="3" vis="AnlOrange"
inner_z="SiVertexEndcapP_zmin + 2*SiVertexEndcap_delta" inner_z="SiVertexEndcapP_zmin + 2*SiVertexEndcap_delta"
inner_r="SiVertexEndcapP_rmin" inner_r="SiVertexEndcapP_rmin"
outer_r="SiVertexEndcapP_rmax"> outer_r="SiVertexEndcapP_rmax">
<slice material="Air" thickness="1.0*mm" vis="Argonne_Orange" /> <slice material="Air" thickness="1.0*mm" vis="AnlOrange" />
</layer> </layer>
<layer id="4" vis="Argonne_Orange" <layer id="4" vis="AnlOrange"
inner_z="SiVertexEndcapP_zmin + 3*SiVertexEndcap_delta" inner_z="SiVertexEndcapP_zmin + 3*SiVertexEndcap_delta"
inner_r="SiVertexEndcapP_rmin" inner_r="SiVertexEndcapP_rmin"
outer_r="SiVertexEndcapP_rmax"> outer_r="SiVertexEndcapP_rmax">
<slice material="Air" thickness="1.0*mm" vis="Argonne_Orange" /> <slice material="Air" thickness="1.0*mm" vis="AnlOrange" />
</layer> </layer>
<layer id="5" vis="Argonne_Orange" <layer id="5" vis="AnlOrange"
inner_z="SiVertexEndcapP_zmin + 4*SiVertexEndcap_delta" inner_z="SiVertexEndcapP_zmin + 4*SiVertexEndcap_delta"
inner_r="SiVertexEndcapP_rmin" inner_r="SiVertexEndcapP_rmin"
outer_r="SiVertexEndcapP_rmax"> outer_r="SiVertexEndcapP_rmax">
<slice material="Air" thickness="1.0*mm" vis="Argonne_Orange" /> <slice material="Air" thickness="1.0*mm" vis="AnlOrange" />
</layer> </layer>
</detector> </detector>
<detector id="SiVertexEndcapN_ID" name="SiVertexEndcapN" type="ref_DiskTracker" <detector id="SiVertexEndcapN_ID" name="SiVertexEndcapN" type="ref_DiskTracker"
insideTrackingVolume="true" reflect="true" vis="Argonne_Red"> insideTrackingVolume="true" reflect="true" vis="AnlRed">
<position x="0" y="0" z="0"/> <position x="0" y="0" z="0"/>
<layer id="1" vis="Argonne_Orange" <layer id="1" vis="AnlOrange"
inner_z="SiVertexEndcapN_zmin + 0*SiVertexEndcap_delta" inner_z="SiVertexEndcapN_zmin + 0*SiVertexEndcap_delta"
inner_r="SiVertexEndcapN_rmin" inner_r="SiVertexEndcapN_rmin"
outer_r="SiVertexEndcapN_rmax"> outer_r="SiVertexEndcapN_rmax">
<slice material="Air" thickness="1.0*mm" vis="Argonne_Orange" /> <slice material="Air" thickness="1.0*mm" vis="AnlOrange" />
</layer> </layer>
<layer id="2" vis="Argonne_Orange" <layer id="2" vis="AnlOrange"
inner_z="SiVertexEndcapN_zmin + 1*SiVertexEndcap_delta" inner_z="SiVertexEndcapN_zmin + 1*SiVertexEndcap_delta"
inner_r="SiVertexEndcapN_rmin" inner_r="SiVertexEndcapN_rmin"
outer_r="SiVertexEndcapN_rmax"> outer_r="SiVertexEndcapN_rmax">
<slice material="Air" thickness="1.0*mm" vis="Argonne_Orange" /> <slice material="Air" thickness="1.0*mm" vis="AnlOrange" />
</layer> </layer>
<layer id="3" vis="Argonne_Orange" <layer id="3" vis="AnlOrange"
inner_z="SiVertexEndcapN_zmin + 2*SiVertexEndcap_delta" inner_z="SiVertexEndcapN_zmin + 2*SiVertexEndcap_delta"
inner_r="SiVertexEndcapN_rmin" inner_r="SiVertexEndcapN_rmin"
outer_r="SiVertexEndcapN_rmax"> outer_r="SiVertexEndcapN_rmax">
<slice material="Air" thickness="1.0*mm" vis="Argonne_Orange" /> <slice material="Air" thickness="1.0*mm" vis="AnlOrange" />
</layer> </layer>
<layer id="4" vis="Argonne_Orange" <layer id="4" vis="AnlOrange"
inner_z="SiVertexEndcapN_zmin + 3*SiVertexEndcap_delta" inner_z="SiVertexEndcapN_zmin + 3*SiVertexEndcap_delta"
inner_r="SiVertexEndcapN_rmin" inner_r="SiVertexEndcapN_rmin"
outer_r="SiVertexEndcapN_rmax"> outer_r="SiVertexEndcapN_rmax">
<slice material="Air" thickness="1.0*mm" vis="Argonne_Orange" /> <slice material="Air" thickness="1.0*mm" vis="AnlOrange" />
</layer> </layer>
<layer id="5" vis="Argonne_Orange" <layer id="5" vis="AnlOrange"
inner_z="SiVertexEndcapN_zmin + 4*SiVertexEndcap_delta" inner_z="SiVertexEndcapN_zmin + 4*SiVertexEndcap_delta"
inner_r="SiVertexEndcapN_rmin" inner_r="SiVertexEndcapN_rmin"
outer_r="SiVertexEndcapN_rmax"> outer_r="SiVertexEndcapN_rmax">
<slice material="Air" thickness="1.0*mm" vis="Argonne_Orange" /> <slice material="Air" thickness="1.0*mm" vis="AnlOrange" />
</layer> </layer>
</detector> </detector>
</detectors> </detectors>
......
...@@ -341,7 +341,8 @@ ...@@ -341,7 +341,8 @@
<constant name="ForwardPID_rmin1" value="Beampipe_rmax + 80*mm"/> <constant name="ForwardPID_rmin1" value="Beampipe_rmax + 80*mm"/>
<comment> Barrel PID thicknesses</comment> <comment> Barrel PID thicknesses</comment>
<constant name="BarrelExtraPIDThickness" value="25.0 * cm"/> <comment> Note: ExtraPID set to zero, as we have potentially trackers past PID</comment>
<constant name="BarrelExtraPIDThickness" value="0.0 * cm"/>
<constant name="BarrelTRDThickness" value="1.0 * cm"/> <constant name="BarrelTRDThickness" value="1.0 * cm"/>
<constant name="BarrelTOFThickness" value="1.0 * cm"/> <constant name="BarrelTOFThickness" value="1.0 * cm"/>
...@@ -399,7 +400,7 @@ ...@@ -399,7 +400,7 @@
</comment> </comment>
<constant name="TrackerBarrel_rmin" value="VertexTrackerBarrel_rmax"/> <constant name="TrackerBarrel_rmin" value="VertexTrackerBarrel_rmax"/>
<constant name="TrackerBarrel_rmax" value="Solenoid_rmax/3.0"/> <constant name="TrackerBarrel_rmax" value="92*cm"/>
<constant name="TrackerBarrelOuter_length" value="1600.0*mm"/> <constant name="TrackerBarrelOuter_length" value="1600.0*mm"/>
<constant name="TrackerBarrelInner_length" value="VertexTrackingRegion_length"/> <constant name="TrackerBarrelInner_length" value="VertexTrackingRegion_length"/>
<constant name="TrackerBarrelInner_zmax" value="TrackerBarrelInner_length/2.0"/> <constant name="TrackerBarrelInner_zmax" value="TrackerBarrelInner_length/2.0"/>
...@@ -464,8 +465,8 @@ ...@@ -464,8 +465,8 @@
<constant name="SolenoidYokeEndcapP_zmin" value="Solenoid_length/2.0 + Solenoid_offset + HcalEndcapPExtra_length"/> <constant name="SolenoidYokeEndcapP_zmin" value="Solenoid_length/2.0 + Solenoid_offset + HcalEndcapPExtra_length"/>
<constant name="SolenoidYokeEndcapN_zmin" value="Solenoid_length/2.0 - Solenoid_offset + HcalEndcapNExtra_length"/> <constant name="SolenoidYokeEndcapN_zmin" value="Solenoid_length/2.0 - Solenoid_offset + HcalEndcapNExtra_length"/>
<constant name="EcalBarrel_rmin" value="SiliconTrackerOuterRadius + BarrelExtraPIDThickness + 5.0 * mm"/> <constant name="EcalBarrel_rmin" value="TrackerBarrel_rmax + 35.0 * mm"/>
<constant name="Barrel_rmax" value="Solenoid_rmin - 10.0 *cm "/> <constant name="Barrel_rmax" value="Solenoid_rmin - 1.0 *cm "/>
<constant name="Barrel_TotalCalThickness" value="Barrel_rmax - EcalBarrel_rmin"/> <constant name="Barrel_TotalCalThickness" value="Barrel_rmax - EcalBarrel_rmin"/>
<constant name="CalBarrelDivider" value="0.8"/> <constant name="CalBarrelDivider" value="0.8"/>
......
<display> <display>
<vis name="Argonne_Green" alpha="1" r="119/255" g="179/255" b="0"/> <vis name="AnlGreen" alpha="1" r="119/255" g="179/255" b="0"/>
<vis name="Argonne_Violet" alpha="1" r="91/256" g="0" b="145/256"/> <vis name="AnlViolet" alpha="1" r="91/256" g="0" b="145/256"/>
<vis name="Argonne_Process_Blue" alpha="1" r="0/256" g="130/256" b="202/256"/> <vis name="AnlProcess_Blue" alpha="1" r="0/256" g="130/256" b="202/256"/>
<vis name="Argonne_Orange" alpha="1" r="255/256" g="121/256" b="0"/> <vis name="AnlOrange" alpha="1" r="255/256" g="121/256" b="0"/>
<vis name="Argonne_Red" alpha="1" r="205/256" g="32/256" b="44/256"/> <vis name="AnlRed" alpha="1" r="205/256" g="32/256" b="44/256"/>
<vis name="Argonne_Gold" alpha="1" r="248/256" g="178/256" b="0/256"/> <vis name="AnlGold" alpha="1" r="248/256" g="178/256" b="0/256"/>
<vis name="Argonne_Blue" alpha="1" r="0/256" g="96/256" b="156/256"/> <vis name="AnlBlue" alpha="1" r="0/256" g="96/256" b="156/256"/>
<vis name="Argonne_Teal" alpha="1" r="0/256" g="161/256" b="156/256"/> <vis name="AnlTeal" alpha="1" r="0/256" g="161/256" b="156/256"/>
<vis name="Argonne_Gray" alpha="1" r="102/256" g="102/256" b="102/256"/> <vis name="AnlGray" alpha="1" r="102/256" g="102/256" b="102/256"/>
<vis name="Argonne_Light_Gray" alpha="1" r="209/256" g="209/256" b="209/256"/> <vis name="AnlLight_Gray" alpha="1" r="209/256" g="209/256" b="209/256"/>
<vis name="Argonne_Off_White" alpha="1" r="242/256" g="242/256" b="242/256"/> <vis name="AnlOff_White" alpha="1" r="242/256" g="242/256" b="242/256"/>
<vis name="Argonne_Delta_Red" alpha="1" r="161/256" g="43/256" b="47/256"/> <vis name="AnlDelta_Red" alpha="1" r="161/256" g="43/256" b="47/256"/>
<vis name="Argonne_Delta_Green" alpha="1" r="0" g="120/256" b="54/256"/> <vis name="AnlDelta_Green" alpha="1" r="0" g="120/256" b="54/256"/>
<vis name="Argonne_Delta_Blue" alpha="1" r="11/256" g="31/256" b="143/256"/> <vis name="AnlDelta_Blue" alpha="1" r="11/256" g="31/256" b="143/256"/>
<vis name="Argonne_Red_1" alpha="0.5" r="205/256" g="32/256" b="44/256"/> <vis name="AnlRed_1" alpha="0.5" r="205/256" g="32/256" b="44/256"/>
<comment>Tracker_Layer_Vis is Argonne_Gold</comment> <comment>Tracker_Layer_Vis is AnlGold</comment>
<vis name="Tracker_Layer_Vis" alpha="0.5" r="248/256" g="178/256" b="0/256" showDaughters="true" /> <vis name="Tracker_Layer_Vis" alpha="0.5" r="248/256" g="178/256" b="0/256" showDaughters="true" />
<vis name="InvisibleNoDaughters" showDaughters="false" visible="false"/> <vis name="InvisibleNoDaughters" showDaughters="false" visible="false"/>
......
...@@ -18,16 +18,16 @@ ...@@ -18,16 +18,16 @@
type="ref_RectangularTracker" type="ref_RectangularTracker"
insideTrackingVolume="true" insideTrackingVolume="true"
reflect="false" reflect="false"
vis="Argonne_Red"> vis="AnlRed">
<position x="ForwardOffMTracker_xpos" y="0" z="ForwardOffMTracker_zpos"/> <position x="ForwardOffMTracker_xpos" y="0" z="ForwardOffMTracker_zpos"/>
<layer id="1" <layer id="1"
vis="Argonne_Violet" vis="AnlViolet"
x="60.0*cm" x="60.0*cm"
y="20.0*cm" > y="20.0*cm" >
<slice material="Air" thickness="1.0*cm" vis="Argonne_Violet" sensitive="true" /> <slice material="Air" thickness="1.0*cm" vis="AnlViolet" sensitive="true" />
<slice material="Air" thickness="1.0*cm" vis="Argonne_Violet" sensitive="true" /> <slice material="Air" thickness="1.0*cm" vis="AnlViolet" sensitive="true" />
<slice material="Air" thickness="1.0*cm" vis="Argonne_Violet" sensitive="true" /> <slice material="Air" thickness="1.0*cm" vis="AnlViolet" sensitive="true" />
<slice material="Air" thickness="1.0*cm" vis="Argonne_Violet" sensitive="true" /> <slice material="Air" thickness="1.0*cm" vis="AnlViolet" sensitive="true" />
</layer> </layer>
</detector> </detector>
</detectors> </detectors>
......
...@@ -20,16 +20,16 @@ ...@@ -20,16 +20,16 @@
type="ref_RectangularTracker" type="ref_RectangularTracker"
insideTrackingVolume="true" insideTrackingVolume="true"
reflect="false" reflect="false"
vis="Argonne_Red"> vis="AnlRed">
<position x="ForwardRomanPotA_xpos" y="0" z="ForwardRomanPotA_zpos"/> <position x="ForwardRomanPotA_xpos" y="0" z="ForwardRomanPotA_zpos"/>
<layer id="1" <layer id="1"
vis="Argonne_Blue" vis="AnlBlue"
x="20.0*cm" x="20.0*cm"
y="10.0*cm" > y="10.0*cm" >
<slice material="Air" thickness="1.0*cm" vis="Argonne_Blue" sensitive="true" /> <slice material="Air" thickness="1.0*cm" vis="AnlBlue" sensitive="true" />
<slice material="Air" thickness="1.0*cm" vis="Argonne_Blue" sensitive="true" /> <slice material="Air" thickness="1.0*cm" vis="AnlBlue" sensitive="true" />
<slice material="Air" thickness="1.0*cm" vis="Argonne_Blue" sensitive="true" /> <slice material="Air" thickness="1.0*cm" vis="AnlBlue" sensitive="true" />
<slice material="Air" thickness="1.0*cm" vis="Argonne_Blue" sensitive="true" /> <slice material="Air" thickness="1.0*cm" vis="AnlBlue" sensitive="true" />
</layer> </layer>
</detector> </detector>
<detector <detector
...@@ -39,16 +39,16 @@ ...@@ -39,16 +39,16 @@
type="ref_RectangularTracker" type="ref_RectangularTracker"
insideTrackingVolume="true" insideTrackingVolume="true"
reflect="false" reflect="false"
vis="Argonne_Red"> vis="AnlRed">
<position x="ForwardRomanPotB_xpos" y="0" z="ForwardRomanPotB_zpos"/> <position x="ForwardRomanPotB_xpos" y="0" z="ForwardRomanPotB_zpos"/>
<layer id="1" <layer id="1"
vis="Argonne_Blue" vis="AnlBlue"
x="20.0*cm" x="20.0*cm"
y="10.0*cm" > y="10.0*cm" >
<slice material="Air" thickness="1.0*cm" vis="Argonne_Blue" sensitive="true" /> <slice material="Air" thickness="1.0*cm" vis="AnlBlue" sensitive="true" />
<slice material="Air" thickness="1.0*cm" vis="Argonne_Blue" sensitive="true" /> <slice material="Air" thickness="1.0*cm" vis="AnlBlue" sensitive="true" />
<slice material="Air" thickness="1.0*cm" vis="Argonne_Blue" sensitive="true" /> <slice material="Air" thickness="1.0*cm" vis="AnlBlue" sensitive="true" />
<slice material="Air" thickness="1.0*cm" vis="Argonne_Blue" sensitive="true" /> <slice material="Air" thickness="1.0*cm" vis="AnlBlue" sensitive="true" />
</layer> </layer>
</detector> </detector>
</detectors> </detectors>
......
...@@ -18,22 +18,22 @@ ...@@ -18,22 +18,22 @@
type="ref_DiskTracker" type="ref_DiskTracker"
insideTrackingVolume="true" insideTrackingVolume="true"
reflect="false" reflect="false"
vis="Argonne_Red"> vis="AnlRed">
<position x="0" y="0" z="0.0"/> <position x="0" y="0" z="0.0"/>
<layer id="1" <layer id="1"
vis="Argonne_Red" vis="AnlRed"
inner_z="ForwardTRD_zmin" inner_z="ForwardTRD_zmin"
inner_r="ForwardTRD_rmin" inner_r="ForwardTRD_rmin"
outer_r="ForwardTRD_rmax"> outer_r="ForwardTRD_rmax">
<slice material="Air" thickness="ForwardTRD_length/2.5" vis="Argonne_Red" /> <slice material="Air" thickness="ForwardTRD_length/2.5" vis="AnlRed" />
</layer> </layer>
<layer id="1" <layer id="1"
vis="Argonne_Red" vis="AnlRed"
inner_z="ForwardTRD_zmin+ForwardTRD_length/2.0" inner_z="ForwardTRD_zmin+ForwardTRD_length/2.0"
inner_r="ForwardTRD_rmin" inner_r="ForwardTRD_rmin"
outer_r="ForwardTRD_rmax"> outer_r="ForwardTRD_rmax">
<slice material="Air" thickness="ForwardTRD_length/2.5" vis="Argonne_Red" /> <slice material="Air" thickness="ForwardTRD_length/2.5" vis="AnlRed" />
</layer> </layer>
</detector> </detector>
</detectors> </detectors>
......
...@@ -70,9 +70,9 @@ ...@@ -70,9 +70,9 @@
name="GEMTrackerEndcap" name="GEMTrackerEndcap"
type="refdet_GEMTrackerEndcap" type="refdet_GEMTrackerEndcap"
readout="GEMTrackerEndcapHits" readout="GEMTrackerEndcapHits"
vis="Argonne_Red" vis="AnlRed"
reflect="false"> reflect="false">
<module name="GEMModule1" vis="Argonne_Process_Blue"> <module name="GEMModule1" vis="AnlProcess_Blue">
<trd x1="GEMTrackerEndcapFoilX1/2.0" x2="GEMTrackerEndcapFoilX2/2.0" z="GEMTrackerEndcapFoilY/2"/> <trd x1="GEMTrackerEndcapFoilX1/2.0" x2="GEMTrackerEndcapFoilX2/2.0" z="GEMTrackerEndcapFoilY/2"/>
<comment> Going from HV side to readout side</comment> <comment> Going from HV side to readout side</comment>
<module_component thickness="0.127 * mm" material="Mylar"/> <module_component thickness="0.127 * mm" material="Mylar"/>
...@@ -93,62 +93,62 @@ ...@@ -93,62 +93,62 @@
<module_component thickness="30.0*um" material="Kapton" name="readout" sensitive="true"/> <module_component thickness="30.0*um" material="Kapton" name="readout" sensitive="true"/>
<module_component thickness=" 3.0*um" material="Copper" name="readout_Cu"/> <module_component thickness=" 3.0*um" material="Copper" name="readout_Cu"/>
<module_component thickness="127.0*um" material="Mylar"/> <module_component thickness="127.0*um" material="Mylar"/>
<module_component thickness="200.0*um" material="Epoxy" sensitive="true" vis="Argonne_Process_Blue"/> <module_component thickness="200.0*um" material="Epoxy" sensitive="true" vis="AnlProcess_Blue"/>
</module> </module>
<module name="GEMSupportModule1" vis="Argonne_Process_Blue"> <module name="GEMSupportModule1" vis="AnlProcess_Blue">
<trd x1="GEMTrackerEndcapFoilX2/2.0" x2="GEMTrackerEndcapFoilX1/2.0" z="GEMTrackerEndcapFrameBotEdge_width"/> <trd x1="GEMTrackerEndcapFoilX2/2.0" x2="GEMTrackerEndcapFoilX1/2.0" z="GEMTrackerEndcapFrameBotEdge_width"/>
<module_component thickness="GEMTrackerEndcapFrame_thickness" material="Mylar"/> <module_component thickness="GEMTrackerEndcapFrame_thickness" material="Mylar"/>
</module> </module>
<module name="GEMSupportModule2" vis="Argonne_Process_Blue"> <module name="GEMSupportModule2" vis="AnlProcess_Blue">
<trd x1="GEMTrackerEndcapFrameSideEdge_width" x2="GEMTrackerEndcapFrameSideEdge_width" z="GEMTrackerEndcapFoilY/2"/> <trd x1="GEMTrackerEndcapFrameSideEdge_width" x2="GEMTrackerEndcapFrameSideEdge_width" z="GEMTrackerEndcapFoilY/2"/>
<module_component thickness="4.0*mm" material="Mylar"/> <module_component thickness="4.0*mm" material="Mylar"/>
</module> </module>
<layer id="1" > <layer id="1" >
<ring vis="Argonne_Red" <ring vis="AnlRed"
r="GEMTrackerEndcapFoil_rmin+GEMTrackerEndcapFoilY/2.0" r="GEMTrackerEndcapFoil_rmin+GEMTrackerEndcapFoilY/2.0"
zstart="GEMTrackerEndcap_zmin + 0.5*GEMTrackerEndcapLayer_thickness" zstart="GEMTrackerEndcap_zmin + 0.5*GEMTrackerEndcapLayer_thickness"
nmodules="12" dz="10 * mm" module="GEMModule1" /> nmodules="12" dz="10 * mm" module="GEMModule1" />
<ring vis="Argonne_Blue" phi0="15.0*degree" <ring vis="AnlBlue" phi0="15.0*degree"
r="GEMTrackerEndcapFoil_rmin+GEMTrackerEndcapFoilY/2.0" r="GEMTrackerEndcapFoil_rmin+GEMTrackerEndcapFoilY/2.0"
zstart="GEMTrackerEndcap_zmin + 0.5*GEMTrackerEndcapLayer_thickness" zstart="GEMTrackerEndcap_zmin + 0.5*GEMTrackerEndcapLayer_thickness"
nmodules="12" dz="0 * mm" module="GEMSupportModule2" /> nmodules="12" dz="0 * mm" module="GEMSupportModule2" />
</layer> </layer>
<layer id="2" > <layer id="2" >
<ring vis="Argonne_Red" <ring vis="AnlRed"
r="GEMTrackerEndcapFoil_rmin+GEMTrackerEndcapFoilY/2.0" r="GEMTrackerEndcapFoil_rmin+GEMTrackerEndcapFoilY/2.0"
zstart="GEMTrackerEndcap_zmin+1.5*GEMTrackerEndcapLayer_thickness" zstart="GEMTrackerEndcap_zmin+1.5*GEMTrackerEndcapLayer_thickness"
nmodules="12" dz="10 * mm" module="GEMModule1" /> nmodules="12" dz="10 * mm" module="GEMModule1" />
<ring vis="Argonne_Blue" phi0="15.0*degree" <ring vis="AnlBlue" phi0="15.0*degree"
r="GEMTrackerEndcapFoil_rmin+GEMTrackerEndcapFoilY/2.0" r="GEMTrackerEndcapFoil_rmin+GEMTrackerEndcapFoilY/2.0"
zstart="GEMTrackerEndcap_zmin+1.5*GEMTrackerEndcapLayer_thickness" zstart="GEMTrackerEndcap_zmin+1.5*GEMTrackerEndcapLayer_thickness"
nmodules="12" dz="0 * mm" module="GEMSupportModule2" /> nmodules="12" dz="0 * mm" module="GEMSupportModule2" />
</layer> </layer>
<layer id="3" > <layer id="3" >
<ring vis="Argonne_Red" <ring vis="AnlRed"
r="GEMTrackerEndcapFoil_rmin+GEMTrackerEndcapFoilY/2.0" r="GEMTrackerEndcapFoil_rmin+GEMTrackerEndcapFoilY/2.0"
zstart="GEMTrackerEndcap_zmin+2.5*GEMTrackerEndcapLayer_thickness" zstart="GEMTrackerEndcap_zmin+2.5*GEMTrackerEndcapLayer_thickness"
nmodules="12" dz="10 * mm" module="GEMModule1" /> nmodules="12" dz="10 * mm" module="GEMModule1" />
<ring vis="Argonne_Blue" phi0="15.0*degree" <ring vis="AnlBlue" phi0="15.0*degree"
r="GEMTrackerEndcapFoil_rmin+GEMTrackerEndcapFoilY/2.0" r="GEMTrackerEndcapFoil_rmin+GEMTrackerEndcapFoilY/2.0"
zstart="GEMTrackerEndcap_zmin+2.5*GEMTrackerEndcapLayer_thickness" zstart="GEMTrackerEndcap_zmin+2.5*GEMTrackerEndcapLayer_thickness"
nmodules="12" dz="0 * mm" module="GEMSupportModule2" /> nmodules="12" dz="0 * mm" module="GEMSupportModule2" />
</layer> </layer>
<layer id="4" > <layer id="4" >
<ring vis="Argonne_Red" <ring vis="AnlRed"
r="GEMTrackerEndcapFoil_rmin+GEMTrackerEndcapFoilY/2.0" r="GEMTrackerEndcapFoil_rmin+GEMTrackerEndcapFoilY/2.0"
zstart="GEMTrackerEndcap_zmin+3.5*GEMTrackerEndcapLayer_thickness" zstart="GEMTrackerEndcap_zmin+3.5*GEMTrackerEndcapLayer_thickness"
nmodules="12" dz="10 * mm" module="GEMModule1" /> nmodules="12" dz="10 * mm" module="GEMModule1" />
<ring vis="Argonne_Blue" phi0="15.0*degree" <ring vis="AnlBlue" phi0="15.0*degree"
r="GEMTrackerEndcapFoil_rmin+GEMTrackerEndcapFoilY/2.0" r="GEMTrackerEndcapFoil_rmin+GEMTrackerEndcapFoilY/2.0"
zstart="GEMTrackerEndcap_zmin+3.5*GEMTrackerEndcapLayer_thickness" zstart="GEMTrackerEndcap_zmin+3.5*GEMTrackerEndcapLayer_thickness"
nmodules="12" dz="0 * mm" module="GEMSupportModule2" /> nmodules="12" dz="0 * mm" module="GEMSupportModule2" />
</layer> </layer>
<layer id="5" > <layer id="5" >
<ring vis="Argonne_Red" <ring vis="AnlRed"
r="GEMTrackerEndcapFoil_rmin+GEMTrackerEndcapFoilY/2.0" r="GEMTrackerEndcapFoil_rmin+GEMTrackerEndcapFoilY/2.0"
zstart="GEMTrackerEndcap_zmin+4.5*GEMTrackerEndcapLayer_thickness" zstart="GEMTrackerEndcap_zmin+4.5*GEMTrackerEndcapLayer_thickness"
nmodules="12" dz="10 * mm" module="GEMModule1" /> nmodules="12" dz="10 * mm" module="GEMModule1" />
<ring vis="Argonne_Blue" phi0="15.0*degree" <ring vis="AnlBlue" phi0="15.0*degree"
r="GEMTrackerEndcapFoil_rmin+GEMTrackerEndcapFoilY/2.0" r="GEMTrackerEndcapFoil_rmin+GEMTrackerEndcapFoilY/2.0"
zstart="GEMTrackerEndcap_zmin+4.5*GEMTrackerEndcapLayer_thickness" zstart="GEMTrackerEndcap_zmin+4.5*GEMTrackerEndcapLayer_thickness"
nmodules="12" dz="0 * mm" module="GEMSupportModule2" /> nmodules="12" dz="0 * mm" module="GEMSupportModule2" />
...@@ -160,9 +160,9 @@ ...@@ -160,9 +160,9 @@
name="GEMTrackerEndcapN" name="GEMTrackerEndcapN"
type="refdet_GEMTrackerEndcap" type="refdet_GEMTrackerEndcap"
readout="GEMTrackerEndcapHits" readout="GEMTrackerEndcapHits"
vis="Argonne_Red" vis="AnlRed"
reflect="true"> reflect="true">
<module name="GEMModule1" vis="Argonne_Process_Blue"> <module name="GEMModule1" vis="AnlProcess_Blue">
<trd x1="GEMTrackerEndcapFoilX1/2.0" x2="GEMTrackerEndcapFoilX2/2.0" z="GEMTrackerEndcapFoilY/2"/> <trd x1="GEMTrackerEndcapFoilX1/2.0" x2="GEMTrackerEndcapFoilX2/2.0" z="GEMTrackerEndcapFoilY/2"/>
<comment> Going from HV side to readout side</comment> <comment> Going from HV side to readout side</comment>
<module_component thickness="0.127 * mm" material="Mylar"/> <module_component thickness="0.127 * mm" material="Mylar"/>
...@@ -183,62 +183,62 @@ ...@@ -183,62 +183,62 @@
<module_component thickness="30.0*um" material="Kapton" name="readout" sensitive="true"/> <module_component thickness="30.0*um" material="Kapton" name="readout" sensitive="true"/>
<module_component thickness=" 3.0*um" material="Copper" name="readout_Cu"/> <module_component thickness=" 3.0*um" material="Copper" name="readout_Cu"/>
<module_component thickness="127.0*um" material="Mylar"/> <module_component thickness="127.0*um" material="Mylar"/>
<module_component thickness="200.0*um" material="Epoxy" sensitive="true" vis="Argonne_Process_Blue"/> <module_component thickness="200.0*um" material="Epoxy" sensitive="true" vis="AnlProcess_Blue"/>
</module> </module>
<module name="GEMSupportModule1" vis="Argonne_Process_Blue"> <module name="GEMSupportModule1" vis="AnlProcess_Blue">
<trd x1="GEMTrackerEndcapFoilX2/2.0" x2="GEMTrackerEndcapFoilX1/2.0" z="GEMTrackerEndcapFrameBotEdge_width"/> <trd x1="GEMTrackerEndcapFoilX2/2.0" x2="GEMTrackerEndcapFoilX1/2.0" z="GEMTrackerEndcapFrameBotEdge_width"/>
<module_component thickness="GEMTrackerEndcapFrame_thickness" material="Mylar"/> <module_component thickness="GEMTrackerEndcapFrame_thickness" material="Mylar"/>
</module> </module>
<module name="GEMSupportModule2" vis="Argonne_Process_Blue"> <module name="GEMSupportModule2" vis="AnlProcess_Blue">
<trd x1="GEMTrackerEndcapFrameSideEdge_width" x2="GEMTrackerEndcapFrameSideEdge_width" z="GEMTrackerEndcapFoilY/2"/> <trd x1="GEMTrackerEndcapFrameSideEdge_width" x2="GEMTrackerEndcapFrameSideEdge_width" z="GEMTrackerEndcapFoilY/2"/>
<module_component thickness="4.0*mm" material="Mylar"/> <module_component thickness="4.0*mm" material="Mylar"/>
</module> </module>
<layer id="1" > <layer id="1" >
<ring vis="Argonne_Red" <ring vis="AnlRed"
r="GEMTrackerEndcapFoil_rmin+GEMTrackerEndcapFoilY/2.0" r="GEMTrackerEndcapFoil_rmin+GEMTrackerEndcapFoilY/2.0"
zstart="GEMTrackerEndcap_zmin + 0.5*GEMTrackerEndcapLayer_thickness" zstart="GEMTrackerEndcap_zmin + 0.5*GEMTrackerEndcapLayer_thickness"
nmodules="12" dz="10 * mm" module="GEMModule1" /> nmodules="12" dz="10 * mm" module="GEMModule1" />
<ring vis="Argonne_Blue" phi0="15.0*degree" <ring vis="AnlBlue" phi0="15.0*degree"
r="GEMTrackerEndcapFoil_rmin+GEMTrackerEndcapFoilY/2.0" r="GEMTrackerEndcapFoil_rmin+GEMTrackerEndcapFoilY/2.0"
zstart="GEMTrackerEndcap_zmin + 0.5*GEMTrackerEndcapLayer_thickness" zstart="GEMTrackerEndcap_zmin + 0.5*GEMTrackerEndcapLayer_thickness"
nmodules="12" dz="0 * mm" module="GEMSupportModule2" /> nmodules="12" dz="0 * mm" module="GEMSupportModule2" />
</layer> </layer>
<layer id="2" > <layer id="2" >
<ring vis="Argonne_Red" <ring vis="AnlRed"
r="GEMTrackerEndcapFoil_rmin+GEMTrackerEndcapFoilY/2.0" r="GEMTrackerEndcapFoil_rmin+GEMTrackerEndcapFoilY/2.0"
zstart="GEMTrackerEndcap_zmin+1.5*GEMTrackerEndcapLayer_thickness" zstart="GEMTrackerEndcap_zmin+1.5*GEMTrackerEndcapLayer_thickness"
nmodules="12" dz="10 * mm" module="GEMModule1" /> nmodules="12" dz="10 * mm" module="GEMModule1" />
<ring vis="Argonne_Blue" phi0="15.0*degree" <ring vis="AnlBlue" phi0="15.0*degree"
r="GEMTrackerEndcapFoil_rmin+GEMTrackerEndcapFoilY/2.0" r="GEMTrackerEndcapFoil_rmin+GEMTrackerEndcapFoilY/2.0"
zstart="GEMTrackerEndcap_zmin+1.5*GEMTrackerEndcapLayer_thickness" zstart="GEMTrackerEndcap_zmin+1.5*GEMTrackerEndcapLayer_thickness"
nmodules="12" dz="0 * mm" module="GEMSupportModule2" /> nmodules="12" dz="0 * mm" module="GEMSupportModule2" />
</layer> </layer>
<layer id="3" > <layer id="3" >
<ring vis="Argonne_Red" <ring vis="AnlRed"
r="GEMTrackerEndcapFoil_rmin+GEMTrackerEndcapFoilY/2.0" r="GEMTrackerEndcapFoil_rmin+GEMTrackerEndcapFoilY/2.0"
zstart="GEMTrackerEndcap_zmin+2.5*GEMTrackerEndcapLayer_thickness" zstart="GEMTrackerEndcap_zmin+2.5*GEMTrackerEndcapLayer_thickness"
nmodules="12" dz="10 * mm" module="GEMModule1" /> nmodules="12" dz="10 * mm" module="GEMModule1" />
<ring vis="Argonne_Blue" phi0="15.0*degree" <ring vis="AnlBlue" phi0="15.0*degree"
r="GEMTrackerEndcapFoil_rmin+GEMTrackerEndcapFoilY/2.0" r="GEMTrackerEndcapFoil_rmin+GEMTrackerEndcapFoilY/2.0"
zstart="GEMTrackerEndcap_zmin+2.5*GEMTrackerEndcapLayer_thickness" zstart="GEMTrackerEndcap_zmin+2.5*GEMTrackerEndcapLayer_thickness"
nmodules="12" dz="0 * mm" module="GEMSupportModule2" /> nmodules="12" dz="0 * mm" module="GEMSupportModule2" />
</layer> </layer>
<layer id="4" > <layer id="4" >
<ring vis="Argonne_Red" <ring vis="AnlRed"
r="GEMTrackerEndcapFoil_rmin+GEMTrackerEndcapFoilY/2.0" r="GEMTrackerEndcapFoil_rmin+GEMTrackerEndcapFoilY/2.0"
zstart="GEMTrackerEndcap_zmin+3.5*GEMTrackerEndcapLayer_thickness" zstart="GEMTrackerEndcap_zmin+3.5*GEMTrackerEndcapLayer_thickness"
nmodules="12" dz="10 * mm" module="GEMModule1" /> nmodules="12" dz="10 * mm" module="GEMModule1" />
<ring vis="Argonne_Blue" phi0="15.0*degree" <ring vis="AnlBlue" phi0="15.0*degree"
r="GEMTrackerEndcapFoil_rmin+GEMTrackerEndcapFoilY/2.0" r="GEMTrackerEndcapFoil_rmin+GEMTrackerEndcapFoilY/2.0"
zstart="GEMTrackerEndcap_zmin+3.5*GEMTrackerEndcapLayer_thickness" zstart="GEMTrackerEndcap_zmin+3.5*GEMTrackerEndcapLayer_thickness"
nmodules="12" dz="0 * mm" module="GEMSupportModule2" /> nmodules="12" dz="0 * mm" module="GEMSupportModule2" />
</layer> </layer>
<layer id="5" > <layer id="5" >
<ring vis="Argonne_Red" <ring vis="AnlRed"
r="GEMTrackerEndcapFoil_rmin+GEMTrackerEndcapFoilY/2.0" r="GEMTrackerEndcapFoil_rmin+GEMTrackerEndcapFoilY/2.0"
zstart="GEMTrackerEndcap_zmin+4.5*GEMTrackerEndcapLayer_thickness" zstart="GEMTrackerEndcap_zmin+4.5*GEMTrackerEndcapLayer_thickness"
nmodules="12" dz="10 * mm" module="GEMModule1" /> nmodules="12" dz="10 * mm" module="GEMModule1" />
<ring vis="Argonne_Blue" phi0="15.0*degree" <ring vis="AnlBlue" phi0="15.0*degree"
r="GEMTrackerEndcapFoil_rmin+GEMTrackerEndcapFoilY/2.0" r="GEMTrackerEndcapFoil_rmin+GEMTrackerEndcapFoilY/2.0"
zstart="GEMTrackerEndcap_zmin+4.5*GEMTrackerEndcapLayer_thickness" zstart="GEMTrackerEndcap_zmin+4.5*GEMTrackerEndcapLayer_thickness"
nmodules="12" dz="0 * mm" module="GEMSupportModule2" /> nmodules="12" dz="0 * mm" module="GEMSupportModule2" />
......
...@@ -27,7 +27,7 @@ ...@@ -27,7 +27,7 @@
<detectors> <detectors>
<detector id="MMTrackerBarrel_ID" name="MMTrackerBarrel" type="refdet_MMTrackerBarrel" readout="MMTrackerBarrelHits"> <detector id="MMTrackerBarrel_ID" name="MMTrackerBarrel" type="refdet_MMTrackerBarrel" readout="MMTrackerBarrelHits">
<module name="Module1" vis="Argonne_Gold"> <module name="Module1" vis="AnlGold">
<module_envelope <module_envelope
rmin="TrackerBarrel_rmax" rmin="TrackerBarrel_rmax"
length="MMTrackerBarrelLayer1_length" length="MMTrackerBarrelLayer1_length"
......
...@@ -17,9 +17,9 @@ ...@@ -17,9 +17,9 @@
//outer ring //outer ring
support_03_thickness = 0.50; support_03_thickness = 0.50;
support_03_length = 1.2; support_03_length = 1.2;
modified R=(73.67, 85.0) cm // to avoid conflict with EM Cal
Length=TrackerBarrelOuter_length=(160, 160) cm // to avoid conflict with GEM tracker Length=TrackerBarrelOuter_length=(160, 160) cm // to avoid conflict with GEM tracker
TODO: fix GEM geometry and restore length
</comment> </comment>
<define> <define>
...@@ -34,12 +34,12 @@ ...@@ -34,12 +34,12 @@
<constant name="RWellTrackerBarrel_Pcb_thickness" value="0.1*mm"/> <constant name="RWellTrackerBarrel_Pcb_thickness" value="0.1*mm"/>
<constant name="RWellTrackerBarrelLayer1_length" value="RWellTrackerBarrel_length"/> <constant name="RWellTrackerBarrelLayer1_length" value="RWellTrackerBarrel_length"/>
<constant name="RWellTrackerBarrelLayer1_gas_rmin" value="736.7 * mm"/> <constant name="RWellTrackerBarrelLayer1_gas_rmin" value="786.7 * mm"/>
<constant name="RWellTrackerBarrelLayer1_rmin" value="RWellTrackerBarrelLayer1_gas_rmin - RWellTrackerBarrel_Kapton_thickness"/> <constant name="RWellTrackerBarrelLayer1_rmin" value="RWellTrackerBarrelLayer1_gas_rmin - RWellTrackerBarrel_Kapton_thickness"/>
<constant name="RWellTrackerBarrelLayer1_thickness" value="RWellTrackerBarrel_Kapton_thickness + RWellTrackerBarrel_Gas_thickness + RWellTrackerBarrel_Cu_thickness + RWellTrackerBarrel_Prepreg_thickness + RWellTrackerBarrel_Pcb_thickness"/> <constant name="RWellTrackerBarrelLayer1_thickness" value="RWellTrackerBarrel_Kapton_thickness + RWellTrackerBarrel_Gas_thickness + RWellTrackerBarrel_Cu_thickness + RWellTrackerBarrel_Prepreg_thickness + RWellTrackerBarrel_Pcb_thickness"/>
<constant name="RWellTrackerBarrelLayer2_length" value="RWellTrackerBarrel_length"/> <constant name="RWellTrackerBarrelLayer2_length" value="RWellTrackerBarrel_length"/>
<constant name="RWellTrackerBarrelLayer2_gas_rmin" value="850.0 * mm"/> <constant name="RWellTrackerBarrelLayer2_gas_rmin" value="900.0 * mm"/>
<constant name="RWellTrackerBarrelLayer2_rmin" value="RWellTrackerBarrelLayer2_gas_rmin - RWellTrackerBarrel_Kapton_thickness"/> <constant name="RWellTrackerBarrelLayer2_rmin" value="RWellTrackerBarrelLayer2_gas_rmin - RWellTrackerBarrel_Kapton_thickness"/>
<constant name="RWellTrackerBarrelLayer2_thickness" value="RWellTrackerBarrel_Kapton_thickness + RWellTrackerBarrel_Gas_thickness + RWellTrackerBarrel_Cu_thickness + RWellTrackerBarrel_Prepreg_thickness + RWellTrackerBarrel_Pcb_thickness"/> <constant name="RWellTrackerBarrelLayer2_thickness" value="RWellTrackerBarrel_Kapton_thickness + RWellTrackerBarrel_Gas_thickness + RWellTrackerBarrel_Cu_thickness + RWellTrackerBarrel_Prepreg_thickness + RWellTrackerBarrel_Pcb_thickness"/>
......
...@@ -21,14 +21,14 @@ ...@@ -21,14 +21,14 @@
type="ref_DiskTracker" type="ref_DiskTracker"
insideTrackingVolume="true" insideTrackingVolume="true"
reflect="false" reflect="false"
vis="Argonne_Orange"> vis="AnlOrange">
<position x="0" y="0" z="0.0"/> <position x="0" y="0" z="0.0"/>
<layer id="1" <layer id="1"
vis="Argonne_Orange" vis="AnlOrange"
inner_z="ForwardTOF_zmin" inner_z="ForwardTOF_zmin"
inner_r="ForwardTOF_rmin" inner_r="ForwardTOF_rmin"
outer_r="ForwardTOF_rmax"> outer_r="ForwardTOF_rmax">
<slice material="Air" thickness="ForwardTOF_length/2.0" vis="Argonne_Orange" /> <slice material="Air" thickness="ForwardTOF_length/2.0" vis="AnlOrange" />
</layer> </layer>
</detector> </detector>
...@@ -38,14 +38,14 @@ ...@@ -38,14 +38,14 @@
type="ref_DiskTracker" type="ref_DiskTracker"
insideTrackingVolume="true" insideTrackingVolume="true"
reflect="true" reflect="true"
vis="Argonne_Orange"> vis="AnlOrange">
<position x="0" y="0" z="0.0"/> <position x="0" y="0" z="0.0"/>
<layer id="1" <layer id="1"
vis="Argonne_Orange" vis="AnlOrange"
inner_z="BackwardTOF_zmin" inner_z="BackwardTOF_zmin"
inner_r="BackwardTOF_rmin" inner_r="BackwardTOF_rmin"
outer_r="BackwardTOF_rmax"> outer_r="BackwardTOF_rmax">
<slice material="Air" thickness="BackwardTOF_length/2.0" vis="Argonne_Orange" /> <slice material="Air" thickness="BackwardTOF_length/2.0" vis="AnlOrange" />
</layer> </layer>
</detector> </detector>
......
...@@ -122,72 +122,72 @@ ...@@ -122,72 +122,72 @@
</detector> </detector>
<detector id="SiVertexEndcapP_ID" name="VertexTrackerEndcapP" type="ref_DiskTracker" <detector id="SiVertexEndcapP_ID" name="VertexTrackerEndcapP" type="ref_DiskTracker"
insideTrackingVolume="true" reflect="false" vis="Argonne_Red"> insideTrackingVolume="true" reflect="false" vis="AnlRed">
<position x="0" y="0" z="0"/> <position x="0" y="0" z="0"/>
<layer id="1" vis="Argonne_Orange" <layer id="1" vis="AnlOrange"
inner_z="VertexTrackerEndcapP_zmin + 0*VertexTrackerEndcap_delta" inner_z="VertexTrackerEndcapP_zmin + 0*VertexTrackerEndcap_delta"
inner_r="VertexTrackerEndcapP_rmin" inner_r="VertexTrackerEndcapP_rmin"
outer_r="VertexTrackerEndcapP_rmax"> outer_r="VertexTrackerEndcapP_rmax">
<slice material="Air" thickness="1.0*mm" vis="Argonne_Orange" /> <slice material="Air" thickness="1.0*mm" vis="AnlOrange" />
</layer> </layer>
<layer id="2" vis="Argonne_Orange" <layer id="2" vis="AnlOrange"
inner_z="VertexTrackerEndcapP_zmin + 1*VertexTrackerEndcap_delta" inner_z="VertexTrackerEndcapP_zmin + 1*VertexTrackerEndcap_delta"
inner_r="VertexTrackerEndcapP_rmin" inner_r="VertexTrackerEndcapP_rmin"
outer_r="VertexTrackerEndcapP_rmax"> outer_r="VertexTrackerEndcapP_rmax">
<slice material="Air" thickness="1.0*mm" vis="Argonne_Orange" /> <slice material="Air" thickness="1.0*mm" vis="AnlOrange" />
</layer> </layer>
<layer id="3" vis="Argonne_Orange" <layer id="3" vis="AnlOrange"
inner_z="VertexTrackerEndcapP_zmin + 2*VertexTrackerEndcap_delta" inner_z="VertexTrackerEndcapP_zmin + 2*VertexTrackerEndcap_delta"
inner_r="VertexTrackerEndcapP_rmin" inner_r="VertexTrackerEndcapP_rmin"
outer_r="VertexTrackerEndcapP_rmax"> outer_r="VertexTrackerEndcapP_rmax">
<slice material="Air" thickness="1.0*mm" vis="Argonne_Orange" /> <slice material="Air" thickness="1.0*mm" vis="AnlOrange" />
</layer> </layer>
<layer id="4" vis="Argonne_Orange" <layer id="4" vis="AnlOrange"
inner_z="VertexTrackerEndcapP_zmin + 3*VertexTrackerEndcap_delta" inner_z="VertexTrackerEndcapP_zmin + 3*VertexTrackerEndcap_delta"
inner_r="VertexTrackerEndcapP_rmin" inner_r="VertexTrackerEndcapP_rmin"
outer_r="VertexTrackerEndcapP_rmax"> outer_r="VertexTrackerEndcapP_rmax">
<slice material="Air" thickness="1.0*mm" vis="Argonne_Orange" /> <slice material="Air" thickness="1.0*mm" vis="AnlOrange" />
</layer> </layer>
<layer id="5" vis="Argonne_Orange" <layer id="5" vis="AnlOrange"
inner_z="VertexTrackerEndcapP_zmin + 4*VertexTrackerEndcap_delta" inner_z="VertexTrackerEndcapP_zmin + 4*VertexTrackerEndcap_delta"
inner_r="VertexTrackerEndcapP_rmin" inner_r="VertexTrackerEndcapP_rmin"
outer_r="VertexTrackerEndcapP_rmax"> outer_r="VertexTrackerEndcapP_rmax">
<slice material="Air" thickness="1.0*mm" vis="Argonne_Orange" /> <slice material="Air" thickness="1.0*mm" vis="AnlOrange" />
</layer> </layer>
</detector> </detector>
<detector id="SiVertexEndcapN_ID" name="VertexTrackerEndcapN" type="ref_DiskTracker" <detector id="SiVertexEndcapN_ID" name="VertexTrackerEndcapN" type="ref_DiskTracker"
insideTrackingVolume="true" reflect="true" vis="Argonne_Red"> insideTrackingVolume="true" reflect="true" vis="AnlRed">
<position x="0" y="0" z="0"/> <position x="0" y="0" z="0"/>
<layer id="1" vis="Argonne_Orange" <layer id="1" vis="AnlOrange"
inner_z="VertexTrackerEndcapN_zmin + 0*VertexTrackerEndcap_delta" inner_z="VertexTrackerEndcapN_zmin + 0*VertexTrackerEndcap_delta"
inner_r="VertexTrackerEndcapN_rmin" inner_r="VertexTrackerEndcapN_rmin"
outer_r="VertexTrackerEndcapN_rmax"> outer_r="VertexTrackerEndcapN_rmax">
<slice material="Air" thickness="1.0*mm" vis="Argonne_Orange" /> <slice material="Air" thickness="1.0*mm" vis="AnlOrange" />
</layer> </layer>
<layer id="2" vis="Argonne_Orange" <layer id="2" vis="AnlOrange"
inner_z="VertexTrackerEndcapN_zmin + 1*VertexTrackerEndcap_delta" inner_z="VertexTrackerEndcapN_zmin + 1*VertexTrackerEndcap_delta"
inner_r="VertexTrackerEndcapN_rmin" inner_r="VertexTrackerEndcapN_rmin"
outer_r="VertexTrackerEndcapN_rmax"> outer_r="VertexTrackerEndcapN_rmax">
<slice material="Air" thickness="1.0*mm" vis="Argonne_Orange" /> <slice material="Air" thickness="1.0*mm" vis="AnlOrange" />
</layer> </layer>
<layer id="3" vis="Argonne_Orange" <layer id="3" vis="AnlOrange"
inner_z="VertexTrackerEndcapN_zmin + 2*VertexTrackerEndcap_delta" inner_z="VertexTrackerEndcapN_zmin + 2*VertexTrackerEndcap_delta"
inner_r="VertexTrackerEndcapN_rmin" inner_r="VertexTrackerEndcapN_rmin"
outer_r="VertexTrackerEndcapN_rmax"> outer_r="VertexTrackerEndcapN_rmax">
<slice material="Air" thickness="1.0*mm" vis="Argonne_Orange" /> <slice material="Air" thickness="1.0*mm" vis="AnlOrange" />
</layer> </layer>
<layer id="4" vis="Argonne_Orange" <layer id="4" vis="AnlOrange"
inner_z="VertexTrackerEndcapN_zmin + 3*VertexTrackerEndcap_delta" inner_z="VertexTrackerEndcapN_zmin + 3*VertexTrackerEndcap_delta"
inner_r="VertexTrackerEndcapN_rmin" inner_r="VertexTrackerEndcapN_rmin"
outer_r="VertexTrackerEndcapN_rmax"> outer_r="VertexTrackerEndcapN_rmax">
<slice material="Air" thickness="1.0*mm" vis="Argonne_Orange" /> <slice material="Air" thickness="1.0*mm" vis="AnlOrange" />
</layer> </layer>
<layer id="5" vis="Argonne_Orange" <layer id="5" vis="AnlOrange"
inner_z="VertexTrackerEndcapN_zmin + 4*VertexTrackerEndcap_delta" inner_z="VertexTrackerEndcapN_zmin + 4*VertexTrackerEndcap_delta"
inner_r="VertexTrackerEndcapN_rmin" inner_r="VertexTrackerEndcapN_rmin"
outer_r="VertexTrackerEndcapN_rmax"> outer_r="VertexTrackerEndcapN_rmax">
<slice material="Air" thickness="1.0*mm" vis="Argonne_Orange" /> <slice material="Air" thickness="1.0*mm" vis="AnlOrange" />
</layer> </layer>
</detector> </detector>
......
...@@ -136,6 +136,7 @@ ...@@ -136,6 +136,7 @@
--> -->
<include ref="compact/rwell_tracker_barrel.xml"/> <include ref="compact/rwell_tracker_barrel.xml"/>
<include ref="compact/cb_DIRC.xml"/>
<detectors> <detectors>
</detectors> </detectors>
......
#include "DD4hep/DetFactoryHelper.h"
#include "DD4hep/OpticalSurfaces.h"
#include "DD4hep/Printout.h"
#include "DDRec/DetectorData.h"
#include "DDRec/Surface.h"
#include <XML/Helper.h>
//////////////////////////////////
// Central Barrel DIRC
//////////////////////////////////
using namespace std;
using namespace dd4hep;
static Ref_t createDetector(Detector& desc, xml_h e, SensitiveDetector sens)
{
xml_det_t x_det = e;
string detName = x_det.nameStr();
int detID = x_det.id();
xml_dim_t dim = x_det.dimensions();
xml_dim_t pos = x_det.position();
double RIn = dim.rmin();
double ROut = dim.rmax();
double SizeZ = dim.length();
Material Vacuum = desc.material("Vacuum");
Tube cb_DIRC_Barrel_GVol_Solid(RIn, ROut, SizeZ / 2.0, 0., 360.0 * deg);
Volume detVol("cb_DIRC_GVol_Solid_Logic", cb_DIRC_Barrel_GVol_Solid, Vacuum);
detVol.setVisAttributes(desc.invisible());
DetElement det(detName, detID);
Volume motherVol = desc.pickMotherVolume(det);
Transform3D tr(RotationZYX(0.0, 0.0, 0.0), Position(0.0, 0.0, pos.z()));
PlacedVolume detPV = motherVol.placeVolume(detVol, tr);
detPV.addPhysVolID("system", detID);
detPV.addPhysVolID("barrel", 1);
det.setPlacement(detPV);
//////////////////
// DIRC Bars
//////////////////
double dR = 83.65 * cm;
double cb_DIRC_bars_DZ = SizeZ;
double cb_DIRC_bars_DY = 42. * cm;
double cb_DIRC_bars_DX = 1.7 * cm;
double myL = 2 * M_PI * dR;
int NUM = myL / cb_DIRC_bars_DY;
double cb_DIRC_bars_deltaphi = 2 * 3.1415926 / NUM;
Material cb_DIRC_bars_Material = desc.material("Quartz");
Box cb_DIRC_bars_Solid(cb_DIRC_bars_DX / 2., cb_DIRC_bars_DY / 2., cb_DIRC_bars_DZ / 2.);
Volume cb_DIRC_bars_Logic("cb_DIRC_bars_Logix", cb_DIRC_bars_Solid, cb_DIRC_bars_Material);
cb_DIRC_bars_Logic.setVisAttributes(desc.visAttributes(x_det.visStr()));
sens.setType("photoncounter");
cb_DIRC_bars_Logic.setSensitiveDetector(sens);
for (int ia = 0; ia < NUM; ia++) {
double phi = (ia * (cb_DIRC_bars_deltaphi));
double x = -dR * cos(phi);
double y = -dR * sin(phi);
Transform3D tr(RotationZ(cb_DIRC_bars_deltaphi * ia), Position(x, y, 0));
PlacedVolume barPV = detVol.placeVolume(cb_DIRC_bars_Logic, tr);
barPV.addPhysVolID("module", ia);
}
return det;
}
DECLARE_DETELEMENT(cb_DIRC, createDetector)
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment