diff --git a/compact/ecal.xml b/compact/ecal.xml index a98a381b76bfe0771f08fd436b3c17cb2c8e60a6..9013cb9d64d51d281320dbbd7ae08c0bf5c9dfd6 100644 --- a/compact/ecal.xml +++ b/compact/ecal.xml @@ -1,6 +1,77 @@ <lccdd> <define> + <constant name="cb_EMCAL_ID" value="20"/> + <comment> + ------------ + Calorimeters + ------------ + </comment> + <constant name="EcalBarrel_rmin" value="1000*mm"/> + <constant name="HcalBarrel_rmax" value="Solenoid_rmin - 5.0 *cm "/> + <constant name="AvailTotalBarrelCalorimetryThickness" value="HcalBarrel_rmax - EcalBarrel_rmin"/> + <constant name="CalBarrelDivider" value="0.5"/> <comment> Ecal and Hcal have the same thickness </comment> + <constant name="EcalBarrelAvailTotalThickness" value="AvailTotalBarrelCalorimetryThickness * CalBarrelDivider"/> + <constant name="HcalBarrelAvailTotalThickness" value="AvailTotalBarrelCalorimetryThickness * (1.0 - CalBarrelDivider)"/> + + <constant name="EcalBarrelLength" value="SiliconTrackerOuterBarrelLength+50.0*cm"/> + <constant name="EcalEndcap_zmin" value="EcalBarrelLength/2.0"/> + + <constant name="AvailTotalEndcapCalorimetryThickness" value="(SolenoidYokeEndcap_zmin - 10.0 * mm) - (EcalEndcap_zmin + 10.0 * mm)"/> + <constant name="CalEndcapDivider" value="0.5"/> <comment> Ecal and Hcal have the same thickness </comment> + <constant name="EcalEndcapAvailTotalThickness" value="AvailTotalEndcapCalorimetryThickness * CalEndcapDivider"/> + <constant name="HcalEndcapAvailTotalThickness" value="AvailTotalEndcapCalorimetryThickness * (1.0 - CalEndcapDivider)"/> + + <comment> These need to be set in sync with the forward and backward detectors </comment> + <constant name="EcalEndcapP_rmin" value="250.0*mm"/> + <constant name="EcalEndcapN_rmin" value="350.0*mm"/> + + <constant name="HcalEndcapP_rmin" value="250.0 * mm"/> + <constant name="HcalEndcapN_rmin" value="350.0 * mm"/> + + <comment> + ------------------------- + EM Calorimeter Parameters + ------------------------- + </comment> + <constant name="CaloSides" value="12"/> + + <comment>Material Thickness</comment> + <constant name="EcalSiliconThickness" value="9.00 * mm"/> + <constant name="EcalCopperThickness" value="0.05 * mm"/> + <constant name="EcalKaptonThickness" value="0.30 * mm"/> + <constant name="EcalAir1Thickness" value="0.33 * mm"/> + <constant name="EcalAir2Thickness" value="0.25 * mm"/> + <constant name="EcalThinTungstenThickness" value="2.50 * mm"/> + <constant name="EcalThickTungstenThickness" value="5.00 * mm"/> + + <comment> Layer Thickness </comment> + <constant name="EcalFirstLayerThickness" + value="EcalSiliconThickness + EcalCopperThickness + EcalKaptonThickness + EcalAir1Thickness"/> + <constant name="EcalThinOneLayerThickness" + value="EcalThinTungstenThickness + EcalAir2Thickness + EcalSiliconThickness + EcalCopperThickness + EcalKaptonThickness + EcalAir1Thickness"/> + <constant name="EcalThickOneLayerThickness" + value="EcalThickTungstenThickness + EcalAir2Thickness + EcalSiliconThickness + EcalCopperThickness + EcalKaptonThickness + EcalAir1Thickness"/> + + <comment> EM Barrel N Layer; same number of layers for EcalThin and EcalThick</comment> + <constant name="EcalBarrelLayers" + value="floor((EcalBarrelAvailTotalThickness - EcalFirstLayerThickness) / (EcalThinOneLayerThickness + EcalThickOneLayerThickness))"/> + <constant name="EcalBarrelThinLayers" value="EcalBarrelLayers"/> + <constant name="EcalBarrelThickLayers" value="EcalBarrelLayers"/> + <comment> EM Barrel Thickness </comment> + <constant name="EcalBarrelThickness" + value="EcalFirstLayerThickness + (EcalBarrelThinLayers * EcalThinOneLayerThickness) + (EcalBarrelThickLayers * EcalThickOneLayerThickness)"/> + <constant name="EcalBarrel_rmax" value="EcalBarrel_rmin + EcalBarrelThickness"/> + + <comment> EM Endcap N Layer; same number of layers for EcalThin and EcalThick </comment> + <constant name="EcalEndcapLayers" + value="floor((EcalEndcapAvailTotalThickness - EcalFirstLayerThickness) / (EcalThinOneLayerThickness + EcalThickOneLayerThickness))"/> + <constant name="EcalEndcapThinLayers" value="EcalEndcapLayers"/> + <constant name="EcalEndcapThickLayers" value="EcalEndcapLayers"/> + <comment> EM Endcap Thickness </comment> + <constant name="EcalEndcapThickness" + value="EcalFirstLayerThickness + (EcalEndcapThinLayers * EcalThinOneLayerThickness) + (EcalEndcapThickLayers * EcalThickOneLayerThickness)"/> + </define> <limits> @@ -27,7 +98,7 @@ <detector id="cb_EMCAL_ID" name="cb_EMCAL" - type="cb_EMCAL" + type="DD4hep_PolyhedraEndcapCalorimeter2" readout="EcalBarrelHits" calorimeterType="EM_BARREL"> <dimensions @@ -67,7 +138,6 @@ </comment> <detector id="ECalEndcapP_ID" name="EcalEndcapP" - type="DD4hep_PolyhedraEndcapCalorimeter2" reflect="false" readout="EcalEndcapHits" vis="EcalEndcapVis"