diff --git a/compact/definitions.xml b/compact/definitions.xml index 2b70bbe77401932f5b5f22ed19d6fa14f23b5c54..2d20bc8c98d8334b259cecb3000a23598df0dd68 100644 --- a/compact/definitions.xml +++ b/compact/definitions.xml @@ -566,8 +566,8 @@ <constant name="EcalEndcapNThickness" value="EcalEndcapNLayer1_NRepeat*EcalLayer1_thickness + EcalEndcapNLayer2_NRepeat*EcalLayer2_thickness + EcalEndcapNLayer3_NRepeat*EcalLayer3_thickness"/> - <constant name="EcalBarrelLength" value="CentralTracking_length + BackwardPIDLength + EcalEndcapNThickness - 10*cm"/> - <constant name="EcalBarrel_offset" value="(CentralTracking_length - EcalBarrelLength)/2.0"/> + <constant name="EcalBarrel_length" value="CentralTracking_length + BackwardPIDLength + EcalEndcapNThickness - 10*cm"/> + <constant name="EcalBarrel_offset" value="(CentralTracking_length - EcalBarrel_length)/2.0"/> <comment> ------------------------------- diff --git a/compact/ecal.xml b/compact/ecal.xml index 06b0c6a0b92750219d56fb7a3b81c38fe8404679..9357337739bd00f52714255f35ebdbed1953a3ec 100644 --- a/compact/ecal.xml +++ b/compact/ecal.xml @@ -28,52 +28,9 @@ <display> </display> - + <include ref="ecal_barrel.xml"/> <detectors> - <comment> - --------------------- - Barrel EM Calorimeter - --------------------- - A layered EM calorimeter with tungsten and silicon (or scintillator) strips - </comment> - <detector - id="ECalBarrel_ID" - name="EcalBarrel" - type="refdet_EcalBarrel" - readout="EcalBarrelHits" - calorimeterType="EM_BARREL" - offset="EcalBarrel_offset" - > - <dimensions - numsides="CaloSides" - rmin="EcalBarrel_rmin" - z="EcalBarrelLength"/> - <staves vis="EcalBarrelVis"/> - <layer repeat="EcalBarrelLayer1_NRepeat"> - <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="EcalBarrelLayer2_NRepeat"> - <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="EcalBarrelLayer3_NRepeat"> - <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 (Positive Z) Endcap EM Calorimeter @@ -189,10 +146,6 @@ <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> diff --git a/compact/ecal_barrel.xml b/compact/ecal_barrel.xml new file mode 100644 index 0000000000000000000000000000000000000000..08b184c12b494c2b2c8b00a29f19f52987a741c3 --- /dev/null +++ b/compact/ecal_barrel.xml @@ -0,0 +1,84 @@ +<lccdd> + + <define> + + <comment> + --------------------------------------- + EM Calorimeter Parameters with AstroPix + --------------------------------------- + </comment> + <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_TungstenThickness" value="4.0*mm"/> + <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="EcalBarrel_TotalThickness"/> + <constant name="EcalBarrel_ReadoutLayerThickness" + value="EcalBarrel_SiliconThickness + + EcalBarrel_ElectronicsThickness + + EcalBarrel_CopperThickness + + EcalBarrel_KaptonThickness + + EcalBarrel_EpoxyThickness + + EcalBarrel_CarbonThickness + + EcalBarrel_LayerSpacing"/> + <constant name="EcalBarrel_ReadoutLayerNumber" value="floor(EcalBarrel_AvailThickness/EcalBarrel_ReadoutLayerThickness)"/> + <constant name="EcalBarrelLayers_nMax" value="20"/> + </define> + + <limits> + </limits> + + <regions> + </regions> + + <display> + </display> + + <detectors> + + <comment> + --------------------- + Barrel EM Calorimeter + --------------------- + A layered EM calorimeter with tungsten and silicon (AstroPix) + </comment> + <detector + id="ECalBarrel_ID" + name="EcalBarrel" + type="athena_EcalBarrel" + readout="EcalBarrelHits" + calorimeterType="EM_BARREL" + offset="EcalBarrel_offset"> + <dimensions numsides="EcalBarrel_ModRepeat" + rmin="EcalBarrel_rmin" + z="EcalBarrel_length"/> + <staves vis="EcalBarrelVis"/> + <layer repeat="EcalBarrel_ReadoutLayerNumber"> + <slice material="Silicon" thickness="EcalBarrel_SiliconThickness" sensitive="yes" limits="cal_limits"/> + <slice material="Silicon" thickness="EcalBarrel_ElectronicsThickness"/> + <slice material="Copper" thickness="EcalBarrel_CopperThickness"/> + <slice material="Kapton" thickness="EcalBarrel_KaptonThickness"/> + <slice material="Epoxy" thickness="EcalBarrel_EpoxyThickness"/> + <slice material="CarbonFiber" thickness="EcalBarrel_CarbonThickness"/> + <slice material="TungstenDens24" thickness="EcalBarrel_TungstenThickness"/> + <slice material="Air" thickness="EcalBarrel_LayerSpacing - EcalBarrel_TungstenThickness"/> + </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,barrel:3,module:4,layer:10,slice:5,x:32:-16,y:-16</id> + </readout> + </readouts> + + +</lccdd> diff --git a/compact/hcal.xml b/compact/hcal.xml index ad16a15eb01529856e377f1d84c71c95606ea09f..64c43a70ffdb8278ffc905d91f67f15c515c871a 100644 --- a/compact/hcal.xml +++ b/compact/hcal.xml @@ -19,7 +19,7 @@ <detector id="HCalBarrel_ID" name="HcalBarrel" - type="refdet_EcalBarrel" + type="athena_EcalBarrel" readout="HcalBarrelHits" calorimeterType="HAD_BARREL" offset="HcalBarrel_offset" diff --git a/src/BarrelCalorimeter_geo.cpp b/src/BarrelCalorimeter_geo.cpp index 634a45f433e419b15880b756066cf55d89c7ba06..d640f01f3a2006911e4a4fe77510f2e9347b99f9 100644 --- a/src/BarrelCalorimeter_geo.cpp +++ b/src/BarrelCalorimeter_geo.cpp @@ -161,5 +161,5 @@ static Ref_t create_detector(Detector& description, xml_h e, SensitiveDetector s return sdet; } -DECLARE_DETELEMENT(refdet_EcalBarrel,create_detector) -DECLARE_DETELEMENT(refdet_HcalBarrel,create_detector) +DECLARE_DETELEMENT(athena_EcalBarrel,create_detector) +DECLARE_DETELEMENT(athena_HcalBarrel,create_detector)