Skip to content
Snippets Groups Projects

Electron Endcap ECAL

Merged Jihee Kim requested to merge jihee.kim/NPDet:master into master
2 unresolved threads
Files
6
 
<lccdd xmlns:compact="http://www.lcsim.org/schemas/compact/1.0"
 
xmlns:xs="http://www.w3.org/2001/XMLSchema"
 
xs:noNamespaceSchemaLocation="http://www.lcsim.org/schemas/compact/1.0/compact.xsd">
 
 
<!-- Some information about detector -->
 
<info name="Electron_Endcap_EMcal_PbWO4_example" title="Electron Endcap EMCAL detector example"
 
author="Jihee Kim"
 
url="https://eicweb.phy.anl.gov/EIC/NPDet"
 
status="development"
 
version="v1.1 2020-03-31">
 
<comment>Electron Endcap EMCAL detector</comment>
 
</info>
 
 
<!-- Use DD4hep elements and materials definitions -->
 
<includes>
 
<gdmlFile ref="elements.xml"/>
 
<gdmlFile ref="materials.xml"/>
 
</includes>
 
 
<!-- Define the dimensions of the world volume -->
 
<define>
 
<constant name="world_side" value="10*m"/>
 
<constant name="world_x" value="world_side"/>
 
<constant name="world_y" value="world_side"/>
 
<constant name="world_z" value="world_side"/>
 
 
<constant name="CrossingAngle" value="0.020*rad"/>
 
 
<constant name="tracker_region_zmax" value="5 * m"/>
 
<constant name="tracker_region_rmax" value="5 * m"/>
 
<constant name="tracking_region_radius" value="1269 * mm"/>
 
<constant name="tracking_region_zmax_orig" value="1684 * mm"/>
 
<constant name="trackerZScale" value="1"/>
 
<constant name="tracking_region_zmax" value="tracking_region_zmax_orig * trackerZScale"/>
 
<constant name="CaloSides" value="12"/>
 
<constant name="CaloInnerRadius" value="0.1 * tracking_region_zmax"/>
 
 
<constant name="EcalBarrel_rmin" value="tracking_region_radius + 1 * mm"/>
 
<constant name="EcalEndcap_zmin" value="tracking_region_zmax + 1 * mm"/>
 
<constant name="EcalThinLayers" value="20"/>
 
<constant name="EcalThickLayers" value="10"/>
 
<constant name="EcalSiliconThickness" value="0.32 * mm"/>
 
<constant name="EcalCopperThickness" value="0.05 * mm"/>
 
<constant name="EcalKaptonThickness" value="0.3 * mm"/>
 
<constant name="EcalAir1Thickness" value="0.33 * mm"/>
 
<constant name="EcalAir2Thickness" value="0.25 * mm"/>
 
<constant name="EcalThinTungstenThickness" value="2.5 * mm"/>
 
<constant name="EcalThickTungstenThickness" value="5 * mm"/>
 
<constant name="EcalThickness" value="(EcalThinLayers + EcalThickLayers + 1) * (EcalSiliconThickness + EcalCopperThickness + EcalKaptonThickness + EcalAir1Thickness) + (EcalThinLayers + EcalThickLayers) * EcalAir2Thickness + EcalThinLayers * EcalThinTungstenThickness + EcalThickLayers * EcalThickTungstenThickness"/>
 
<!-- Added for Endcap -->
 
<constant name="EcalEndcap_ID" value="7"/>
 
<constant name="EcalEndcap_rmin" value="EcalBarrel_rmin + EcalThickness + 1 * mm"/>
 
<constant name="EcalEndcap_rmax" value="EcalEndcap_rmin + EcalThickness + 1 * mm"/>
 
<!-- -->
 
 
<constant name="HcalBarrel_rmin" value="EcalBarrel_rmin + EcalThickness + 1 * mm"/>
 
<constant name="HcalEndcap_zmin" value="EcalEndcap_zmin + EcalThickness + 1 * mm"/>
 
<constant name="HcalLayers" value="30"/>
 
<constant name="HcalSteelThickness" value="1.89 * cm"/>
 
<constant name="HcalPyrexThickness" value="1.1 * mm"/>
 
<constant name="HcalRPCGasThickness" value="1.2 * mm"/>
 
<constant name="HcalG10Thickness" value="3 * mm"/>
 
