<lccdd> <display> </display> <define> <comment> --------------------------------------- EM Calorimeter Parameters with AstroPix --------------------------------------- </comment> <comment> To change the number of imaging layers from, e.g., 9 to 6, change EcalBarrelImagingLayers_nMax variable </comment> <constant name="EcalBarrelImagingLayers_nMax" value="9"/> <constant name="EcalBarrel_Support_thickness" value="5*cm"/> <constant name="EcalBarrel_SiliconThickness" value="500*um"/> <constant name="EcalBarrel_ElectronicsThickness" value="150*um"/> <constant name="EcalBarrel_CopperThickness" value="100*um"/> <constant name="EcalBarrel_KaptonThickness" value="200*um"/> <constant name="EcalBarrel_EpoxyThickness" value="100*um"/> <constant name="EcalBarrel_CarbonThickness" value="0.5*mm"/> <constant name="EcalBarrel_CarbonSpacerWidth" value="4*mm"/> <constant name="EcalBarrel_LayerSpacing" value="10.0*mm"/> <constant name="EcalBarrel_FiberRadius" value="0.5*mm"/> <constant name="EcalBarrel_FiberXSpacing" value="1.34*mm"/> <constant name="EcalBarrel_FiberZSpacing" value="1.22*mm"/> <constant name="EcalBarrel_SpaceBetween" value="0.1*mm"/> <comment> For Pb/SiFi (GlueX): X0 ~ 1.45 cm For W/SiFi (sPHENIX): X0 ~ 0.7 cm (but different fiber orientation) </comment> <constant name="EcalBarrel_RadiatorThickness" value="EcalBarrel_FiberZSpacing*13"/> <constant name="EcalBarrel_ModRepeat" value="CaloSides"/> <constant name="EcalBarrel_ModLength" value="0.5*m"/> <constant name="EcalBarrel_ModWidth" value="0.5*m"/> <constant name="EcalBarrel_AvailThickness" value="EcalBarrelRegion_thickness-EcalBarrel_Support_thickness"/> <constant name="EcalBarrel_ImagingLayerThickness" value="EcalBarrel_SiliconThickness + EcalBarrel_ElectronicsThickness + EcalBarrel_CopperThickness + EcalBarrel_KaptonThickness + EcalBarrel_EpoxyThickness + EcalBarrel_CarbonThickness"/> <constant name="EcalBarrel_ScFiLayerThickness" value="EcalBarrel_RadiatorThickness + EcalBarrel_CarbonThickness + EcalBarrel_LayerSpacing"/> <constant name="EcalBarrelImagingLayers_num" value="min(EcalBarrelImagingLayers_nMax, floor((EcalBarrel_AvailThickness-EcalBarrel_ImagingLayerThickness)/ (EcalBarrel_ImagingLayerThickness + EcalBarrel_ScFiLayerThickness + EcalBarrel_SpaceBetween)))"/> <comment> Adjusting size of the ScFi back chunk to match number of imiaging layers and 20 radiation lengths in total </comment> <constant name="EcalBarrel_FiberChunkLayers_num" value = "20-EcalBarrelImagingLayers_num+1"/> <constant name="EcalBarrel_ImagingPartThickness" value="(EcalBarrelImagingLayers_num-1)*(EcalBarrel_ImagingLayerThickness + EcalBarrel_ScFiLayerThickness + EcalBarrel_SpaceBetween) + EcalBarrel_ImagingLayerThickness + EcalBarrel_SpaceBetween"/> <constant name="EcalBarrel_ScFiPartThickness_max" value="max(0, EcalBarrel_AvailThickness-EcalBarrel_ImagingPartThickness)"/> <constant name="EcalBarrel_ScFiPartThickness" value="min(EcalBarrel_ScFiPartThickness_max, EcalBarrel_FiberZSpacing*13*EcalBarrel_FiberChunkLayers_num)"/> <constant name="EcalBarrel_SensitiveLayers_rmax" value="EcalBarrel_rmin + EcalBarrel_ImagingPartThickness + EcalBarrel_ScFiPartThickness"/> </define> <limits> </limits> <regions> </regions> <display> </display> <detectors> <comment> --------------------------------------- Imaging Layers of Barrel EM Calorimeter --------------------------------------- Silicon (Astropix) readout layers for imaging 3d showers </comment> <detector id="ECalBarrel_ID" name="EcalBarrelImaging" type="athena_EcalBarrelInterlayers" readout="EcalBarrelHits" calorimeterType="EM_BARREL" vis="EcalBarrelEnvelopeVis" offset="EcalBarrel_offset"> <dimensions numsides="EcalBarrel_ModRepeat" rmin="EcalBarrel_rmin" z="EcalBarrel_length"/> <layer repeat="EcalBarrelImagingLayers_num" vis="EcalBarrelLayerVis" space_between="EcalBarrel_ScFiLayerThickness + EcalBarrel_SpaceBetween" space_before="0.*cm"> <slice material="Silicon" thickness="EcalBarrel_SiliconThickness" sensitive="yes" limits="cal_limits" vis="EcalBarrelSliceVis"/> <slice material="Silicon" thickness="EcalBarrel_ElectronicsThickness" vis="EcalBarrelSliceVis"/> <slice material="Copper" thickness="EcalBarrel_CopperThickness" vis="EcalBarrelSliceVis"/> <slice material="Kapton" thickness="EcalBarrel_KaptonThickness" vis="EcalBarrelSliceVis"/> <slice material="Epoxy" thickness="EcalBarrel_EpoxyThickness" vis="EcalBarrelSliceVis"/> <slice material="CarbonFiber" thickness="EcalBarrel_CarbonThickness" vis="EcalBarrelSliceVis"/> </layer> </detector> <comment> --------------------------------------- Pb/ScFi Layers of Barrel EM Calorimeter --------------------------------------- </comment> <detector id="ECalBarrel2_ID" name="EcalBarrelScFi" type="athena_EcalBarrelInterlayers" readout="EcalBarrelScFiHits" calorimeterType="EM_BARREL" vis="EcalBarrelEnvelopeVis" offset="EcalBarrel_offset"> <dimensions numsides="EcalBarrel_ModRepeat" rmin="EcalBarrel_rmin" z="EcalBarrel_length"/> <staves vis="EcalBarrelStaveVis"> <support material="Steel235" vis="EcalBarrelSupportVis" n_beams="3" grid_size="25.0*cm" thickness="EcalBarrel_Support_thickness" beam_thickness="EcalBarrel_Support_thickness/4" > </support> </staves> <layer repeat="EcalBarrelImagingLayers_num-1" vis="EcalBarrelLayerVis" space_between="EcalBarrel_ImagingLayerThickness + EcalBarrel_SpaceBetween" space_before="EcalBarrel_ImagingLayerThickness + EcalBarrel_SpaceBetween/2."> <slice material="Lead" thickness="EcalBarrel_RadiatorThickness" vis="EcalBarrelFiberLayerVis"> <fiber material="PlasticScint" sensitive="yes" radius="EcalBarrel_FiberRadius" spacing_x="EcalBarrel_FiberXSpacing" spacing_z="EcalBarrel_FiberZSpacing" vis="EcalBarrelFiberLayerVis"> </fiber> </slice> <slice material="CarbonFiber" thickness="EcalBarrel_CarbonThickness" vis="EcalBarrelSliceVis"/> <slice material="Air" thickness="EcalBarrel_LayerSpacing " vis="EcalBarrelSliceVis"/> </layer> <layer repeat="EcalBarrel_FiberChunkLayers_num" vis="EcalBarrelLayerVis" space_before="EcalBarrel_ImagingLayerThickness + EcalBarrel_SpaceBetween"> <slice material="Lead" thickness="EcalBarrel_ScFiPartThickness/EcalBarrel_FiberChunkLayers_num" vis="EcalBarrelFiberLayerVis"> <fiber material="PlasticScint" sensitive="yes" radius="EcalBarrel_FiberRadius" spacing_x="EcalBarrel_FiberXSpacing" spacing_z="EcalBarrel_FiberZSpacing" vis="EcalBarrelFiberLayerVis"> </fiber> </slice> </layer> </detector> </detectors> <readouts> <readout name="EcalBarrelHits"> <segmentation type="CartesianGridXY" grid_size_x="0.5 * mm" grid_size_y="0.5 * mm"/> <id>system:8,module:8,layer:8,slice:8,x:32:-16,y:-16</id> </readout> <readout name="EcalBarrelScFiHits"> <segmentation type="NoSegmentation"/> <id>system:8,module:8,layer:8,slice:8,grid:16,fiber:16</id> </readout> </readouts> </lccdd>