Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • EIC/detectors/athena
  • zwzhao/athena
  • FernandoTA/athena
  • palspeic/athena
4 results
Show changes
Showing
with 59846 additions and 1219 deletions
This diff is collapsed.
<?xml version="1.0" encoding="UTF-8"?>
<lccdd>
<define>
<comment>
---------------------------------
Far Forward B0 Tracker Parameters
---------------------------------
</comment>
<constant name="B0Tracker_zpos" value="B0PF_CenterPosition + B0PF_Length/2.0 + 20.0*cm"/>
</define>
<detectors>
<detector
id="B0Tracker_ID"
name="B0Tracker"
readout="B0TrackerHits"
type="ref_RectangularTracker"
insideTrackingVolume="true"
reflect="false"
vis="Argonne_Red">
<position x="0" y="0" z="B0Tracker_zpos"/>
<layer id="1"
vis="Argonne_Blue"
x="20.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="Argonne_Blue" sensitive="true" />
<slice material="Air" thickness="1.0*cm" vis="Argonne_Blue" sensitive="true" />
<slice material="Air" thickness="1.0*cm" vis="Argonne_Blue" sensitive="true" />
</layer>
</detector>
</detectors>
<readouts>
<readout name="B0TrackerHits">
<segmentation type="CartesianGridXY" grid_size_x="1.0*mm" grid_size_y="1.0*mm" />
<id>system:8,barrel:3,layer:4,slice:4,x:32:-16,y:-16</id>
</readout>
</readouts>
</lccdd>
<lccdd>
<comment> Central Barrel Tracker Silicon </comment>
<define>
<constant name="cb_CTD_rmin" value="SiliconTrackerInnerRadius + 70.0 * mm"/>
<constant name="cb_CTD_rmax" value="SiliconTrackerOuterRadius"/>
<constant name="cb_CTD_zmax" value="SiliconTrackerOuterBarrel_zmax"/>
<constant name="cb_CTD_length" value="SiliconTrackerOuterBarrelLength"/>
<comment> Si layer opiton </comment>
<constant name="cb_CTD_Si_gap" value="5.0 * cm"/>
<constant name="cb_CTD_Si_layer" value="15"/>
</define>
<limits>
</limits>
<regions>
</regions>
<display>
</display>
<detectors>
<detector id="cb_CTD_Si_ID" name="cb_CTD_Si" type="cb_CTD_Si" readout="cb_CTD_Si_Hits" vis="cb_CTDVis" insideTrackingVloume="true">
<dimensions rmin="cb_CTD_rmin" rmax="cb_CTD_rmax" length="cb_CTD_length" zmax="cb_CTD_zmax" gap="cb_CTD_Si_gap"/>
<layer repeat="cb_CTD_Si_layer" vis="cb_CTD_Si_layerVis">
<slice name="Silicon_slice" material="Si" sensitive="true"/>
</layer>
</detector>
</detectors>
<readouts>
<readout name="cb_CTD_Si_Hits">
<segmentation type="CartesianGridXY" grid_size_x="1.0*mm" grid_size_y="1.0*mm" />
<id>system:8,barrel:3,layer:4,x:32:-16,y:-16</id>
</readout>
</readouts>
<plugins>
</plugins>
<fields>
</fields>
</lccdd>
<lccdd>
<comment>Central Barrel Solenoid</comment>
<define>
</define>
<limits>
</limits>
<regions>
</regions>
<display>
</display>
<!-- Define detector -->
<detectors>
<comment>
Central Barrel Solenoid Magnet
</comment>
<detector id="Solenoid_ID" name="cb_Solenoid" type="cb_Solenoid" insideTrackingVolume="false" vis="cb_SolenoidVis">
<material name="Vacuum"/> <!-- G4_Galactic -->
<dimensions rmin="Solenoid_rmin" rmax="Solenoid_rmax" z="b_Solenoid_z" delta="cb_Solenoid_shift"/>
</detector>
</detectors>
<plugins>
</plugins>
<!-- TODO: Define field using field map-->
<fields>
</fields>
</lccdd>
<lccdd>
<comment> Central Barrel Vertex Detector </comment>
<define>
<constant name="cb_VTX_Barrel_rmin" value="VertexTrackerInnerRadius"/>
<constant name="cb_VTX_Barrel_rmax" value="VertexTrackerOuterRadius"/>
<constant name="cb_VTX_Barrel_length" value="VertexTrackerOuterBarrelLength"/>
<constant name="cb_VTX_Barrel_x_pos" value="0.0*mm"/>
<constant name="cb_VTX_Barrel_y_pos" value="0.0*mm"/>
<constant name="cb_VTX_Barrel_z_pos" value="0.0*mm"/>
<constant name="cb_VTX_Barrel_layer" value="6"/>
<comment> Need to cleanup and be more consistent with naming here </comment>
<constant name="VertexTrackerBarrelLength" value="400.0*mm"/>
<constant name="SiVertexEndcapP_rmin" value="VertexTrackerInnerRadius"/>
<constant name="SiVertexEndcapP_rmax" value="VertexTrackerOuterRadius"/>
<constant name="SiVertexEndcapP_zmin" value="VertexTrackerBarrelLength + 5*mm"/>
<constant name="SiVertexEndcapN_rmin" value="VertexTrackerInnerRadius"/>
<constant name="SiVertexEndcapN_rmax" value="VertexTrackerOuterRadius"/>
<constant name="SiVertexEndcapN_zmin" value="VertexTrackerBarrelLength + 5*mm"/>
<constant name="SiVertexEndcap_NLayers" value="5"/>
<constant name="SiVertexEndcapP_zmax" value="VertexTrackingRegion_length/2 - SiVertexEndcapN_zmin"/>
<constant name="SiVertexEndcapP_zmax" value="VertexTrackingRegion_length/2 - SiVertexEndcapN_zmin"/>
<constant name="SiVertexEndcap_delta" value="(SiVertexEndcapP_zmax - SiVertexEndcapP_zmin)/SiVertexEndcap_NLayers"/>
</define>
<limits>
</limits>
<regions>
</regions>
<display>
</display>
<detectors>
<detector id="SiVertexSubAssembly_ID"
name="SiVertexSubAssembly"
type="DD4hep_SubdetectorAssembly"
vis="SiTrackerSubAssemblyVis">
<composite name="SiVertexEndcapN"/>
<composite name="SiVertexEndcapP"/>
<composite name="cb_VTX_Barrel"/>
</detector>
<detector id="cb_VTX_Barrel_ID" name="cb_VTX_Barrel" type="cb_VTX_Barrel" readout="cb_VTX_Barrel_Hits" vis="cb_VTX_BarrelVis" insideTrackingVloume="true">
<dimensions rmin="cb_VTX_Barrel_rmin" rmax="cb_VTX_Barrel_rmax" length="cb_VTX_Barrel_length"/>
<position x="cb_VTX_Barrel_x_pos" y="cb_VTX_Barrel_y_pos" z="cb_VTX_Barrel_z_pos"/>
<layer repeat="cb_VTX_Barrel_layer" vis="cb_VTX_Barrel_layerVis">
<slice name="Silicon_slice" material="Si" sensitive="true"/>
</layer>
</detector>
<detector id="SiVertexEndcapP_ID" name="SiVertexEndcapP" type="ref_DiskTracker"
insideTrackingVolume="true" reflect="false" vis="Argonne_Red">
<position x="0" y="0" z="0"/>
<layer id="1" vis="Argonne_Orange"
inner_z="SiVertexEndcapP_zmin + 0*SiVertexEndcap_delta"
inner_r="SiVertexEndcapP_rmin"
outer_r="SiVertexEndcapP_rmax">
<slice material="Air" thickness="1.0*mm" vis="Argonne_Orange" />
</layer>
<layer id="2" vis="Argonne_Orange"
inner_z="SiVertexEndcapP_zmin + 1*SiVertexEndcap_delta"
inner_r="SiVertexEndcapP_rmin"
outer_r="SiVertexEndcapP_rmax">
<slice material="Air" thickness="1.0*mm" vis="Argonne_Orange" />
</layer>
<layer id="3" vis="Argonne_Orange"
inner_z="SiVertexEndcapP_zmin + 2*SiVertexEndcap_delta"
inner_r="SiVertexEndcapP_rmin"
outer_r="SiVertexEndcapP_rmax">
<slice material="Air" thickness="1.0*mm" vis="Argonne_Orange" />
</layer>
<layer id="4" vis="Argonne_Orange"
inner_z="SiVertexEndcapP_zmin + 3*SiVertexEndcap_delta"
inner_r="SiVertexEndcapP_rmin"
outer_r="SiVertexEndcapP_rmax">
<slice material="Air" thickness="1.0*mm" vis="Argonne_Orange" />
</layer>
<layer id="5" vis="Argonne_Orange"
inner_z="SiVertexEndcapP_zmin + 4*SiVertexEndcap_delta"
inner_r="SiVertexEndcapP_rmin"
outer_r="SiVertexEndcapP_rmax">
<slice material="Air" thickness="1.0*mm" vis="Argonne_Orange" />
</layer>
</detector>
<detector id="SiVertexEndcapN_ID" name="SiVertexEndcapN" type="ref_DiskTracker"
insideTrackingVolume="true" reflect="true" vis="Argonne_Red">
<position x="0" y="0" z="0"/>
<layer id="1" vis="Argonne_Orange"
inner_z="SiVertexEndcapN_zmin + 0*SiVertexEndcap_delta"
inner_r="SiVertexEndcapN_rmin"
outer_r="SiVertexEndcapN_rmax">
<slice material="Air" thickness="1.0*mm" vis="Argonne_Orange" />
</layer>
<layer id="2" vis="Argonne_Orange"
inner_z="SiVertexEndcapN_zmin + 1*SiVertexEndcap_delta"
inner_r="SiVertexEndcapN_rmin"
outer_r="SiVertexEndcapN_rmax">
<slice material="Air" thickness="1.0*mm" vis="Argonne_Orange" />
</layer>
<layer id="3" vis="Argonne_Orange"
inner_z="SiVertexEndcapN_zmin + 2*SiVertexEndcap_delta"
inner_r="SiVertexEndcapN_rmin"
outer_r="SiVertexEndcapN_rmax">
<slice material="Air" thickness="1.0*mm" vis="Argonne_Orange" />
</layer>
<layer id="4" vis="Argonne_Orange"
inner_z="SiVertexEndcapN_zmin + 3*SiVertexEndcap_delta"
inner_r="SiVertexEndcapN_rmin"
outer_r="SiVertexEndcapN_rmax">
<slice material="Air" thickness="1.0*mm" vis="Argonne_Orange" />
</layer>
<layer id="5" vis="Argonne_Orange"
inner_z="SiVertexEndcapN_zmin + 4*SiVertexEndcap_delta"
inner_r="SiVertexEndcapN_rmin"
outer_r="SiVertexEndcapN_rmax">
<slice material="Air" thickness="1.0*mm" vis="Argonne_Orange" />
</layer>
</detector>
</detectors>
<readouts>
<readout name="cb_VTX_Barrel_Hits">
<segmentation type="CartesianGridXY" grid_size_x="1.0*mm" grid_size_y="1.0*mm" />
<id>system:8,barrel:3,layer:4,module:8,x:32:-16,y:-16</id>
</readout>
</readouts>
<plugins>
</plugins>
<fields>
</fields>
</lccdd>
<lccdd>
<comment> Electron endcap GEM tracking </comment>
<define>
<comment>
------------------
ce_GEM Parameters
------------------
</comment>
<constant name="ce_GEM_rmin" value="10.0 * cm"/> <comment> temporary number. Need beampipe radius </comment>
<!--<constant name="ce_GEM_rmin" value="0.0 * cm"/>-->
<constant name="ce_GEM_rmax" value="HcalEndcapN_rmin + 0.0 * cm"/> <comment> temporary number to avoid overlaps </comment>
<!--<constant name="ce_GEM_rmax" value="45.0 * cm + 50.0 * cm"/>-->
<constant name="ce_GEM_length" value="30.0 * cm"/>
<constant name="ce_GEM_x_pos" value="0.0 * cm"/>
<constant name="ce_GEM_y_pos" value="0.0 * cm"/>
<constant name="ce_GEM_z_pos" value="-Solenoid_length/2.0 + ce_GEM_length/2.0"/>
<constant name="ce_GEM_layer" value="8"/>
<constant name="ce_GEM_layer_thickness" value="1.0 * cm"/>
</define>
<limits>
</limits>
<regions>
</regions>
<display>
</display>
<detectors>
<detector id="ce_GEM_ID" name="ce_GEM" type="ce_GEM" readout="ce_GEM_Hits" vis="ce_GEMVis" insideTrackingVloume="true">
<dimensions rmin="ce_GEM_rmin" rmax="ce_GEM_rmax" length="ce_GEM_length"/>
<position x="ce_GEM_x_pos" y="ce_GEM_y_pos" z="ce_GEM_z_pos"/>
<layer repeat="ce_GEM_layer" vis="ce_GEM_layerVis">
<slice name="Ar10CO2_slice" material="Ar10CO2" thickness="ce_GEM_layer_thickness" sensitive="true"/>
</layer>
</detector>
</detectors>
<readouts>
<readout name="ce_GEM_Hits">
<segmentation type="CartesianGridXY" grid_size_x="1.0*mm" grid_size_y="1.0*mm" />
<id>system:8,layer:8,x:32:-16,y:-16</id>
</readout>
</readouts>
<plugins>
</plugins>
<fields>
</fields>
</lccdd>
<?xml version="1.0" encoding="UTF-8"?>
<lccdd>
<define>
<constant name="ce_MRICHRMin" value="15*cm"/>
<constant name="ce_MRICHRMax" value="BarrelTrackingAndPID_rmax"/>
<constant name="ce_MRICHLength" value="BackwardCherenkovLength"/>
<constant name="ce_MRICHZMin" value="-EcalEndcapN_zmin+ce_MRICHLength"/>
</define>
<detectors>
<detector id="ce_MRICH_ID" name="ce_MRICH" type="refdet_ce_MRICH" readout="MRICHHits" vis="BlueVis" material="Air">
<dimensions rmin="ce_MRICHRMin" rmax="ce_MRICHRMax" length="ce_MRICHLength" z="ce_MRICHZMin"/>
<modules material="Quartz" thickness="10*cm" width="10*cm" gap="1*cm" />
</detector>
</detectors>
<readouts>
<readout name="MRICHHits">
<segmentation type="CartesianGridXY" grid_size_x="3*mm" grid_size_y="3*mm" />
<id>system:8,sector:8,module:14,x:32:-16,y:-16</id>
</readout>
</readouts>
</lccdd>
This diff is collapsed.
This diff is collapsed.
<display>
<comment>
Colors tweaked to be displayable by geoViewer
</comment>
<vis name="AnlGreen" alpha="1" r="100/256" g="200/256" b="0/256"/>
<vis name="AnlViolet" alpha="1" r="100/256" g="0/256" b="150/256"/>
<vis name="AnlProcess_Blue" alpha="1" r="0/256" g="100/256" b="202/256"/>
<vis name="AnlOrange" alpha="1" r="255/256" g="121/256" b="0"/>
<vis name="AnlRed" alpha="1" r="205/256" g="45/256 " b="45/256"/>
<vis name="AnlGold" alpha="1" r="248/256" g="188/256" b="0/256"/>
<vis name="AnlBlue" alpha="1" r="0/256" g="96/256" b="156/256"/>
<vis name="AnlTeal" alpha="1" r="0/256" g="161/256" b="156/256"/>
<vis name="AnlGray" alpha="1" r="102/256" g="102/256" b="102/256"/>
<vis name="AnlLight_Gray" alpha="1" r="209/256" g="209/256" b="209/256"/>
<vis name="AnlLightGray" ref="AnlLight_Gray" />
<!-- off-white (or white) don't work! -->
<!--vis name="AnlOff_White" alpha="1" r="242/256" g="242/256" b="242/256"/-->
<vis name="AnlDarkRed" alpha="1" r="161/256" g="45/256" b="45/256"/>
<vis name="AnlDarkGreen" alpha="1" r="0" g="110/256" b="50/256"/>
<vis name="AnlDarkBlue" alpha="1" r="45/256" g="45/256" b="110/256"/>
<vis name="AnlDelta_Red" ref="AnlDarkRed"/>
<vis name="AnlDelta_Green" ref="AnlDarkGreen"/>
<vis name="AnlDelta_Blue" ref="AnlDarkBlue"/>
</display>
This diff is collapsed.
<lccdd>
<comment>
DIRC consists of 16 (default) identical modules making a barrel.
Each DIRC module consists of:
_______
[ | \
[ | \
[FD|Prizm|Lens|--------bars+glue-----|mirror]
Main constants to control DIRC global geometry:
- DIRC_length
- DIRC_offset
- DIRC_rmin
- DIRCBox_count (16 full dirc, 1 - a single module)
- DIRC_rotation (allows to flip the DIRC)
When DIRC_length is set, it affects bars length (all other lengths are fixed)
The width of each DIRC module is derived from DIRCPrism_width
</comment>
<define>
<constant name="DIRCFake_rmin" value="BarrelTracking_rmax-11*cm"/>
<constant name="DIRC_rotation" value="pi" comment="Allows DIRC flip"/>
<!-- <constant name="cb_DIRC_length" value="DIRCLength"/> -->
<!-- CLEANUP THIS if not sure. This is from the initial implementation
<constant name="DIRC_length" value="285.500*cm"/>
<constant name="DIRCFake_rmin" value="82.00*cm"/>-->
<!-- Prism -->
<constant name="DIRCPrism_width" value="360*mm"/>
<constant name="DIRCPrism_length" value="300*mm"/>
<constant name="DIRCPrism_short_edge" value="50*mm"/>
<constant name="DIRCPrism_angle" value="32*deg"/>
<constant name="DIRCPrism_long_edge" value="DIRCPrism_short_edge + DIRCPrism_length * tan(DIRCPrism_angle)"/>
<constant name="DIRCPrism_height" value="DIRCPrism_long_edge"/>
<!-- DIRC length -->
<constant name="DIRCMain_length" value="DIRC_length"/>
<constant name="DIRCFake_offset" value="DIRC_offset+15*cm"/>
<!-- Box - main DIRC modules -->
<constant name="DIRCBox_count" value="16" comment="Number of DIRC boxes per... DIRC. 16 - default"/>
<constant name="DIRCBox_width" value="DIRCPrism_width"/>
<!-- Mirror -->
<constant name="DIRCMirror_height" value="20 * mm"/>
<constant name="DIRCMirror_width" value="DIRCPrism_width"/>
<constant name="DIRCMirror_thickness" value="1 * mm"/>
<!-- Lens -->
<constant name="DIRCLens_height" value="DIRCPrism_long_edge"/>
<constant name="DIRCLens_width" value="DIRCPrism_width"/>
<constant name="DIRCLens_thickness" value="12 * mm"/>
<constant name="DIRCLens_r1" value="33 * mm"/>
<constant name="DIRCLens_r2" value="24 * mm"/>
<constant name="DIRCLens_shight" value="25 * mm" comment="Is 'shight' from UK urban dictionary???"/>
<!-- FD (Foto detectors?) -->
<constant name="DIRCFd_height" value="DIRCPrism_height"/>
<constant name="DIRCFd_width" value="DIRCPrism_width"/>
<constant name="DIRCFd_thickness" value="1*mm"/>
<!-- Bar - Each DIRC box consists of N "bars" -->
<!-- BarAssembly - Bars + Glue -->
<constant name="DIRCBarAssm_length" value="DIRCMain_length - DIRCPrism_length - DIRCMirror_thickness - DIRCLens_thickness - DIRCFd_thickness" comment="Length of bars+glue assembly"/>
<constant name="DIRCBar_count" value="11" comment="Number of bars per box"/>
<constant name="DIRCBar_gap" value="0.15 * mm"/>
<constant name="DIRCBar_height" value="17 * mm"/>
<constant name="DIRCBar_width" value="(DIRCPrism_width - (DIRCBar_count - 1) * DIRCBar_gap) / DIRCBar_count"/>
<constant name="DIRCGlue_thickness" value="0.05 * mm"/>
<constant name="DIRCBar_length" value="(DIRCBarAssm_length-4*DIRCGlue_thickness)/4"/>
<!-- dirc outer volume -->
<comment>
RMax is calculated according to "rectangle inside ring" problem solution
https://math.stackexchange.com/questions/4222684/calculate-rectangle-inside-ring-parameters/4222691#4222691
</comment>
<constant name="DIRCFake_rmax" value="sqrt( (DIRCFake_rmin+DIRCPrism_height)^2 + 0.25*(DIRCPrism_height)^2 )"/>
</define>
<materials>
<comment>
Only non optical material variants are here.
See optical_materials.xml for optical ones
-
</comment>
<material name="Epotek">
<D type="density" value="1.2" unit="g/cm3"/>
<composite n="5" ref="H"/>
<composite n="3" ref="C"/>
<composite n="2" ref="O"/>
</material>
<material name="Nlak33a">
<D type="density" value="4.220" unit="g/cm3"/>
<composite n="1" ref="Si"/>
<composite n="2" ref="O"/>
</material>
</materials>
<limits>
</limits>
<regions>
</regions>
<display>
<vis name="DIRCTube" ref="AnlTeal" alpha="0.1" visible="true" showDaughters="true" lineStyle="solid" drawingStyle="solid" />
<vis name="DIRCBox" ref="AnlLight_Gray" alpha="0.1" visible="true" showDaughters="true" lineStyle="solid" drawingStyle="solid" />
<vis name="DIRCLens1" ref="AnlProcess_Blue" visible="true" showDaughters="false" lineStyle="solid" drawingStyle="solid" />
<vis name="DIRCLens2" ref="AnlProcess_Blue" visible="true" showDaughters="false" lineStyle="solid" drawingStyle="solid" />
<vis name="DIRCLens3" ref="AnlTeal" visible="true" showDaughters="false" lineStyle="solid" drawingStyle="solid" />
<vis name="DIRCBar" ref="AnlTeal" visible="true" showDaughters="false" lineStyle="solid" drawingStyle="solid" />
<vis name="DIRCGlue" ref="AnlViolet" visible="true" showDaughters="false" lineStyle="solid" drawingStyle="solid" />
<vis name="DIRCMirror" ref="AnlGray" visible="true" showDaughters="false" lineStyle="solid" drawingStyle="solid" />
<vis name="DIRCPrism" ref="AnlTeal" visible="true" showDaughters="false" lineStyle="solid" drawingStyle="solid" />
<vis name="DIRCFd" ref="AnlRed" visible="true" showDaughters="false" />
</display>
<detectors>
<detector id="BarrelDIRC_ID" name="cb_DIRC" type="cb_DIRC" readout="DIRCBarHits" vis="DIRCTube">
<dimensions rmin="DIRCFake_rmin" rmax="DIRCFake_rmax" length="DIRCMain_length" radius="DIRCRadius" dx="DIRCBars_DX" dy="DIRCBars_DY" number="DIRCNum" deltaphi="DIRCDPhi"/>
<position x="0" y="0" z="DIRCFake_offset"/>
<rotation theta="DIRC_rotation"/>
<module name="DircBox" R="DIRCRadius" repeat="DIRCBox_count" width="DIRCPrism_width + 1*mm" height="DIRCPrism_height*2" length="DIRCBarAssm_length + 550*mm" vis="DIRCBox">
<!-- Mirror (at the end of the module) -->
<mirror
height="DIRCMirror_height"
width="DIRCMirror_width"
thickness="DIRCMirror_thickness"
material="Aluminum"
vis="DIRCMirror"
/>
<!-- DIRC Bar -->
<!-- TODO parametrize as bar+glue assembly with layers -->
<bar
height="DIRCBar_height"
width="DIRCBar_width"
length="DIRCBar_length"
repeat="DIRCBar_count"
gap="DIRCBar_gap"
material="Quartz"
vis="DIRCBar"
/>
<glue thickness="DIRCGlue_thickness" material="Epotek" vis="DIRCGlue"/>
<!-- lens -->
<lens
height="DIRCLens_height"
width="DIRCLens_width"
thickness="DIRCLens_thickness"
r1="DIRCLens_r1"
r2="DIRCLens_r2"
/>
<prism/> <!-- TODO parametrize here -->
<fd
height="DIRCFd_height"
width="DIRCFd_width"
thickness="DIRCFd_thickness"
vis="DIRCFd"
material="Quartz"
/>
</module>
</detector>
</detectors>
<readouts>
<readout name="DIRCBarHits">
<segmentation type="CartesianGridXY" grid_size_x="3.0*mm" grid_size_y="3.0*mm" />
<id>system:8,module:8,section:8,bar:8,x:32:-16,y:-16</id>
</readout>
</readouts>
<plugins>
</plugins>
<fields>
</fields>
</lccdd>
<display>
<vis name="Argonne_Green" 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="Argonne_Process_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="Argonne_Red" 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="Argonne_Blue" 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="Argonne_Gray" 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="Argonne_Off_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="Argonne_Delta_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="Argonne_Red_1" alpha="0.5" r="205/256" g="32/256" b="44/256"/>
<comment>Tracker_Layer_Vis is Argonne_Gold</comment>
<vis name="Tracker_Layer_Vis" alpha="0.5" r="248/256" g="178/256" b="0/256" showDaughters="true" />
<comment>
See compact/colors.xml for list of colors.
</comment>
<vis name="InvisibleNoDaughters" showDaughters="false" visible="false"/>
<vis name="InvisibleWithDaughters" showDaughters="true" visible="false"/>
<vis name="SiVertexVis" alpha="0.9" r="1" g="0" b="1" showDaughters="true" />
<vis name="SiTrackerBarrelVis" alpha="0.5" r="0.0" g="0.0" b="1.0" showDaughters="true" visible="true"/>
<vis name="SiTrackerVis" alpha="0.9" r="1.0" g="0.0" b="0.0" showDaughters="true" lineStyle="solid" drawingStyle="solid" />
<vis name="TrackerLayerVis" alpha="0.9" r="0.0" g="1.0" b="0.0" visible="true" showDaughters="true" />
<vis name="SiTrackerBarrelVis1" alpha="0.8" r="0.0" g="0.9" b="0.9" showDaughters="true" />
<vis name="SiTrackerBarrelVis2" alpha="0.8" r="0.1" g="0.9" b="0.0" showDaughters="true" visible="true"/>
<vis name="SiTrackerEndcapVis1" alpha="0.8" r="1.0" g="0.0" b="1.0" showDaughters="true" visible="true"/>
<vis name="SiTrackerEndcapVis2" alpha="0.8" r="1.0" g="0.45" b="0.0" showDaughters="false" visible="true"/>
<vis name="SiTrackerSubAssemblyVis" alpha="1" r="0.0" g="0.99" b="0.0" showDaughters="true" visible="true"/>
<vis name="SiTrackerLayerVis" alpha="1" r="0.0" g="1" b="0.0" showDaughters="true" visible="true" lineStyle="solid" drawingStyle="solid" />
<vis name="EcalVis" alpha="0.1" r="0.0" g="0.75" b="0.1" showDaughters="false"/>
<vis name="EcalEndcapVis" alpha="1.0" r="0.0" g="0.99" b="0.0" showDaughters="false" visible="true" />
<vis name="EcalBarrelVis" alpha="1.0" r="0.0" g="0.99" b="0.0" showDaughters="false" visible="true" />
<vis name="HcalVis" alpha="0.9" r="0.75" g="0.0" b="0.0" showDaughters="false"/>
<vis name="HcalBarrelVis" alpha="1.0" r="0.0" g="0.0" b="0.99" showDaughters="false" visible="true" />
<vis name="HcalEndcapVis" alpha="1.0" r="0.0" g="0.0" b="0.99" showDaughters="false" visible="true" />
<vis name="SolenoidCoilVis" alpha="1.0" r="0.55" g="0.55" b="0.7" showDaughters="true" visible="true" lineStyle="solid" drawingStyle="solid" />
<vis name="SolenoidCryostatVis" alpha="0.4" r="0.55" g="0.55" b="0.7" showDaughters="true" visible="true" lineStyle="solid" drawingStyle="solid" />
<vis name="SolenoidYokeVis" alpha="0.2" r="0.8" g="0.1" b="0.1" showDaughters="false" visible="true" lineStyle="solid" drawingStyle="solid" />
<vis name="RICHVis" alpha="0.5" r="1" g="0" b="1" showDaughters="true"/>
<vis name="BeamPipeVis" alpha="1" r= "0.75" g="0.75" b="0.75" showDaughters="true" visible="true"/>
<vis name="cb_SolenoidVis" alpha="0.4" r= "0.1" g="0.0" b="0.1" showDaughters="true" visible="true"/>
<vis name="ffi_ZDCVis" alpha="0.1" r= "0.1" g="0.0" b="1.0" showDaughters="true" visible="true"/>
<vis name="ffi_ZDCmoduleVis" alpha="1.0" r= "0.1" g="1.0" b="0.9" showDaughters="true" visible="true"/>
<vis name="cb_CTDVis" alpha="0.1" r= "0.1" g="0.0" b="1.0" showDaughters="true" visible="true"/>
<vis name="cb_CTD_Si_layerVis" alpha="1.0" r= "0.9" g="1.0" b="0.1" showDaughters="true" visible="true"/>
<vis name="ce_GEMVis" alpha="0.1" r= "0.1" g="0.0" b="1.0" showDaughters="true" visible="true"/>
<vis name="cb_GEM_layerVis" alpha="0.8" r= "0.8" g="0.4" b="0.3" showDaughters="true" visible="true"/>
<vis name="cb_VTX_BarrelVis" alpha="0.1" r= "0.1" g="0.0" b="1.0" showDaughters="true" visible="true"/>
<vis name="cb_VTX_Barrel_layerVis" alpha="2.0" r= "0.0" g="0.2" b="0.8" showDaughters="true" visible="true"/>
<vis name="ci_GEMVis" r= "0.8" g="0.4" b="0.3" alpha="0.8" showDaughters="true" visible="true"/>
<vis name="ci_HCALVis" r= "0.6" g="0" b="0.6" alpha="1.0" showDaughters="true" visible="true"/>
<comment>
Tracking Visualizations
</comment>
<vis name="TrackerVis" ref="AnlRed" />
<vis name="TrackerSupportVis" ref="AnlBlue" visible="true" showDaughters="true" />
<vis name="TrackerServiceVis" ref="AnlGold" showDaughters="false" />
<vis name="TrackerLayerVis" ref="AnlGray" visible="true" showDaughters="true" />
<vis name="TrackerModuleVis" ref="TrackerLayerVis" visible="true" showDaughters="false" />
<vis name="TrackerMPGDVis" ref="AnlRed" visible="true" showDaughters="false" />
<comment> Visualization for Barrel MMGAS (apply to layers) and GEM endcap (apply to modules) </comment>
<vis name="TrackerGEMModuleVis" ref="TrackerMPGDVis" visible="true" showDaughters="false" />
<vis name="TrackerMMGASLayerVis" ref="TrackerMPGDVis" visible="true" showDaughters="false" />
<vis name="VertexSupportLayerVis" ref="AnlBlue" visible="true" showDaughters="false" />
<vis name="VertexSupportVis" ref="VertexSupportLayerVis" visible="true" showDaughters="true" />
<vis name="VertexLayerVis" ref="AnlGray" visible="true" showDaughters="true" />
<vis name="VertexModuleVis" ref="TrackerLayerVis" visible="true" showDaughters="false" />
<vis name="TOFVis" ref="AnlTeal" visible="true" showDaughters="true"/>
<vis name="TOFLayerVis" ref="TOFVis" visible="true" showdaughters="true"/>
<vis name="TOFModuleVis" ref="TOFVis" visible="true" showdaughters="true"/>
<vis name="TOFSupportVis" ref="TrackerSupportVis" visible="true" showDaughters="true"/>
<vis name="TOFSensorVis" ref="TOFVis" visible="true" showDaughters="true"/>
<comment> By default don't display the barrel module details </comment>
<vis name="TOFBarrelModuleVis" ref="TOFVis" visible="true" showdaughters="true"/>
<comment> extra detailed vizualizations for the barrel </comment>
<vis name="TOFHybridVis" ref="AnlGold" visible="true" showDaughters="true"/>
<vis name="TOFCoolingTube" ref="AnlRed" visible="true" showDaughters="true"/>
<vis name="TOFCoolant" ref="TrackerServiceVis" visible="true" showDaughters="true"/>
<vis name="TOFCSkinVis" ref="TrackerSupportVis" visible="true" showDaughters="true"/>
<vis name="TOFCFoamVis" ref="TrackerSupportVis" visible="true" showDaughters="true"/>
<vis name="TOFCHoneycombVis" ref="TrackerServiceVis" visible="true" showDaughters="true"/>
<vis name="FFTrackerVis" ref="AnlRed" />
<vis name="FFTrackerSupportVis" ref="AnlBlue" visible="true" showDaughters="false" />
<vis name="FFTrackerShieldingVis" ref="AnlGray" visible="true" showDaughters="false" />
<vis name="FFTrackerServiceVis" ref="AnlGold" visible="true" showDaughters="false" />
<vis name="FFTrackerLayerVis" ref="TrackerVis" visible="true" showDaughters="true" />
<vis name="FFTrackerModuleVis" ref="FFTrackerLayerVis" visible="true" showDaughters="true" />
<vis name="FFTrackerSurfaceVis" ref="FFTrackerLayerVis" visible="true" showDaughters="true" />
<comment> For shielded modules by default just display to module instead of 6 layers </comment>
<vis name="FFTrackerShieldedModuleVis" ref="FFTrackerModuleVis" visible="true" showDaughters="false" />
<comment>
ECal Vis
</comment>
<vis name="EcalVis" ref="AnlGold" showDaughters="true" visible="true"/>
<vis name="EcalBarrelVis" ref="AnlGold" showDaughters="false" visible="true"/>
<vis name="EcalBarrelStaveVis" ref="AnlOrange" showDaughters="false" visible="true" />
<vis name="EcalBarrelEnvelopeVis" ref="AnlGold" showDaughters="false" visible="true" />
<vis name="EcalBarrelSupportVis" ref="AnlOrange" showDaughters="false" visible="true"/>
<vis name="EcalBarrelLayerVis" ref="AnlGold" showDaughters="true" visible="true"/>
<vis name="EcalBarrelSliceVis" ref="AnlGray" showDaughters="false" visible="true"/>
<vis name="EcalBarrelFiberLayerVis" ref="AnlGold" showDaughters="false" visible="true" />
<vis name="EcalEndcapVis" ref="AnlGold" showDaughters="true" visible="false"/>
<vis name="EcalEndcapLayerVis" ref="AnlGold" showDaughters="false" visible="true"/>
<vis name="EcalEndcapBlockVis" ref="AnlGold" showDaughters="false" visible="true"/>
<vis name="EcalEndcapNModuleVis" ref="AnlGold" showDaughters="false" visible="true"/>
<vis name="FFPreVis" ref="AnlGold" showDaughters="true" visible="true"/>
<vis name="FFPreLayerVis" ref="FFPreVis" showDaughters="true" visible="true"/>
<vis name="FFPreModuleVis" ref="FFPreLayerVis" showDaughters="true" visible="true"/>
<vis name="FFPreRadiatorVis" ref="FFPreModuleVis" showDaughters="true" visible="true"/>
<vis name="FFPreReadoutVis" ref="FFTrackerSurfaceVis" showDaughters="true" visible="true"/>
<comment>
HCal Vis
</comment>
<vis name="HcalVis" ref="AnlBlue" showDaughters="true" visible="true"/>
<vis name="HcalBarrelVis" ref="AnlBlue" showDaughters="true" visible="true"/>
<vis name="HcalBarrelStaveVis" ref="AnlBlue" showDaughters="false" visible="true"/>
<vis name="HcalBarrelLayerVis" ref="AnlBlue" showDaughters="false" visible="true"/>
<vis name="HcalEndcapVis" ref="AnlBlue" showDaughters="false" visible="true"/>
<vis name="HcalEndcapLayerVis" ref="AnlBlue" showDaughters="false" visible="true"/>
<vis name="HcalSensorVis" ref="AnlBlue" showDaughters="false" visible="false"/>
<vis name="HcalAbsorberVis" ref="AnlGray" showDaughters="false" visible="false"/>
<comment>
Passive steel for flux return
</comment>
<vis name="PassiveSteelVis" ref="AnlViolet" showDaughters="false" visible="true"/>
<comment>
Solenoid
</comment>
<vis name="SolenoidCoilVis" ref="AnlLightGray" showDaughters="true" visible="true" lineStyle="solid" drawingStyle="solid" />
<vis name="SolenoidCryostatVis" ref="AnlGray" showDaughters="true" visible="true" lineStyle="solid" drawingStyle="solid" />
<vis name="SolenoidYokeVis" ref="AnlLight_Gray" showDaughters="false" visible="true" lineStyle="solid" drawingStyle="solid" />
<comment>
PID Detectors
</comment>
<vis name="RICHVis" ref="AnlTeal" showDaughters="true"/>
<vis name="DIRCVis" ref="AnlTeal" showDaughters="true" visible="false"/>
<vis name="DIRCLayerVis" ref="AnlTeal" showDaughters="true" visible="false"/>
<vis name="DIRCModuleVis" ref="AnlTeal" showDaughters="true" visible="false"/>
<vis name="DIRCSupportVis" ref="AnlTeal" showDaughters="true" visible="true"/>
<vis name="DIRCFrameVis" ref="AnlOrange" showDaughters="true" visible="true"/>
<vis name="DIRCBarVis" ref="AnlTeal" showDaughters="true" visible="true"/>
<comment>
Beam line with magnets
</comment>
<vis name="BeamPipeVis" ref="AnlLightGray" showDaughters="true" visible="true"/>
<vis name="FFMagnetVis" ref="AnlGreen" showDaughters="true" visible="true"/>
<vis name="FFMagnetCoilVis" ref="AnlRed" showDaughters="true" visible="true"/>
<comment>
ZDC visualization
</comment>
<vis name="ffi_ZDC_ECAL_Vis" ref="AnlGreen" showDaughters="true" visible="true"/>
<vis name="ffi_ZDC_ECAL_module_Vis" ref="AnlRed" showDaughters="false" visible="true"/>
<vis name="ffi_ZDC_HCAL_Vis" ref="AnlBlue" showDaughters="true" visible="true"/>
<comment>
PID visualization
</comment>
<vis name="DRICH_vessel_vis" ref="AnlGray" showDaughters="true" visible="true" />
<vis name="DRICH_gas_vis" ref="AnlGreen" alpha="0.5" showDaughters="true" visible="true" />
<vis name="DRICH_aerogel_vis" ref="AnlTeal" showDaughters="true" visible="true" />
<vis name="DRICH_filter_vis" alpha="1.0" r="1.0" g="1.0" b="0.0" showDaughters="true" visible="true" />
<vis name="DRICH_mirror_vis" ref="AnlGray" showDaughters="true" visible="true" />
<vis name="DRICH_sensor_vis" ref="AnlBlue" showDaughters="true" visible="true" />
<vis name="PFRICH_sensor_vis" ref="AnlBlue" showDaughters="true" visible="true" />
<vis name="MRICH_aerogel_vis" ref="AnlTeal" showDaughters="true" visible="true" />
<vis name="MRICH_frame_vis" ref="AnlGold" showDaughters="true" visible="true" />
<vis name="MRICH_lens_vis" ref="AnlGray" showDaughters="true" visible="true" />
<vis name="MRICH_mirror_vis" ref="AnlGray" showDaughters="true" visible="true" />
<vis name="RICHServiceVis" ref="AnlGray" showDaughters="true" visible="true" />
</display>
<comment>
Deprecated colors.
vis name="GreenVis" alpha="1.0" r= "0.0" g="1.0" b="0.0" showDaughters="true" visible="true"/
vis name="RedVis" alpha="0.2" r= "1.0" g="0.0" b="0.0" showDaughters="true" visible="true"/
vis name="RPVis" alpha="0.99" r= "1.0" g="0.0" b="0.0" showDaughters="true" visible="true"/
vis name="RPLayerVis" alpha="0.99" r= "0.0" g="0.7" b="0.3" showDaughters="true" visible="true" lineStyle="solid" drawingStyle="solid" /
vis name="BlueVis" alpha="1.0" r= "0.0" g="0.0" b="1.0" showDaughters="true" visible="true"/
vis name="OrangeVis" alpha="1.0" r= "1.0" g="0.45" b="0.0" showDaughters="true" visible="true"/
vis name="RedGreenVis" alpha="0.5" r= "1.0" g="1.0" b="0.0" showDaughters="true" visible="true"/
vis name="BlueGreenVis" alpha="0.5" r= "0.0" g="1.0" b="1.0" showDaughters="true" visible="true"/
vis name="PurpleVis" alpha="1.0" r= "1.0" g="0.0" b="1.0" showDaughters="true" visible="true"/
vis name="DoubleRedG" alpha="0.5" r= "2.0" g=".10" b="0.0" showDaughters="true" visible="true"/
vis name="RBG015" alpha="0.5" r= "0.0" g=".2" b="1.0" showDaughters="true" visible="true"/
vis name="RBG510" alpha="0.5" r= "1.0" g=".2" b="0.0" showDaughters="true" visible="true"/
vis name="RBG" alpha="0.5" r= "1.0" g="1.0" b="1.0" showDaughters="true" visible="true"/
vis name="GrayVis" alpha="1.0" r= "0.75" g="0.75" b="0.75" showDaughters="true" visible="true"/
</comment>
<vis name="GreenVis" alpha="1.0" r= "0.0" g="1.0" b="0.0" showDaughters="true" visible="true"/>
<vis name="RedVis" alpha="0.2" r= "1.0" g="0.0" b="0.0" showDaughters="true" visible="true"/>
<vis name="RPVis" alpha="0.99" r= "1.0" g="0.0" b="0.0" showDaughters="true" visible="true"/>
<vis name="RPLayerVis" alpha="0.99" r= "0.0" g="0.7" b="0.3" showDaughters="true" visible="true" lineStyle="solid" drawingStyle="solid" />
<vis name="BlueVis" alpha="1.0" r= "0.0" g="0.0" b="1.0" showDaughters="true" visible="true"/>
<vis name="OrangeVis" alpha="1.0" r= "1.0" g="0.45" b="0.0" showDaughters="true" visible="true"/>
<vis name="RedGreenVis" alpha="0.5" r= "1.0" g="1.0" b="0.0" showDaughters="true" visible="true"/>
<vis name="BlueGreenVis" alpha="0.5" r= "0.0" g="1.0" b="1.0" showDaughters="true" visible="true"/>
<vis name="PurpleVis" alpha="1.0" r= "1.0" g="0.0" b="1.0" showDaughters="true" visible="true"/>
<vis name="DoubleRedG" alpha="0.5" r= "2.0" g=".10" b="0.0" showDaughters="true" visible="true"/>
<vis name="RBG015" alpha="0.5" r= "0.0" g=".2" b="1.0" showDaughters="true" visible="true"/>
<vis name="RBG510" alpha="0.5" r= "1.0" g=".2" b="0.0" showDaughters="true" visible="true"/>
<vis name="RBG" alpha="0.5" r= "1.0" g="1.0" b="1.0" showDaughters="true" visible="true"/>
<vis name="GrayVis" alpha="1.0" r= "0.75" g="0.75" b="0.75" showDaughters="true" visible="true"/>
</display>
<display>
<comment>
This is where a detailed display can be created.
Note this is currently just a copy of display.xml
</comment>
<vis name="InvisibleNoDaughters" showDaughters="false" visible="false"/>
<vis name="InvisibleWithDaughters" showDaughters="true" visible="false"/>
<comment>
Tracking Visualizations
</comment>
<vis name="TrackerVis" ref="AnlRed" />
<vis name="TrackerSupportVis" ref="AnlBlue" visible="true" showDaughters="false" />
<vis name="TrackerServiceVis" ref="AnlGold" showDaughters="false" />
<vis name="TrackerLayerVis" ref="AnlGray" visible="true" showDaughters="true" />
<vis name="TrackerModuleVis" ref="TrackerLayerVis" visible="true" showDaughters="true" />
<vis name="TrackerMPGDVis" ref="AnlRed" visible="true" showDaughters="true" />
<comment> Layer-based visualization for MPGD detectors as it looks better </comment>
<vis name="TrackerGEMModuleVis" ref="TrackerMPGDVis" visible="true" showDaughters="false" />
<vis name="TrackerMMGASLayerVis" ref="TrackerMPGDVis" visible="true" showDaughters="false" />
<vis name="VertexLayerVis" ref="AnlGray" visible="true" showDaughters="false" />
<vis name="VertexSupportLayerVis" ref="AnlBlue" visible="true" showDaughters="false" />
<vis name="VertexSupportVis" ref="VertexSupportLayerVis" visible="true" showDaughters="true" />
<vis name="VertexModuleVis" ref="TrackerLayerVis" visible="true" showDaughters="true" />
<vis name="TOFVis" ref="AnlTeal" visible="true" showDaughters="true"/>
<vis name="TOFLayerVis" ref="TOFVis" visible="true" showdaughters="true"/>
<vis name="TOFModuleVis" ref="TOFVis" visible="true" showdaughters="true"/>
<vis name="TOFSupportVis" ref="TrackerSupportVis" visible="true" showDaughters="true"/>
<vis name="TOFSensorVis" ref="TOFVis" visible="true" showDaughters="true"/>
<vis name="TOFBarrelModuleVis" ref="TOFVis" visible="true" showdaughters="true"/>
<vis name="TOFHybridVis" ref="AnlGold" visible="true" showDaughters="true"/>
<vis name="TOFCoolingTube" ref="AnlRed" visible="true" showDaughters="true"/>
<vis name="TOFCoolant" ref="TrackerServiceVis" visible="true" showDaughters="true"/>
<vis name="TOFCSkinVis" ref="TrackerSupportVis" visible="true" showDaughters="true"/>
<vis name="TOFCFoamVis" ref="TrackerSupportVis" visible="true" showDaughters="true"/>
<vis name="TOFCHoneycombVis" ref="TrackerServiceVis" visible="true" showDaughters="true"/>
<vis name="FFTrackerVis" ref="AnlRed" />
<vis name="FFTrackerSupportVis" ref="AnlBlue" visible="true" showDaughters="false" />
<vis name="FFTrackerShieldingVis" ref="AnlGray" visible="true" showDaughters="false" />
<vis name="FFTrackerServiceVis" ref="AnlGold" visible="true" showDaughters="false" />
<vis name="FFTrackerLayerVis" ref="TrackerVis" visible="true" showDaughters="true" />
<vis name="FFTrackerModuleVis" ref="FFTrackerLayerVis" visible="true" showDaughters="true" />
<vis name="FFTrackerSurfaceVis" ref="FFTrackerLayerVis" visible="true" showDaughters="true" />
<comment> Display shielded modules in all their glory </comment>
<vis name="FFTrackerShieldedModuleVis" ref="FFTrackerModuleVis" visible="true" showDaughters="true" />
<comment>
ECal Vis
</comment>
<vis name="EcalBarrelLayerVis" ref="AnlGold" showDaughters="false" visible="true"/>
<vis name="EcalBarrelEnvelopeVis" ref="AnlGold" showDaughters="true" visible="false" />
<vis name="EcalBarrelStaveVis" ref="AnlGold" showDaughters="true" visible="true" />
<vis name="EcalBarrelFiberLayerVis" ref="AnlGold" showDaughters="false" visible="true" />
<vis name="EcalBarrelSliceVis" ref="AnlGray"/>
<vis name="EcalBarrelSupportVis" ref="AnlOrange"/>
<vis name="EcalVis" ref="AnlGold" showDaughters="true" visible="false"/>
<vis name="EcalEndcapVis" ref="AnlGold" showDaughters="false" visible="true"/>
<vis name="EcalEndcapLayerVis" ref="AnlGold" showDaughters="false" visible="true"/>
<vis name="EcalEndcapBlockVis" ref="AnlGold" showDaughters="false" visible="true"/>
<vis name="EcalEndcapNModuleVis" ref="AnlGold" showDaughters="false" visible="true"/>
<vis name="FFPreVis" ref="AnlGold" showDaughters="true" visible="true"/>
<vis name="FFPreLayerVis" ref="FFPreVis" showDaughters="true" visible="true"/>
<vis name="FFPreModuleVis" ref="FFPreLayerVis" showDaughters="true" visible="true"/>
<vis name="FFPreRadiatorVis" ref="FFPreModuleVis" showDaughters="true" visible="true"/>
<vis name="FFPreReadoutVis" ref="FFTrackerSurfaceVis" showDaughters="true" visible="true"/>
<comment>
HCal Vis
</comment>
<vis name="HcalVis" ref="AnlBlue" showDaughters="true" visible="true"/>
<vis name="HcalBarrelVis" ref="AnlBlue" showDaughters="true" visible="true"/>
<vis name="HcalBarrelStaveVis" ref="AnlBlue" showDaughters="false" visible="true"/>
<vis name="HcalBarrelLayerVis" ref="AnlBlue" showDaughters="true" visible="true"/>
<vis name="HcalEndcapVis" ref="AnlBlue" showDaughters="false" visible="true"/>
<vis name="HcalEndcapLayerVis" ref="AnlBlue" showDaughters="true" visible="true"/>
<vis name="HcalSensorVis" ref="AnlBlue" showDaughters="true" visible="true"/>
<vis name="HcalAbsorberVis" ref="AnlGray" showDaughters="true" visible="true"/>
<comment>
Passive steel for flux return
</comment>
<vis name="PassiveSteelVis" ref="AnlViolet" showDaughters="false" visible="true"/>
<comment>
Solenoid
</comment>
<vis name="SolenoidCoilVis" ref="AnlLight_Gray" showDaughters="true" visible="true" lineStyle="solid" drawingStyle="solid" />
<vis name="SolenoidCryostatVis" ref="AnlGray" showDaughters="true" visible="true" lineStyle="solid" drawingStyle="solid" />
<vis name="SolenoidYokeVis" ref="AnlLight_Gray" showDaughters="false" visible="true" lineStyle="solid" drawingStyle="solid" />
<comment>
PID Detectors
</comment>
<vis name="RICHVis" ref="AnlTeal" showDaughters="true"/>
<vis name="DIRCVis" ref="AnlTeal" showDaughters="true" visible="true"/>
<vis name="DIRCLayerVis" ref="AnlTeal" showDaughters="false" visible="true"/>
<vis name="DIRCModuleVis" ref="AnlTeal" showDaughters="true" visible="true"/>
<vis name="DIRCSupportVis" ref="AnlTeal" showDaughters="true" visible="true"/>
<vis name="DIRCFrameVis" ref="AnlOrange" showDaughters="true" visible="true"/>
<vis name="DIRCBarVis" ref="AnlTeal" showDaughters="true" visible="true"/>
<comment>
Beam line with magnets
</comment>
<vis name="BeamPipeVis" ref="AnlLightGray" showDaughters="true" visible="true"/>
<vis name="FFMagnetVis" ref="AnlGreen" showDaughters="true" visible="true"/>
<vis name="FFMagnetCoilVis" ref="AnlRed" showDaughters="true" visible="true"/>
<comment>
ZDC visualization
</comment>
<vis name="ffi_ZDC_ECAL_Vis" ref="AnlGreen" showDaughters="true" visible="true"/>
<vis name="ffi_ZDC_ECAL_module_Vis" ref="AnlRed" showDaughters="false" visible="true"/>
<vis name="ffi_ZDC_HCAL_Vis" ref="AnlBlue" showDaughters="true" visible="true"/>
<comment>
PID visualization
</comment>
<vis name="DRICH_vessel_vis" ref="AnlGray" showDaughters="true" visible="true" />
<vis name="DRICH_gas_vis" ref="AnlLightGray" alpha="0.2" showDaughters="true" visible="true" />
<vis name="DRICH_aerogel_vis" ref="AnlTeal" showDaughters="true" visible="true" />
<vis name="DRICH_filter_vis" alpha="1.0" r="1.0" g="1.0" b="0.0" showDaughters="true" visible="true" />
<vis name="DRICH_mirror_vis" ref="AnlGray" showDaughters="true" visible="true" />
<vis name="DRICH_sensor_vis" ref="AnlGreen" showDaughters="true" visible="true" />
<vis name="PFRICH_sensor_vis" ref="AnlGreen" showDaughters="true" visible="true" />
<vis name="MRICH_aerogel_vis" ref="AnlTeal" showDaughters="true" visible="true" />
<vis name="MRICH_frame_vis" ref="AnlGold" showDaughters="true" visible="true" />
<vis name="MRICH_lens_vis" ref="AnlGray" showDaughters="true" visible="true" />
<vis name="MRICH_mirror_vis" ref="AnlGray" showDaughters="true" visible="true" />
<vis name="RICHServiceVis" ref="AnlGray" showDaughters="true" visible="true" />
<comment>
Deprecated values used for IP6 vis
</comment>
<vis name="GreenVis" ref="AnlGreen" showDaughters="true" visible="true"/>
<vis name="RedVis" ref="AnlRed" showDaughters="true" visible="true"/>
<vis name="RPVis" ref="AnlDelta_Red" showDaughters="true" visible="true"/>
<vis name="RPLayerVis" ref="AnlTeal" showDaughters="true" visible="true" lineStyle="solid" drawingStyle="solid" />
<vis name="BlueVis" ref="AnlBlue" showDaughters="true" visible="true"/>
<vis name="OrangeVis" ref="AnlOrange" showDaughters="true" visible="true"/>
<vis name="BlueGreenVis" alpha="0.5" r= "0.0" g="1.0" b="1.0" showDaughters="true" visible="true"/>
<vis name="PurpleVis" alpha="1.0" r= "1.0" g="0.0" b="1.0" showDaughters="true" visible="true"/>
<vis name="DoubleRedG" alpha="0.5" r= "2.0" g=".10" b="0.0" showDaughters="true" visible="true"/>
<vis name="RBG015" alpha="0.5" r= "0.0" g=".2" b="1.0" showDaughters="true" visible="true"/>
<vis name="RBG510" alpha="0.5" r= "1.0" g=".2" b="0.0" showDaughters="true" visible="true"/>
<vis name="RBG" alpha="0.5" r= "1.0" g="1.0" b="1.0" showDaughters="true" visible="true"/>
<vis name="GrayVis" alpha="1.0" r= "0.75" g="0.75" b="0.75" showDaughters="true" visible="true"/>
<vis name="AnlRed_1" alpha="0.5" r="205/256" g="32/256" b="44/256"/>
</display>
<display>
<comment>
See compact/colors.xml for list of colors.
</comment>
<vis name="InvisibleNoDaughters" showDaughters="false" visible="false"/>
<vis name="InvisibleWithDaughters" showDaughters="true" visible="false"/>
<comment>
Tracking Visualizations
</comment>
<vis name="TrackerVis" ref="AnlRed" />
<vis name="TrackerSupportVis" ref="AnlBlue" visible="true" showDaughters="false" />
<vis name="TrackerServiceVis" ref="AnlGold" showDaughters="false" />
<vis name="TrackerLayerVis" ref="AnlGray" visible="true" showDaughters="true" />
<vis name="TrackerModuleVis" ref="TrackerLayerVis" visible="true" showDaughters="true" />
<vis name="TrackerMPGDVis" ref="AnlRed" visible="true" showDaughters="true" />
<comment> Simple visualization for Barrel MMGAS (apply to layers) and GEM endcap (apply to modules) for better performance </comment>
<vis name="TrackerGEMModuleVis" ref="TrackerMPGDVis" visible="true" showDaughters="false" />
<vis name="TrackerMMGASLayerVis" ref="TrackerMPGDVis" visible="true" showDaughters="false" />
<vis name="VertexLayerVis" ref="AnlGray" visible="true" showDaughters="false" />
<vis name="VertexSupportLayerVis" ref="AnlBlue" visible="true" showDaughters="false" />
<vis name="VertexSupportVis" ref="VertexSupportLayerVis" visible="true" showDaughters="true" />
<vis name="VertexModuleVis" ref="TrackerLayerVis" visible="true" showDaughters="true" />
<vis name="TOFVis" ref="AnlTeal" visible="true" showDaughters="true"/>
<vis name="TOFLayerVis" ref="TOFVis" visible="true" showdaughters="true"/>
<vis name="TOFModuleVis" ref="TOFVis" visible="true" showdaughters="true"/>
<vis name="TOFSupportVis" ref="TrackerSupportVis" visible="true" showDaughters="true"/>
<vis name="TOFSensorVis" ref="TOFVis" visible="true" showDaughters="true"/>
<vis name="TOFBarrelModuleVis" ref="TOFVis" visible="true" showdaughters="true"/>
<vis name="TOFHybridVis" ref="AnlGold" visible="true" showDaughters="true"/>
<vis name="TOFCoolingTube" ref="AnlRed" visible="true" showDaughters="true"/>
<vis name="TOFCoolant" ref="TrackerServiceVis" visible="true" showDaughters="true"/>
<vis name="TOFCSkinVis" ref="TrackerSupportVis" visible="true" showDaughters="true"/>
<vis name="TOFCFoamVis" ref="TrackerSupportVis" visible="true" showDaughters="true"/>
<vis name="TOFCHoneycombVis" ref="TrackerServiceVis" visible="true" showDaughters="true"/>
<vis name="FFTrackerVis" ref="AnlRed" />
<vis name="FFTrackerSupportVis" ref="AnlBlue" visible="true" showDaughters="false" />
<vis name="FFTrackerShieldingVis" ref="AnlGray" visible="true" showDaughters="false" />
<vis name="FFTrackerServiceVis" ref="AnlGold" visible="true" showDaughters="false" />
<vis name="FFTrackerLayerVis" ref="TrackerVis" visible="true" showDaughters="true" />
<vis name="FFTrackerModuleVis" ref="FFTrackerLayerVis" visible="true" showDaughters="true" />
<vis name="FFTrackerSurfaceVis" ref="FFTrackerLayerVis" visible="true" showDaughters="true" />
<comment> For shielded modules by default just display to module instead of 6 layers </comment>
<vis name="FFTrackerShieldedModuleVis" ref="FFTrackerModuleVis" visible="true" showDaughters="false" />
<comment>
ECal Vis
</comment>
<vis name="EcalBarrelLayerVis" ref="AnlGold" showDaughters="false" visible="true"/>
<vis name="EcalBarrelEnvelopeVis" ref="AnlGold" showDaughters="true" visible="false" />
<vis name="EcalBarrelStaveVis" ref="AnlGold" showDaughters="true" visible="true" />
<vis name="EcalBarrelFiberLayerVis" ref="AnlGold" showDaughters="false" visible="true" />
<vis name="EcalBarrelSliceVis" ref="AnlGray"/>
<vis name="EcalBarrelSupportVis" ref="AnlOrange"/>
<vis name="EcalVis" ref="AnlGold" showDaughters="true" visible="false"/>
<vis name="EcalEndcapVis" ref="AnlGold" showDaughters="false" visible="true"/>
<vis name="EcalEndcapLayerVis" ref="AnlGold" showDaughters="false" visible="true"/>
<vis name="EcalEndcapBlockVis" ref="AnlGold" showDaughters="false" visible="true"/>
<vis name="EcalEndcapNModuleVis" ref="AnlGold" showDaughters="false" visible="true"/>
<vis name="FFPreVis" ref="AnlGold" showDaughters="true" visible="true"/>
<vis name="FFPreLayerVis" ref="FFPreVis" showDaughters="true" visible="true"/>
<vis name="FFPreModuleVis" ref="FFPreLayerVis" showDaughters="true" visible="true"/>
<vis name="FFPreRadiatorVis" ref="FFPreModuleVis" showDaughters="true" visible="true"/>
<vis name="FFPreReadoutVis" ref="FFTrackerSurfaceVis" showDaughters="true" visible="true"/>
<comment>
HCal Vis
</comment>
<vis name="HcalVis" ref="AnlBlue" showDaughters="true" visible="true"/>
<vis name="HcalBarrelVis" ref="AnlBlue" showDaughters="true" visible="true"/>
<vis name="HcalBarrelStaveVis" ref="AnlBlue" showDaughters="false" visible="true"/>
<vis name="HcalBarrelLayerVis" ref="AnlBlue" showDaughters="true" visible="true"/>
<vis name="HcalEndcapVis" ref="AnlBlue" showDaughters="false" visible="true"/>
<vis name="HcalEndcapLayerVis" ref="AnlBlue" showDaughters="true" visible="true"/>
<vis name="HcalSensorVis" ref="AnlBlue" showDaughters="true" visible="true"/>
<vis name="HcalAbsorberVis" ref="AnlGray" showDaughters="true" visible="true"/>
<comment>
Passive steel for flux return
</comment>
<vis name="PassiveSteelVis" ref="AnlViolet" showDaughters="false" visible="true"/>
<comment>
Solenoid
</comment>
<vis name="SolenoidCoilVis" ref="AnlLight_Gray" showDaughters="true" visible="true" lineStyle="solid" drawingStyle="solid" />
<vis name="SolenoidCryostatVis" ref="AnlGray" showDaughters="true" visible="true" lineStyle="solid" drawingStyle="solid" />
<vis name="SolenoidYokeVis" ref="AnlLight_Gray" showDaughters="false" visible="true" lineStyle="solid" drawingStyle="solid" />
<comment>
PID Detectors
</comment>
<vis name="RICHVis" ref="AnlTeal" showDaughters="true"/>
<vis name="DIRCVis" ref="AnlTeal" showDaughters="true" visible="true"/>
<vis name="DIRCLayerVis" ref="AnlTeal" showDaughters="false" visible="true"/>
<vis name="DIRCModuleVis" ref="AnlTeal" showDaughters="true" visible="true"/>
<vis name="DIRCSupportVis" ref="AnlTeal" showDaughters="true" visible="true"/>
<vis name="DIRCFrameVis" ref="AnlOrange" showDaughters="true" visible="true"/>
<vis name="DIRCBarVis" ref="AnlTeal" showDaughters="true" visible="true"/>
<comment>
Beam line with magnets
</comment>
<vis name="BeamPipeVis" ref="AnlLightGray" showDaughters="true" visible="true"/>
<vis name="FFMagnetVis" ref="AnlGreen" showDaughters="true" visible="true"/>
<vis name="FFMagnetCoilVis" ref="AnlRed" showDaughters="true" visible="true"/>
<comment>
ZDC visualization
</comment>
<vis name="ffi_ZDC_ECAL_Vis" ref="AnlGreen" showDaughters="true" visible="true"/>
<vis name="ffi_ZDC_ECAL_module_Vis" ref="AnlRed" showDaughters="false" visible="true"/>
<vis name="ffi_ZDC_HCAL_Vis" ref="AnlBlue" showDaughters="true" visible="true"/>
<comment>
PID visualization
</comment>
<vis name="DRICH_vessel_vis" ref="AnlGray" showDaughters="true" visible="true" />
<vis name="DRICH_gas_vis" ref="AnlLightGray" alpha="0.2" showDaughters="true" visible="true" />
<vis name="DRICH_aerogel_vis" ref="AnlTeal" showDaughters="true" visible="true" />
<vis name="DRICH_filter_vis" alpha="1.0" r="1.0" g="1.0" b="0.0" showDaughters="true" visible="true" />
<vis name="DRICH_mirror_vis" ref="AnlGray" showDaughters="true" visible="true" />
<vis name="DRICH_sensor_vis" ref="AnlGreen" showDaughters="true" visible="true" />
<vis name="PFRICH_sensor_vis" ref="AnlGreen" showDaughters="true" visible="true" /> <!-- invisible, to speedup graphics -->
<vis name="MRICH_aerogel_vis" ref="AnlTeal" showDaughters="true" visible="true" />
<vis name="MRICH_frame_vis" ref="AnlGold" showDaughters="true" visible="true" />
<vis name="MRICH_lens_vis" ref="AnlGray" showDaughters="true" visible="true" />
<vis name="MRICH_mirror_vis" ref="AnlGray" showDaughters="true" visible="true" />
<vis name="RICHServiceVis" ref="AnlGray" showDaughters="true" visible="true" />
<comment>
Deprecated values used for IP6 vis
</comment>
<vis name="GreenVis" ref="AnlGreen" showDaughters="true" visible="true"/>
<vis name="RedVis" ref="AnlRed" showDaughters="true" visible="true"/>
<vis name="RPVis" ref="AnlDelta_Red" showDaughters="true" visible="true"/>
<vis name="RPLayerVis" ref="AnlTeal" showDaughters="true" visible="true" lineStyle="solid" drawingStyle="solid" />
<vis name="BlueVis" ref="AnlBlue" showDaughters="true" visible="true"/>
<vis name="OrangeVis" ref="AnlOrange" showDaughters="true" visible="true"/>
<vis name="BlueGreenVis" alpha="0.5" r= "0.0" g="1.0" b="1.0" showDaughters="true" visible="true"/>
<vis name="PurpleVis" alpha="1.0" r= "1.0" g="0.0" b="1.0" showDaughters="true" visible="true"/>
<vis name="DoubleRedG" alpha="0.5" r= "2.0" g=".10" b="0.0" showDaughters="true" visible="true"/>
<vis name="RBG015" alpha="0.5" r= "0.0" g=".2" b="1.0" showDaughters="true" visible="true"/>
<vis name="RBG510" alpha="0.5" r= "1.0" g=".2" b="0.0" showDaughters="true" visible="true"/>
<vis name="RBG" alpha="0.5" r= "1.0" g="1.0" b="1.0" showDaughters="true" visible="true"/>
<vis name="GrayVis" alpha="1.0" r= "0.75" g="0.75" b="0.75" showDaughters="true" visible="true"/>
<vis name="AnlRed_1" alpha="0.5" r="205/256" g="32/256" b="44/256"/>
</display>
<?xml version="1.0" encoding="UTF-8"?>
<lccdd>
<define>
<!-- vessel (=snout+tank) geometry -->
<constant name="DRICH_zmin" value="ForwardRICHRegion_zmin"/> <!-- vessel front -->
<constant name="DRICH_Length" value="ForwardRICHRegion_length"/> <!-- overall vessel length (including snout) -->
<constant name="DRICH_rmin0" value="ForwardRICHRegion_zmin * ForwardRICHRegion_tan1"/> <!-- bore radius at dRICh vessel frontplane -->
<constant name="DRICH_rmin1" value="(ForwardRICHRegion_zmin + ForwardRICHRegion_length) * ForwardRICHRegion_tan2"/> <!-- bore radius at dRICh vessel backplane -->
<constant name="DRICH_wall_thickness" value="0.5*cm"/> <!-- thickness of radial walls -->
<constant name="DRICH_window_thickness" value="0.1*cm"/> <!-- thickness of entrance and exit walls -->
<!-- tank geometry: cylinder, holding the majority of detector components -->
<constant name="DRICH_rmax2" value="HcalBarrel_rmin-10*cm"/> <!-- cylinder radius, near maximal to fit HCal barrel inner polygon -->
<!-- snout geometry: cone with front radius rmax0 and back radius of rmax1 -->
<constant name="DRICH_SnoutLength" value="4.0*cm"/>
<constant name="DRICH_SnoutSlope" value="DRICH_rmax2 / (DRICH_zmin + DRICH_Length)"/>
<constant name="DRICH_rmax0" value="DRICH_SnoutSlope * DRICH_zmin"/>
<constant name="DRICH_rmax1" value="DRICH_SnoutSlope * ( DRICH_zmin + DRICH_SnoutLength)"/>
<!-- additional parameters -->
<constant name="DRICH_aerogel_thickness" value="4.0*cm"/> <!-- aerogel thickness -->
<constant name="DRICH_sensor_size" value="48.0*mm"/> <!-- sensor side length -->
<constant name="DRICH_sensor_thickness" value="35.0*mm"/> <!-- sensor thickness -->
<constant name="DRICH_num_px" value="16"/> <!-- number of pixels along one side of the sensor -->
<!-- debugging switches -->
<comment>
- `DRICH_debug_optics`: 1 = all components become vacuum, except for mirrors; test opticalphotons from IP
2 = all components become vacuum, except for mirrors and `gasvol`, test charged particles from IP
0 = off
- `DRICH_debug_mirror`: 1 = draw full mirror shape for single sector; 0 = off
- `DRICH_debug_sensors`: 1 = draw full sensor sphere for a single sector; 0 = off
</comment>
<constant name="DRICH_debug_optics" value="0"/>
<constant name="DRICH_debug_mirror" value="0"/>
<constant name="DRICH_debug_sensors" value="0"/>
</define>
<detectors>
<!-- /detectors/detector -->
<documentation level="10">
### dRICh: ***d***ual ***R***ing ***I***maging ***Ch***erenkov detector
</documentation>
<detector
id="ForwardRICH_ID"
name="DRICH"
type="athena_DRICH"
readout="DRICHHits"
gas="C2F6_DRICH"
material="Aluminum"
vis_vessel="DRICH_vessel_vis"
vis_gas="DRICH_gas_vis"
debug_optics="DRICH_debug_optics"
>
<!-- /detectors/detector/dimensions -->
<documentation level="10">
#### Vessel
- the dRICh vessel is composed of two parts:
- tank: cylindrical region containing most of the detector components
- snout: conical region at the front of the vessel, containing the aerogel
- dimensions:
- `zmin`: z-position of vessel front plane
- `length`: overall z-length of the full vessel
- `snout_length`: length of cone-shaped snout region, housing aerogel
- `rmin0` and `rmin1`: bore radius at front plane and back plane, respectively
- `rmax0` and `rmax1`: outer radius of snout at front plane and snout-back (tank-front) plane, respectively
- `rmax2`: outer radius of tank, the main cylindrical vessel volume
- `nsectors`: number of azimuthal sectors
- `wall_thickness`: thickness of radial walls
- `window_thickness`: thickness of entrance and exit disks
</documentation>
<dimensions
zmin="DRICH_zmin"
length="DRICH_Length"
snout_length="DRICH_SnoutLength"
rmin0="DRICH_rmin0"
rmin1="DRICH_rmin1"
rmax0="DRICH_rmax0"
rmax1="DRICH_rmax1"
rmax2="DRICH_rmax2"
nsectors="6"
wall_thickness="DRICH_wall_thickness"
window_thickness="DRICH_window_thickness"
/>
<!-- /detectors/detector/radiator -->
<documentation level="10">
#### Radiator
- radiator is defined in a wedge of azimuthal space, composed of aerogel and a
filter; the filter is applied to the back of the aerogel, so that it separates
the aerogel and gas radiators
- dimensions:
- `frontplane`: front of the aerogel, w.r.t. front plane of the vessel envelope
- `rmin` and `rmax`: inner and outer radius (at the front plane; radial bounds are conical)
- `phiw`: azimuthal width of wedge
- `thickness`: radiator thickness, defined separately for aerogel and filter
- `pitch`: controls the angle of the radiator (0=vertical)
</documentation>
<radiator
rmin="DRICH_rmin0 + DRICH_wall_thickness + 0.2*cm"
rmax="DRICH_rmax0 - DRICH_wall_thickness - 0.2*cm"
phiw="60*degree"
frontplane="DRICH_window_thickness + 0.5*DRICH_aerogel_thickness"
pitch="0*degree"
>
<aerogel
material="Aerogel_DRICH"
vis="DRICH_aerogel_vis"
thickness="DRICH_aerogel_thickness"
/>
<filter
material="Acrylic_DRICH"
vis="DRICH_filter_vis"
thickness="0.3*mm"
/>
</radiator>
<!-- /detectors/detector/mirror -->
<documentation level="10">
#### Spherical mirror
- spherical mirrors are built from spherical patches, and positioned near the
vessel back plane, separately for each sector
- dimensions:
- `backplane`: the position of the maximum z-plane intersected by the sphere,
w.r.t. the back plane of vessel envelope
- `rmin` and `rmax`: polar angle boundaries
- `phiw`: azimuthal width of one sector
- `thickness` is the radial thickness of the mirror; note that `backplane` is given for the
reflective mirror surface, the inner radius of the sphere
- `focus_tune*` are tuning parameters for the focal region:
- `focus_tune_z` and `focus_tune_x` will move the focal region, with respect
to the sensor sphere center (i.e., set both to zero for focus at the sensor sphere center
(ignoring spherical aberrations effects))
- other settings:
- `debug`: set to 1 so draw reference sphere instead, view with y-clipping
</documentation>
<mirror
material="Acrylic_DRICH"
surface="MirrorSurface_DRICH"
vis="DRICH_mirror_vis"
backplane="DRICH_window_thickness + 1.0*cm"
rmin="DRICH_rmin1 + DRICH_wall_thickness - 1.0*cm"
rmax="DRICH_rmax2 - DRICH_wall_thickness - 1.0*cm"
phiw="59.5*degree"
thickness="0.2*cm"
focus_tune_x="30.0*cm"
focus_tune_z="-40.0*cm"
debug="DRICH_debug_mirror"
/>
<!-- /detectors/detector/sensors -->
<documentation level="10">
#### Sensors
</documentation>
<sensors>
<!-- /detectors/detector/sensors/module -->
<documentation level="10">
##### Sensor module
- based on [Hamamatsu H13700 MAPMT](https://www.hamamatsu.com/us/en/product/type/H13700/index.html):
- not ideal for a magnetic field, SiPM matrix would be better
- effective area: 48.5x48.5 mm
- enclosure size: 52x52 mm
- 16x16 channel matrix (cf. readout segmentation below)
- pixel size: 3x3 mm
- dimensions:
- `side`: side length of the square module
- `thickness`: thickness of the sensor module
- `gap`: provides room between the squares, to help prevent them from overlapping
- note: the value of `side` will determine how many sensors there are, since the
sensor placement algorithm will try to place as many as it can in the specified
spherical patch below
</documentation>
<module
material="Silicon"
surface="SensorSurface_DRICH"
vis="DRICH_sensor_vis"
side="DRICH_sensor_size"
thickness="DRICH_sensor_thickness"
gap="0.5*(52-48)*mm + 2*mm"
/>
<!-- /detectors/detector/sensors/{sphere,sphericalpatch} -->
<documentation level="10">
##### Sensor sphere
- sensors will be placed on a sphere, using a "disco ball" tiling algorithm; each
sector has its own sensor sphere
- sphere dimensions:
- `centerx` and `centerz`: sphere center, defined w.r.t. vessel front plane,
for the sector on +x axis
- `radius`: radius of the sensor sphere
- other settings:
- `debug`: set to 1 so draw reference sphere instead, view with y-clipping
- sensors will be limited to a patch of the sphere
- patch dimensions:
- `phiw`: defines half the angle between the azimuthal boundaries
- `rmin` and `rmax`: radial cut boundaries
- `zmin`: z-plane cut
</documentation>
<sphere
centerz="-55.0 * cm"
centerx="DRICH_rmax2 - 35.0*cm"
radius="85.0 * cm"
debug="DRICH_debug_sensors"
/>
<sphericalpatch
phiw="18*degree"
rmin="DRICH_rmax1 + 5.0*cm"
rmax="DRICH_rmax2 - 5.0*cm"
zmin="DRICH_SnoutLength + 5.0*cm"
/>
</sensors>
</detector>
</detectors>
<documentation level="10">
#### Readout
- segmentation: square matrix of pixels
- `grid_size_x,y`: size of each sensor, but note we must divide sensor size
by 1 less than the number of pixels, to account for fenceposting
- `offset_x,y`: specified such that the `x` and `y` indicators are unsigned
- indicators and `cellID` bits:
| indicator | offset | length |
|-----------|--------|--------|
| dRICh ID | 0 | 8 |
| sector | 8 | 3 |
| sensor | 11 | 12 |
| x pixel | 23 | 16 |
| y pixel | 39 | 16 |
</documentation>
<readouts>
<readout name="DRICHHits">
<segmentation
type="CartesianGridXY"
grid_size_x="DRICH_sensor_size/(DRICH_num_px-1)"
grid_size_y="DRICH_sensor_size/(DRICH_num_px-1)"
offset_x="-DRICH_sensor_size/2.0"
offset_y="-DRICH_sensor_size/2.0"
/>
<id>system:8,sector:3,module:12,x:23:16,y:16</id>
</readout>
</readouts>
</lccdd>
This diff is collapsed.
<lccdd>
<define>
<comment>
Transition area.
The idea behind this parametrization is that:
one glass module with its wrap is always
a size of 4 crystal modules with its wraps.
Then the transition area (where glass meets crystals) has no gaps
+----------------+----------------+
| +----+ +----+ | +----------+ |
| | | | | | | | |
| +----+ +----+ | | | |
| +----+ +----+ | | | |
| | | | | | | | |
| +----+ +----+ | +----------+ |
+----------------+----------------+
crystal glass
This implies that:
GlassModule_wrap = 2*CrystalModule_wrap
GlassModule_sx = 2*CrystalModule_sx
GlassModule_sy = 2*CrystalModule_sy
</comment>
<constant name="CrystalModule_width" value="20.00*mm"/>
<constant name="CrystalModule_length" value="200.00*mm"/>
<constant name="CrystalModule_wrap" value="0.50*mm"/>
<constant name="CrystalModule_z0" value="0.0*cm"/>
<constant name="GlassModule_width" value="2*CrystalModule_width"/>
<constant name="GlassModule_length" value="55.00*cm"/>
<constant name="GlassModule_wrap" value="2*CrystalModule_wrap"/>
<constant name="GlassModule_z0" value="0.0*cm"/>
<constant name="EcalEndcapNIonCutout_dphi" value="30*degree"/>
<constant name="EcalEndcapN_thickness" value="GlassModule_length"/>
<constant name="EcalEndcapN_z0" value="-EcalEndcapN_zmin - EcalEndcapN_thickness/2"/>
<constant name="EcalEndcapNCrystal_rmax" value="40*cm"/>
<constant name="CrystalModule_distance" value="CrystalModule_width + CrystalModule_wrap"/>
<constant name="GlassModule_distance" value="GlassModule_width + GlassModule_wrap"/>
</define>
<display>
<vis name="HybridEcalOuterVis" alpha="0.5" r= "0.3" g="0.3" b="0.3" showDaughters="true" visible="true"/>
</display>
<detectors>
<documentation level="10">
#### Backwards Endcap EM Calorimeter
Backwards Endcap EM Calorimeter, placements generated by script
</documentation>
<detector id="ECalEndcapN_ID" name="EcalEndcapN" type="HybridCalorimeter" readout="EcalEndcapNHits">
<position x="0" y="0" z="EcalEndcapN_z0"/>
<rotation x="0" y="0" z="0"/>
</detector>
</detectors>
<readouts>
<comment>Effectively no segmentation, the segmentation is used to provide cell dimension info</comment>
<readout name="EcalEndcapNHits">
<segmentation type="MultiSegmentation" key="sector">
<segmentation name="CrystalSeg" key_value="1" type="CartesianGridXY" grid_size_x="CrystalModule_distance" grid_size_y="CrystalModule_distance"/>
<segmentation name="GlassSeg" key_value="2" type="CartesianGridXY" grid_size_x="GlassModule_distance" grid_size_y="GlassModule_distance"/>
</segmentation>
<id>system:8,sector:4,module:20,x:32:-16,y:-16</id>
</readout>
</readouts>
</lccdd>
This diff is collapsed.
This diff is collapsed.