Skip to content
Snippets Groups Projects

Resolve "Translate cb_EMCAL"

Merged Whitney Armstrong requested to merge 3-translate-cb_emcal into master
Files
3
compact/ecal.xml 0 → 100644
+ 245
0
<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>
</limits>
<regions>
</regions>
<!-- Common Generic visualization attributes -->
<comment>Common Generic visualization attributes</comment>
<display>
</display>
<detectors>
<comment>
---------------------
Barrel EM Calorimeter
---------------------
A layered EM calorimeter with tungsten and silicon (or scintillator) strips
</comment>
<detector
id="cb_EMCAL_ID"
name="cb_EMCAL"
type="DD4hep_PolyhedraEndcapCalorimeter2"
readout="EcalBarrelHits"
calorimeterType="EM_BARREL">
<dimensions
numsides="CaloSides"
rmin="EcalBarrel_rmin"
z="EcalBarrelLength"/>
<staves vis="EcalBarrelVis"/>
<layer repeat="1">
<slice material="Silicon" thickness="EcalSiliconThickness" sensitive="yes" limits="cal_limits"/>
<slice material="Copper" thickness="EcalCopperThickness"/>
<slice material="Kapton" thickness="EcalKaptonThickness"/>
<slice material="Air" thickness="EcalAir1Thickness"/>
</layer>
<layer repeat="EcalBarrelThinLayers">
<slice material="TungstenDens24" thickness="EcalThinTungstenThickness"/>
<slice material="Air" thickness="EcalAir2Thickness"/>
<slice material="Silicon" thickness="EcalSiliconThickness" sensitive="yes" limits="cal_limits"/>
<slice material="Copper" thickness="EcalCopperThickness"/>
<slice material="Kapton" thickness="EcalKaptonThickness"/>
<slice material="Air" thickness="EcalAir1Thickness"/>
</layer>
<layer repeat="EcalBarrelThickLayers">
<slice material="TungstenDens24" thickness="EcalThickTungstenThickness"/>
<slice material="Air" thickness="EcalAir2Thickness"/>
<slice material="Silicon" thickness="EcalSiliconThickness" sensitive="yes" limits="cal_limits"/>
<slice material="Copper" thickness="EcalCopperThickness"/>
<slice material="Kapton" thickness="EcalKaptonThickness"/>
<slice material="Air" thickness="EcalAir1Thickness"/>
</layer>
</detector>
<comment>
-----------------------------
Forward Endcap EM Calorimeter
-----------------------------
A layered EM calorimeter with tungsten and silicon (or scintillator) strips
</comment>
<detector id="ECalEndcapP_ID"
name="EcalEndcapP"
reflect="false"
readout="EcalEndcapHits"
vis="EcalEndcapVis"
calorimeterType="EM_ENDCAP" >
<dimensions
numsides="CaloSides"
zmin="EcalEndcap_zmin"
rmin="EcalEndcapP_rmin"
rmax="EcalBarrel_rmax " />
<layer repeat="1">
<slice material="Silicon" thickness="EcalSiliconThickness" sensitive="yes" limits="cal_limits"/>
<slice material="Copper" thickness="EcalCopperThickness"/>
<slice material="Kapton" thickness="EcalKaptonThickness"/>
<slice material="Air" thickness="EcalAir1Thickness"/>
</layer>
<layer repeat="EcalEndcapThinLayers">
<slice material="TungstenDens24" thickness="EcalThinTungstenThickness"/>
<slice material="Air" thickness="EcalAir2Thickness"/>
<slice material="Silicon" thickness="EcalSiliconThickness" sensitive="yes" limits="cal_limits"/>
<slice material="Copper" thickness="EcalCopperThickness"/>
<slice material="Kapton" thickness="EcalKaptonThickness"/>
<slice material="Air" thickness="EcalAir1Thickness"/>
</layer>
<layer repeat="EcalEndcapThickLayers">
<slice material="TungstenDens24" thickness="EcalThickTungstenThickness"/>
<slice material="Air" thickness="EcalAir2Thickness"/>
<slice material="Silicon" thickness="EcalSiliconThickness" sensitive="yes" limits="cal_limits"/>
<slice material="Copper" thickness="EcalCopperThickness"/>
<slice material="Kapton" thickness="EcalKaptonThickness"/>
<slice material="Air" thickness="EcalAir1Thickness"/>
</layer>
</detector>
<comment>
-------------------------------
Backwards Endcap EM Calorimeter
-------------------------------
A layered EM calorimeter with tungsten and silicon (or scintillator) strips
</comment>
<detector id="ECalEndcapN_ID"
name="EcalEndcapN"
type="topside_PolyhedraEndcapCalorimeter2"
reflect="true"
readout="EcalEndcapHits"
vis="EcalEndcapVis"
calorimeterType="EM_ENDCAP">
<dimensions
numsides="CaloSides"
zmin="EcalEndcap_zmin"
rmin="EcalEndcapN_rmin"
rmax="EcalBarrel_rmax " />
<layer repeat="1">
<slice material="Silicon" thickness="EcalSiliconThickness" sensitive="yes" limits="cal_limits"/>
<slice material="Copper" thickness="EcalCopperThickness"/>
<slice material="Kapton" thickness="EcalKaptonThickness"/>
<slice material="Air" thickness="EcalAir1Thickness"/>
</layer>
<layer repeat="EcalEndcapThinLayers">
<slice material="TungstenDens24" thickness="EcalThinTungstenThickness"/>
<slice material="Air" thickness="EcalAir2Thickness"/>
<slice material="Silicon" thickness="EcalSiliconThickness" sensitive="yes" limits="cal_limits"/>
<slice material="Copper" thickness="EcalCopperThickness"/>
<slice material="Kapton" thickness="EcalKaptonThickness"/>
<slice material="Air" thickness="EcalAir1Thickness"/>
</layer>
<layer repeat="EcalEndcapThickLayers">
<slice material="TungstenDens24" thickness="EcalThickTungstenThickness"/>
<slice material="Air" thickness="EcalAir2Thickness"/>
<slice material="Silicon" thickness="EcalSiliconThickness" sensitive="yes" limits="cal_limits"/>
<slice material="Copper" thickness="EcalCopperThickness"/>
<slice material="Kapton" thickness="EcalKaptonThickness"/>
<slice material="Air" thickness="EcalAir1Thickness"/>
</layer>
</detector>
</detectors>
<!-- Definition of the readout segmentation/definition -->
<readouts>
<!--
<readout name="PlaneTrackerHits">
<segmentation type="CartesianGridXY" grid_size_x="20.0*mm" grid_size_y="20.0*mm" />
<id>system:5,module:4,x:32:-16,y:-16</id>
</readout>
-->
<readout name="CrystalEcalHits">
<segmentation type="CartesianGridXY" grid_size_x="CrystalBox_x_length" grid_size_y="CrystalBox_y_length" />
<id>system:8,sector:4,module:20,x:48:-8,y:-8</id>
</readout>
<readout name="EcalBarrelHits">
<segmentation type="CartesianGridXY" grid_size_x="3.5 * mm" grid_size_y="3.5 * mm"/>
<id>system:8,barrel:3,module:4,layer:6,slice:5,x:32:-16,y:-16</id>
</readout>
<readout name="EcalEndcapHits">
<segmentation type="CartesianGridXY" grid_size_x="3.5 * mm" grid_size_y="3.5 * mm"/>
<id>system:8,barrel:3,module:4,layer:6,slice:5,x:32:-16,y:-16</id>
</readout>
</readouts>
<plugins>
</plugins>
<fields>
</fields>
</lccdd>
Loading