<constant name="HcalAirThickness" value="1.6 * mm"/>
 
<constant name="HcalThickness" value="HcalLayers * (HcalSteelThickness + 2 * HcalPyrexThickness + HcalRPCGasThickness + HcalG10Thickness + HcalAirThickness)"/>
 
</define>
 
 
<limits>
 
<limitset name="cal_limits">
 
<limit name="step_length_max" particles="*" value="5.0" unit="mm" />
 
</limitset>
 
<limitset name="SimpleRomanPotRegionLimitSet">
 
<limit name="step_length_max" particles="*" value="1.0" unit="mm" />
 
<limit name="track_length_max" particles="*" value="1.0" unit="mm" />
 
<limit name="time_max" particles="*" value="0.1" unit="ns" />
 
<limit name="ekin_min" particles="*" value="0.001" unit="MeV" />
 
<limit name="range_min" particles="*" value="0.1" unit="mm" />
 
</limitset>
 
</limits>
 
 
<regions>
 
<region name="SimpleRomanPotRegion" eunit="MeV" lunit="mm" cut="0.0001" threshold="0.0001">
 
<limitsetref name="SimpleRomanPotRegionLimitSet"/>
 
</region>
 
</regions>
 
 
<!-- Common Generic visualization attributes -->
 
<comment>Common Generic visualization attributes</comment>
 
<display>
 
<vis name="InvisibleNoDaughters" showDaughters="false" visible="false"/>
 
<vis name="InvisibleWithDaughters" showDaughters="true" visible="false"/>
 
<vis name="GreenVis" alpha="0.5" r= "0.0" g="1.0" b="0.0" showDaughters="true" visible="true"/>
 
<vis name="RedVis" alpha="0.5" r= "1.0" g="0.0" b="0.0" showDaughters="true" visible="true"/>
 
<vis name="BlueVis" alpha="0.5" r= "0.0" g="0.0" b="1.0" showDaughters="true" visible="true"/>
 
<vis name="OrangeVis" alpha="0.5" 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="0.5" 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="0.5" r= "0.75" g="0.75" b="0.75" showDaughters="true" visible="true"/>
 
 
<!-- Added -->
 
<vis name="EcalBarrelVis" alpha="1.0" r="1.0" g="1.0" b="0.0" showDaughters="true" visible="false"/>
 
<vis name="EcalStaveVis" alpha="1.0" r="0.0" g="0.0" b="1.0" showDaughters="true" visible="true"/>
 
<vis name="EcalLayerVis" alpha="1.0" r="0.8" g="0.8" b="0.0" showDaughters="true" visible="true"/>
 
<vis name="EcalSensitiveVis" alpha="1.0" r="0.7" g="0.3" b="0.0" showDaughters="false" visible="true"/>
 
<vis name="EcalAbsorberVis" alpha="1.0" r="0.4" g="0.4" b="0.0" showDaughters="false" visible="true"/>
 
<vis name="EcalEndcapVis" alpha="1.0" r="0.77" g="0.74" b="0.86" showDaughters="true" visible="true"/>
 
<!-- -->
 
 
</display>
 
 
<!-- Define detector -->
 
<detectors>
 
<detector id="1" name="ForwardElectronECAL" type="CrystalEndcapECAL" readout="EcalEndcapHits" vis="RedVis">
 
<dimensions rmin="15.0*cm" rmax="60.0*cm" zmin="-30.0*cm" zmax="30.0*cm"/>
 
<comment>Electromagnetic Calorimeter Endcaps</comment>
 
</detector>
 
</detectors>
 
 
<!-- Definition of the readout segmentation/definition -->
 
<readouts>
 
<readout name="EcalEndcapHits">
 
<segmentation type="CartesianGridXY" grid_size_x="3.5*cm" grid_size_y="3.5*cm" />
 
<id>system:8,sector:4,module:20,layer:6,x:48:-8,y:-8</id>
 
</readout>
 
</readouts>
 
 
 
<plugins>
 
<plugin name="InstallSurfaceManager"/>
 
</plugins>
 
 
<fields>
 
<field name="GlobalSolenoid" type="solenoid"
 
inner_field="4.0*tesla"
 
outer_field="-0.6*tesla"
 
zmax="3*m"
 
outer_radius="2*m">
 
</field>
 
</fields>
 
</lccdd>
Loading