Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • 1810337/CEPCSW
  • shexin/CEPCSW
  • dudejing/CEPCSW
  • yudian2002/cepcsw-otb-development
  • cepcsw/CEPCSW
  • cepc/CEPCSW
  • shixin/CEPCSW
  • lizhan/CEPCSW
  • 1365447033/CEPCSW
  • shihy/CEPCSW
  • sunwy/CEPCSW
  • guofangyi/cepcsw-release
  • lintao/CEPCSW
  • tanggy/CEPCSW
  • gongjd1119/CEPCSW
  • 221840222/CEPCSW
  • lihn/CEPCSW
  • thinking/CEPCSW
  • myliu/CEPCSW
  • shihy/cepcsw-dose
  • zhaog/CEPCSW
  • 201840277/CEPCSW
  • wangchu/CEPCSW
  • xiaolin.wang/CEPCSW
  • fucd/CEPCSW1
  • tyzhang/CEPCSW
  • yudian2002/cepcsw-ote-development
  • songwz/cepcsw-tdr
  • luhc/CEPCSW
  • tangyb/CEPCSW
  • dhb112358/CEPCSW
  • chenbp/CEPCSW
  • guolei/CEPCSW
  • yudian2002/cepcsw-otk-end-cap-development
  • jiangxj/CEPCSW
  • yudian2002/cepcsw-geo-upgrade
  • fangwx/CEPCSW
  • yudian2002/cepcsw-geo-upgrade-v-2
  • mengwq/CEPCSW
  • zhangxm/CEPCSW
  • chenye/CEPCSW
  • wuchonghao9612/CEPCSW
  • xuchj7/CEPCSW
  • yudian2002/cepcsw-otk-endcap-update-01
  • lizhihao/CEPCSW
  • laipz/CEPCSW
  • zhangkl/CEPCSW
  • lihp29/CEPCSW
  • shuxian/CEPCSW
  • zhangyz/CEPCSW
  • zhangjinxian/CEPCSW_20250110
  • glliu/CEPCSW
  • shuohan/CEPCSW
  • fucd/CEPCSW
  • starr136a/CEPCSW
  • yudian2002/CEPCSW
  • wanjw03/CEPCSW
  • zyjonah/CEPCSW
  • maxt/CEPCSW
59 results
Show changes
Showing
with 1212 additions and 8 deletions
......@@ -11,61 +11,67 @@
</info>
<define>
<constant name="SDT_radius_min" value="InnerTracker_inner_radius"/>
<constant name="SDT_radius_max" value="OuterTracker_outer_radius"/>
<!-- SDT -->
<constant name="SDT_radius_min" value="DC_inner_radius"/>
<constant name="SDT_radius_max" value="DC_outer_radius"/>
<constant name="SDT_half_length" value="MainTracker_half_length"/>
<constant name="SDT_length" value="SDT_half_length*2"/>
<constant name="DC_length" value="DC_half_length*2"/>
<constant name="SDT_length" value="SDT_half_length*2"/>
<constant name="SDT_inner_chamber_radius_min" value="235*mm"/>
<constant name="SDT_inner_chamber_radius_max" value="InnerTracker_outer_radius"/>
<constant name="SDT_inner_chamber_length" value="DC_length"/>
<constant name="SDT_outer_chamber_radius_min" value="OuterTracker_inner_radius"/>
<constant name="SDT_outer_chamber_radius_max" value="1715*mm"/>
<constant name="SDT_outer_chamber_length" value="DC_length"/>
<constant name="SDT_chamber_radius_min" value="DC_chamber_layer_rbegin-DC_safe_distance"/>
<constant name="SDT_chamber_radius_max" value="DC_chamber_layer_rend+DC_chamber_safe_distance+DC_safe_distance"/>
<constant name="SDT_chamber_half_length" value="DC_half_length"/>
<constant name="SDT_inner_chamber_layer_number" value="67"/>
<constant name="SDT_outer_chamber_layer_number" value="63"/>
<constant name="SDT_chamber_layer_width" value="10*mm"/>
<constant name="Epsilon" value="0*deg"/>
<constant name="SDT_chamber_cell_width" value="10*mm"/>
<constant name="Alpha" value="12*deg"/>
<constant name="SDT_inner_chamber_inner_wall_radius_min" value="234.8*mm"/>
<constant name="SDT_inner_chamber_inner_wall_radius_max" value="235*mm"/>
<constant name="SDT_inner_chamber_outer_wall_radius_min" value="906*mm"/>
<constant name="SDT_inner_chamber_outer_wall_radius_max" value="908.8*mm"/>
<constant name="SDT_outer_chamber_inner_wall_radius_min" value="1084.8*mm"/>
<constant name="SDT_outer_chamber_inner_wall_radius_max" value="1085*mm"/>
<constant name="SDT_outer_chamber_outer_wall_radius_min" value="1715*mm"/>
<constant name="SDT_outer_chamber_outer_wall_radius_max" value="1717.8*mm"/>
<constant name="SDT_chamber_inner_wall_radius_min" value="SDT_chamber_radius_min-SDT_inner_wall_thickness"/>
<constant name="SDT_chamber_inner_wall_radius_max" value="SDT_chamber_radius_min"/>
<constant name="SDT_chamber_outer_wall_radius_min" value="SDT_chamber_radius_max"/>
<constant name="SDT_chamber_outer_wall_radius_max" value="SDT_chamber_radius_max+SDT_outer_wall_thickness"/>
<constant name="DC_Endcap_rmin" value="SDT_radius_min"/>
<constant name="DC_Endcap_rmax" value="SDT_radius_max"/>
<constant name="DC_Endcap_dz" value="DC_Endcap_z"/>
</define>
<limits>
<limitset name="DC_limits">
<limit name="step_length_max" particles="*" value="0.1" unit="mm" />
</limitset>
</limits>
<regions>
<region name="DriftChamberRegion">
<limitsetref name="DC_limits"/>
</region>
</regions>
<detectors>
<detector id="DetID_DC" name="DriftChamber" type="DriftChamber" readout="DriftChamberHitsCollection" vis="BlueVis" sensitive="true" insideTrackingVolume="true">
<detector id="DetID_DC" name="DriftChamber_Stero" type="DriftChamber_Stero" readout="DriftChamberHitsCollection" vis="DCVis" sensitive="true" insideTrackingVolume="true" limits="DC_limits">
<material name="Air"/>
<chamber id="0" material="GasHe_90Isob_10"/>
<side material="CarbonFiber"/>
<envelope vis="SeeThrough">
<shape type="BooleanShape" operation="Union" material="Air">
<shape type="Tube" rmin="SDT_radius_min" rmax="909*mm" dz="SDT_half_length" />
<shape type="Tube" rmin="1084.8*mm" rmax="SDT_radius_max" dz="SDT_half_length" />
<shape type="Tube" rmin="SDT_radius_min" rmax="SDT_radius_max" dz="SDT_half_length" />
</shape>
</envelope>
<module id="0" repeat="1" name="SignalWire" type="Tube" rmin="0*mm" rmax="0.01*mm">
<tubs name="W" type="Tube" rmin="0*mm" rmax="0.007*mm" material="Tungsten"/>
<tubs name="Au" type="Tube" rmin="0.007*mm" rmax="0.01*mm" material="Gold"/>
<module id="0" name="SignalWire" type="Tube" rmin="0*mm" rmax="0.01*mm" vis="RedVis">
<tubs name="W" type="Tube" rmin="0*mm" rmax="0.007*mm" material="Tungsten"/>
<tubs name="Au" type="Tube" rmin="0.007*mm" rmax="0.01*mm" material="Gold"/>
</module>
<module id="1" repeat="3" name="FieldWire" type="Tube" rmin="0*mm" rmax="0.02*mm">
<tubs name="Al" type="Tube" rmin="0*mm" rmax="0.017*mm" material="Aluminum"/>
<tubs name="Ag" type="Tube" rmin="0.017*mm" rmax="0.02*mm" material="Silver"/>
<module id="1" name="FieldWire" type="Tube" rmin="0*mm" rmax="0.02*mm" vis="GreenVis">
<tubs name="Al" type="Tube" rmin="0*mm" rmax="0.017*mm" material="Aluminum"/>
<tubs name="Ag" type="Tube" rmin="0.017*mm" rmax="0.02*mm" material="Silver"/>
</module>
<type_flags type="DetType_TRACKER + DetType_BARREL + DetType_GASEOUS + DetType_WIRE"/>
<!-- Use cm as unit if you want to use Pandora for reconstruction -->
<sensitive type="SimpleDriftChamber"/>
</detector>
......@@ -73,9 +79,10 @@
<readouts>
<readout name="DriftChamberHitsCollection">
<segmentation type="GridDriftChamber" cell_size="10*mm" epsilon0="Epsilon" detector_length="DC_length" identifier_phi="cellID" />
<segmentation type="GridDriftChamber" cell_size="SDT_chamber_cell_width" detector_length="DC_length" identifier_phi="cellID" DC_rbegin="DC_chamber_layer_rbegin" DC_rend="DC_chamber_layer_rend" DC_rmin="SDT_chamber_radius_min" DC_rmax="SDT_chamber_radius_max" safe_distance="DC_safe_distance" layerID="layer" layer_width="SDT_chamber_layer_width"/>
<id>system:8,chamber:1,layer:8,cellID:16</id>
<id>system:5,layer:7:9,chamber:8,cellID:32:16</id>
</readout>
</readouts>
......
<?xml version="1.0" encoding="UTF-8"?>
<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">
<info name="DriftChamber"
title="Test with Drift Chamber"
author="Tao Lin"
url="http://github.com/cepc/CEPCSW"
status="development"
version="v0">
<comment>Test with Drift Chamber</comment>
</info>
<define>
<!-- SDT -->
<constant name="SDT_radius_min" value="DC_inner_radius"/>
<constant name="SDT_radius_max" value="DC_outer_radius"/>
<constant name="SDT_half_length" value="MainTracker_half_length"/>
<constant name="DC_length" value="DC_half_length*2"/>
<constant name="SDT_length" value="SDT_half_length*2"/>
<constant name="SDT_chamber_radius_min" value="DC_chamber_layer_rbegin-DC_safe_distance"/>
<constant name="SDT_chamber_radius_max" value="DC_chamber_layer_rend+DC_safe_distance"/>
<constant name="SDT_chamber_half_length" value="DC_half_length"/>
<constant name="SDT_chamber_layer_width" value="10*mm"/>
<constant name="SDT_chamber_cell_width" value="10*mm"/>
<constant name="Alpha" value="0*deg"/>
<constant name="SDT_chamber_inner_wall_radius_min" value="SDT_chamber_radius_min-SDT_inner_wall_thickness"/>
<constant name="SDT_chamber_inner_wall_radius_max" value="SDT_chamber_radius_min"/>
<constant name="SDT_chamber_outer_wall_radius_min" value="SDT_chamber_radius_max"/>
<constant name="SDT_chamber_outer_wall_radius_max" value="SDT_chamber_radius_max+SDT_outer_wall_thickness"/>
<constant name="DC_Endcap_rmin" value="SDT_radius_min"/>
<constant name="DC_Endcap_rmax" value="SDT_radius_max"/>
</define>
<limits>
<limitset name="DC_limits">
<limit name="step_length_max" particles="*" value="0.1" unit="mm" />
</limitset>
</limits>
<regions>
<region name="DriftChamberRegion">
</region>
</regions>
<detectors>
<detector id="DetID_DC" name="DriftChamber" type="DriftChamber" readout="DriftChamberHitsCollection" vis="DCVis" sensitive="true" region="DriftChamberRegion" limits="DC_limits">
<material name="Air"/>
<chamber id="0" material="GasHe_90Isob_10"/>
<side material="CarbonFiber"/>
<envelope vis="SeeThrough">
<shape type="BooleanShape" operation="Union" material="Air">
<shape type="Tube" rmin="SDT_radius_min" rmax="SDT_radius_max" dz="SDT_half_length" />
</shape>
</envelope>
<module id="0" name="SignalWire" type="Tube" rmin="0*mm" rmax="0.01*mm" vis="RedVis">
<tubs name="W" type="Tube" rmin="0*mm" rmax="0.007*mm" material="Tungsten"/>
<tubs name="Au" type="Tube" rmin="0.007*mm" rmax="0.01*mm" material="Gold"/>
</module>
<module id="1" name="FieldWire" type="Tube" rmin="0*mm" rmax="0.02*mm" vis="GreenVis">
<tubs name="Al" type="Tube" rmin="0*mm" rmax="0.017*mm" material="Aluminum"/>
<tubs name="Ag" type="Tube" rmin="0.017*mm" rmax="0.02*mm" material="Silver"/>
</module>
<type_flags type="DetType_TRACKER + DetType_BARREL + DetType_GASEOUS + DetType_WIRE"/>
<!-- Use cm as unit if you want to use Pandora for reconstruction -->
<sensitive type="SimpleDriftChamber"/>
</detector>
</detectors>
<readouts>
<readout name="DriftChamberHitsCollection">
<segmentation type="GridDriftChamber" cell_size="SDT_chamber_cell_width" detector_length="DC_length" identifier_phi="cellID" DC_rbegin="DC_chamber_layer_rbegin" DC_rend="DC_chamber_layer_rend" DC_rmin="SDT_chamber_radius_min" DC_rmax="SDT_chamber_radius_max" safe_distance="DC_safe_distance" layerID="layer" layer_width="SDT_chamber_layer_width"/>
<!-- <id>system:8,chamber:1,layer:8,cellID:16</id> -->
<id>system:5,layer:7:9,chamber:8,cellID:32:16</id>
</readout>
</readouts>
</lccdd>
<?xml version="1.0" encoding="UTF-8"?>
<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">
<info name="DriftChamber"
title="Test with Drift Chamber"
author="Tao Lin"
url="http://github.com/cepc/CEPCSW"
status="development"
version="v0">
<comment>Test with Drift Chamber</comment>
</info>
<define>
<!-- SDT -->
<constant name="SDT_radius_min" value="DC_inner_radius"/>
<constant name="SDT_radius_max" value="DC_outer_radius"/>
<constant name="SDT_half_length" value="MainTracker_half_length"/>
<constant name="DC_length" value="DC_half_length*2"/>
<constant name="SDT_length" value="SDT_half_length*2"/>
<constant name="SDT_chamber_radius_min" value="DC_chamber_layer_rbegin-DC_safe_distance"/>
<constant name="SDT_chamber_radius_max" value="DC_chamber_layer_rend+DC_safe_distance"/>
<constant name="SDT_chamber_half_length" value="DC_half_length"/>
<constant name="SDT_chamber_layer_width" value="10*mm"/>
<constant name="SDT_chamber_cell_width" value="10*mm"/>
<constant name="Alpha" value="0*deg"/>
<constant name="SDT_chamber_inner_wall_radius_min" value="SDT_chamber_radius_min-SDT_inner_wall_thickness"/>
<constant name="SDT_chamber_inner_wall_radius_max" value="SDT_chamber_radius_min"/>
<constant name="SDT_chamber_outer_wall_radius_min" value="SDT_chamber_radius_max"/>
<constant name="SDT_chamber_outer_wall_radius_max" value="SDT_chamber_radius_max+SDT_outer_wall_thickness"/>
<constant name="DC_Endcap_rmin" value="SDT_radius_min"/>
<constant name="DC_Endcap_rmax" value="SDT_radius_max"/>
</define>
<limits>
<limitset name="DC_limits">
<limit name="step_length_max" particles="*" value="10" unit="mm" />
</limitset>
</limits>
<regions>
<region name="DriftChamberRegion">
<limitsetref name="DC_limits"/>
</region>
</regions>
<detectors>
<detector id="DetID_DC" name="DriftChamber" type="DriftChamber" readout="DriftChamberHitsCollection" vis="DCVis" sensitive="true" insideTrackingVolume="true" limits="DC_limits">
<material name="Air"/>
<chamber id="0" material="GasHe_90Isob_10"/>
<side material="CarbonFiber"/>
<envelope>
<shape type="BooleanShape" operation="Union" material="Air">
<shape type="Tube" rmin="SDT_radius_min" rmax="SDT_radius_max" dz="SDT_half_length" />
</shape>
</envelope>
<module id="0" name="SignalWire" type="Tube" rmin="0*mm" rmax="0.01*mm" vis="RedVis">
<tubs name="W" type="Tube" rmin="0*mm" rmax="0.007*mm" material="Tungsten"/>
<tubs name="Au" type="Tube" rmin="0.007*mm" rmax="0.01*mm" material="Gold"/>
</module>
<module id="1" name="FieldWire" type="Tube" rmin="0*mm" rmax="0.02*mm" vis="GreenVis">
<tubs name="Al" type="Tube" rmin="0*mm" rmax="0.017*mm" material="Aluminum"/>
<tubs name="Ag" type="Tube" rmin="0.017*mm" rmax="0.02*mm" material="Silver"/>
</module>
<type_flags type="DetType_TRACKER + DetType_BARREL + DetType_GASEOUS + DetType_WIRE"/>
<!-- Use cm as unit if you want to use Pandora for reconstruction -->
<sensitive type="SimpleDriftChamber"/>
</detector>
</detectors>
<readouts>
<readout name="DriftChamberHitsCollection">
<segmentation type="GridDriftChamber" cell_size="SDT_chamber_cell_width" detector_length="DC_length" identifier_phi="cellID" DC_rbegin="DC_chamber_layer_rbegin" DC_rend="DC_chamber_layer_rend" DC_rmin="SDT_chamber_radius_min" DC_rmax="SDT_chamber_radius_max" safe_distance="DC_safe_distance" layerID="layer" layer_width="SDT_chamber_layer_width"/>
<!-- <id>system:8,chamber:1,layer:8,cellID:16</id> -->
<id>system:5,layer:7:9,chamber:8,cellID:32:16</id>
</readout>
</readouts>
</lccdd>
<?xml version="1.0" encoding="UTF-8"?>
<lccdd>
<define>
<constant name="ecalbarrel_inner_radius" value="Ecal_barrel_inner_radius"/>
<constant name="ecalbarrel_outer_radius" value="Ecal_barrel_outer_radius"/>
<!--<constant name="ecalbarrel_thickness" value="Ecal_barrel_thickness"/>-->
<constant name="ecalbarrel_thickness" value="28.5*cm"/>
<constant name="ecalbarrel_zlength" value="Ecal_barrel_half_length*2"/>
<constant name="Nmodule" value="32"/>
<constant name="Nblock_z" value="15"/>
<constant name="module_rotation" value="12*degree"/>
<constant name="crystal_r" value="4.1*cm"/>
<constant name="crystal_phi" value="1*cm"/>
<constant name="crystal_z_barrel" value="1*cm"/>
<constant name="esr_thickness_barrel" value="0.1*mm"/>
<constant name="sipm_r" value="0.8*mm"/>
<constant name="sipm_phi" value="3*mm"/>
<constant name="sipm_z_barrel" value="3*mm"/>
<constant name="pcb_thickness_barrel" value="2.2*mm"/>
<constant name="cu_thickness_barrel" value="1*mm"/>
<constant name="fibre_thickness_barrel" value="0.1*mm"/>
<constant name="collection_width" value="300*mm"/>
<constant name="collection_thickness" value="10*mm"/>
<constant name="boundary_safety_barrel" value="1*nm"/>
</define>
<regions>
<region name="EcalBarrelRegion">
</region>
</regions>
<detectors>
<detector id="DetID_ECAL"
name="EcalBarrel"
type="CRDEcalBarrel_Short_v02"
readout="EcalBarrelCollection"
vis="Invisible"
sensitive="true"
region="EcalBarrelRegion">
<!-- Use cm as unit if you want to use Pandora for reconstruction -->
<material name="G4_BGO"/>
</detector>
</detectors>
<readouts>
<readout name="EcalBarrelCollection">
<segmentation type="NoSegmentation"/>
<!--segmentation type="CartesianGridXYZ"
grid_size_x="1*cm"
grid_size_y="1*cm"
grid_size_z="1*cm"/-->
<id>system:5,module:5,stave:4,layer:5,phi:6,z:6</id>
</readout>
</readouts>
</lccdd>
......@@ -2,25 +2,35 @@
<lccdd>
<define>
<constant name="ecalbarrel_inner_radius" value="Ecal_barrel_inner_radius"/>
<constant name="ecalbarrel_thickness" value="Ecal_barrel_thickness"/> <!--Must be n*10*mm! -->
<constant name="ecalbarrel_zlength" value="Ecal_barrel_half_length*2"/> <!--Must be n*10*mm! -->
<constant name="ecalbarrel_thickness" value="Ecal_barrel_thickness"/> <!--Must be n*10*mm! -->
<constant name="ecalbarrel_zlength" value="Ecal_barrel_half_length*2"/> <!--Must be n*10*mm n*Nblock_z! -->
<constant name="n_symm" value="Ecal_barrel_symmetry" /> <!--Only support 8 and 12 now -->
<constant name="Nblock_z" value="11" />
<constant name="Nblock_phi" value="4" />
<constant name="bar_x" value="1*cm"/>
<constant name="bar_y" value="1*cm"/>
</define>
<regions>
<region name="EcalBarrelRegion">
</region>
</regions>
<detectors>
<detector id="DetID_ECAL" name="CaloDetector" type="CRDEcalBarrel" readout="EcalBarrelCollection" vis="Invisible" sensitive="true">
<detector id="DetID_ECAL" name="CaloDetector" type="CRDEcalBarrel_v01" readout="EcalBarrelCollection" vis="Invisible" sensitive="true" region="EcalBarrelRegion">
<!-- Use cm as unit if you want to use Pandora for reconstruction -->
</detector>
</detectors>
<readouts>
<readout name="EcalBarrelCollection">
<!-- <segmentation type="NoSegmentation"/> -->
<!--segmentation type="NoSegmentation"/-->
<!--segmentation type="CartesianGridXYZ"
grid_size_x="1*cm"
grid_size_y="1*cm"
grid_size_z="1*cm"/-->
<id>system:4,layer:6,block:8,bar:10</id>
<id>system:5,module:3,stave:4,dlayer:5,part:3,slayer:32:2,bar:6</id>
</readout>
</readouts>
......
<?xml version="1.0" encoding="UTF-8"?>
<lccdd>
<define>
<constant name="ecalbarrel_inner_radius" value="Ecal_barrel_inner_radius"/>
<constant name="ecalbarrel_outer_radius" value="Ecal_barrel_outer_radius"/>
<constant name="ecalbarrel_zlength" value="Ecal_barrel_half_length*2"/>
<constant name="ecalbarrel_layer" value="28" />
<constant name="ecalbarrel_phimodule_number" value="32" />
<constant name="ecalbarrel_Zmodule_number" value="15"/>
<constant name="ecalbarrel_module_ratation" value="12.*degree" />
<constant name="ecalbarrel_width_crystal" value="10.2*mm"/>
<constant name="ecalbarrel_crystal_wrapping" value="0.1*mm"/>
<constant name="ecalbarrel_length_photoelectronic" value="0.7*mm"/>
<constant name="ecalbarrel_width_photoelectronic" value="3*mm"/>
<constant name="ecalbarrel_length_carbon" value="5.*mm"/>
<constant name="ecalbarrel_length_cable" value="0.*mm"/>
<constant name="ecalbarrel_length_cooling" value="1.*mm"/>
<constant name="ecalbarrel_length_pcb" value="1.2*mm"/>
<constant name="ecalbarrel_length_asic" value="1.*mm"/>
<constant name="ecalbarrel_length_back" value="10.*mm"/>
</define>
<regions>
<region name="EcalBarrelRegion">
</region>
</regions>
<detectors>
<detector id="DetID_ECAL" name="EcalBarrel" type="LongCrystalBarBarrelCalorimeter32Polygon_v01" readout="EcalBarrelCollection" vis="Invisible" sensitive="true" region="EcalBarrelRegion">
<!-- Use cm as unit if you want to use Pandora for reconstruction -->
</detector>
</detectors>
<readouts>
<readout name="EcalBarrelCollection">
<segmentation type="NoSegmentation"/>
<!--segmentation type="CartesianGridXYZ"
grid_size_x="1*cm"
grid_size_y="1*cm"
grid_size_z="1*cm"/-->
<id>system:5,module:5,stave:4,dlayer:5,slayer:6,bar:15</id>
</readout>
</readouts>
</lccdd>
<?xml version="1.0" encoding="UTF-8"?>
<lccdd>
<define>
<constant name="ecalbarrel_inner_radius" value="Ecal_barrel_inner_radius"/>
<constant name="ecalbarrel_outer_radius" value="Ecal_barrel_outer_radius"/>
<constant name="ecalbarrel_zlength" value="Ecal_barrel_half_length*2"/>
<constant name="ecalbarrel_layer" value="18" />
<constant name="ecalbarrel_phimodule_number" value="32" />
<constant name="ecalbarrel_Zmodule_number" value="15"/>
<constant name="ecalbarrel_module_ratation" value="12.*degree" />
<constant name="ecalbarrel_width_crystal" value="15.2*mm"/>
<constant name="ecalbarrel_crystal_wrapping" value="0.1*mm"/>
<constant name="ecalbarrel_length_photoelectronic" value="0.7*mm"/>
<constant name="ecalbarrel_width_photoelectronic" value="3*mm"/>
<constant name="ecalbarrel_length_carbon" value="5.*mm"/>
<constant name="ecalbarrel_length_cable" value="0.*mm"/>
<constant name="ecalbarrel_length_cooling" value="1.*mm"/>
<constant name="ecalbarrel_length_pcb" value="1.2*mm"/>
<constant name="ecalbarrel_length_asic" value="1.*mm"/>
<constant name="ecalbarrel_length_back" value="10.*mm"/>
</define>
<regions>
<region name="EcalBarrelRegion">
</region>
</regions>
<detectors>
<detector id="DetID_ECAL" name="EcalBarrel" type="LongCrystalBarBarrelCalorimeter32Polygon_v01" readout="EcalBarrelCollection" vis="Invisible" sensitive="true" region="EcalBarrelRegion">
<!-- Use cm as unit if you want to use Pandora for reconstruction -->
</detector>
</detectors>
<readouts>
<readout name="EcalBarrelCollection">
<segmentation type="NoSegmentation"/>
<!--segmentation type="CartesianGridXYZ"
grid_size_x="1*cm"
grid_size_y="1*cm"
grid_size_z="1*cm"/-->
<id>system:5,module:5,stave:4,dlayer:5,slayer:6,bar:15</id>
</readout>
</readouts>
</lccdd>
<?xml version="1.0" encoding="UTF-8"?>
<lccdd>
<define>
<constant name="ecalbarrel_inner_radius" value="Ecal_barrel_inner_radius"/>
<constant name="ecalbarrel_outer_radius" value="Ecal_barrel_outer_radius"/>
<constant name="ecalbarrel_zlength" value="Ecal_barrel_half_length*2"/>
<constant name="ecalbarrel_24X0" value="268.8*mm"/>
<constant name="ecalbarrel_layer" value="18" />
<constant name="ecalbarrel_phimodule_number" value="32" />
<constant name="ecalbarrel_phimodule_number_display" value="32" />
<constant name="ecalbarrel_Zmodule_number" value="15"/>
<constant name="ecalbarrel_Zmodule_number_display" value="15"/>
<constant name="ecalbarrel_module_ratation" value="12.*degree" />
<constant name="ecalbarrel_width_crystal" value="15.2*mm"/>
<constant name="ecalbarrel_width_crystal_n" value="15.8*mm"/>
<constant name="ecalbarrel_size_crystal" value="15.2*mm"/>
<constant name="ecalbarrel_crystal_wrapping" value="0.1*mm"/>
<constant name="ecalbarrel_crystal_supportting" value="0.000001*mm"/>
<constant name="ecalbarrel_length_photoelectronic" value="0.699999*mm"/>
<constant name="ecalbarrel_width_photoelectronic" value="3*mm"/>
<constant name="ecalbarrel_length_carbon" value="2.5*mm"/>
<constant name="ecalbarrel_length_carbon_z" value="2.5*mm"/>
<constant name="ecalbarrel_length_cable" value="0.*mm"/>
<constant name="ecalbarrel_length_cooling" value="1.*mm"/>
<constant name="ecalbarrel_length_pcb" value="2*mm"/>
<constant name="ecalbarrel_length_asic" value="2*mm"/>
<constant name="ecalbarrel_length_back" value="12*mm"/>
</define>
<regions>
<region name="EcalBarrelRegion">
</region>
</regions>
<detectors>
<detector id="DetID_ECAL" name="EcalBarrel" type="LongCrystalBarBarrelCalorimeter32Polygon_v02" readout="EcalBarrelCollection" vis="Invisible" sensitive="true" region="EcalBarrelRegion">
<!-- Use cm as unit if you want to use Pandora for reconstruction -->
</detector>
</detectors>
<readouts>
<readout name="EcalBarrelCollection">
<segmentation type="NoSegmentation"/>
<!--segmentation type="CartesianGridXYZ"
grid_size_x="1*cm"
grid_size_y="1*cm"
grid_size_z="1*cm"/-->
<id>system:5,module:5,stave:4,dlayer:5,slayer:6,bar:15</id>
</readout>
</readouts>
</lccdd>
<?xml version="1.0" encoding="UTF-8"?>
<lccdd>
<define>
<constant name="ecalendcap_inner_radius" value="Ecal_endcap_inner_radius"/>
<constant name="ecalendcap_outer_radius" value="Ecal_endcap_outer_radius"/>
<constant name="ecalendcap_block_xy" value="350*mm"/>
<constant name="ecalendcap_thickness" value="Ecal_endcap_zmax-Ecal_endcap_zmin"/>
<constant name="ecalendcap_z" value="0.5*(Ecal_endcap_zmin+Ecal_endcap_zmax)"/>
<constant name="Nblock_xy" value="6"/>
<constant name="Nsectors" value="4"/>
<!-- Fill in the space at the corner-->
<constant name="ecalendcap_block_fill_rect_short" value="260*mm"/>
<constant name="ecalendcap_block_fill_sq1" value="180*mm"/>
<constant name="ecalendcap_block_fill_sq2" value="270*mm"/>
<constant name="Ncell_rect_short" value="26"/>
<constant name="Ncell_sq1_xy" value="18"/>
<constant name="Ncell_sq2_xy" value="27"/>
<constant name="gap_narrow" value="2*mm"/>
<constant name="gap_wide" value="10*mm"/>
<!-- CrystalXY = CellXY - 2 * BoundarySafety - 2 * ESRThickness-->
<!-- CrystalZ = CellZ - 2 * BoundarySafety - 2 * ESRThickness-->
<constant name="Ncell_xy" value="35"/>
<constant name="crystal_z_endcap" value="4.1*cm"/>
<constant name="esr_thickness_endcap" value="0.1*mm"/>
<constant name="sipm_x" value="3*mm"/>
<constant name="sipm_y" value="3*mm"/>
<constant name="sipm_z_endcap" value="0.8*mm"/>
<constant name="pcb_thickness_endcap" value="2.2*mm"/>
<constant name="cu_thickness_endcap" value="1*mm"/>
<constant name="fibre_thickness_endcap" value="0.1*mm"/>
<constant name="boundary_safety_endcap" value="1*nm"/>
</define>
<regions>
<region name="EcalEndcapsRegion">
</region>
</regions>
<detectors>
<detector id="DetID_ECAL_ENDCAP"
name="EcalEndcaps"
type="CRDEcalEndcap_Short_v01"
readout="EcalEndcapsCollection"
vis="Invisible"
sensitive="true"
region="EcalEndcapsRegion">
<!-- Use cm as unit if you want to use Pandora for reconstruction -->
<material name="G4_BGO"/>
</detector>
</detectors>
<readouts>
<readout name="EcalEndcapsCollection">
<segmentation type="NoSegmentation"/>
<!--segmentation type="CartesianGridXYZ"
grid_size_x="1*cm"
grid_size_y="1*cm"
grid_size_z="1*cm"/-->
<id>system:5,module:3,stave:5,layer:5,x:6,y:6</id>
</readout>
</readouts>
</lccdd>
<?xml version="1.0" encoding="UTF-8"?>
<lccdd>
<define>
<constant name="ecalendcap_inner_radius" value="Ecal_endcap_inner_radius"/>
<constant name="ecalendcap_outer_radius" value="Ecal_endcap_outer_radius"/>
<constant name="ecalendcap_zmin" value="Ecal_endcap_zmin"/>
<constant name="ecalendcap_depth" value="Ecal_endcap_thickness"/>
<constant name="ecalendcap_layer" value="28" />
<constant name="ecalendcap_x_width" value="350*mm" />
<constant name="ecalendcap_y_width" value="350*mm" />
<constant name="ecalendcap_width_crystal" value="10.2*mm"/>
<constant name="ecalendcap_crystal_wrapping" value="0.1*mm"/>
<constant name="ecalendcap_length_photoelectronic" value="0.7*mm"/>
<constant name="ecalendcap_width_photoelectronic" value="3*mm"/>
<constant name="ecalendcap_length_carbon" value="2.5*mm"/>
<constant name="ecalendcap_length_cable" value="0.*mm"/>
<constant name="ecalendcap_length_cooling" value="1.*mm"/>
<constant name="ecalendcap_length_pcb" value="1.2*mm"/>
<constant name="ecalendcap_length_asic" value="1.*mm"/>
<constant name="ecalendcap_length_back" value="10.*mm"/>
</define>
<regions>
<region name="EcalendcapRegion">
</region>
</regions>
<detectors>
<detector id="DetID_ECAL_ENDCAP" name="EcalEndcaps" type="LongCrystalBarEndcapCalorimeter_v01" readout="EcalEndcapsCollection" vis="Invisible" sensitive="true" region="EcalendcapRegion">
<!-- Use cm as unit if you want to use Pandora for reconstruction -->
</detector>
</detectors>
<readouts>
<readout name="EcalEndcapsCollection">
<segmentation type="NoSegmentation"/>
<!--segmentation type="CartesianGridXYZ"
grid_size_x="1*cm"
grid_size_y="1*cm"
grid_size_z="1*cm"/-->
<id>system:5,module:1,stave:15,dlayer:5,slayer:1,bar:15</id>
</readout>
</readouts>
</lccdd>
<lccdd>
<define>
<!-- <constant name="Ecal_endcap_inner_radius" value="2.5*mm"/>
<constant name="Ecal_endcap_inner_radius" value="2.5*mm"/> -->
<constant name="Ecal_endcap_nlayers" value="28"/>
<constant name="Ecal_scintillator_thickness" value="10*mm"/>
<constant name="Ecal_deadarea_thickness" value="8.5*mm"/>
</define>
<detectors>
<detector id="DetID_ECAL_ENDCAP" name="EcalEndcap" type="LongCrystalBarEndcapCalorimeter_v02" readout="EcalEndcapsCollection" vis="CyanVis" calorimeterType="EMC_ENDCAP">
<comment>Electromagnetic Calorimeter Endcap</comment>
<envelope vis="SeeThrough">
<shape type="BooleanShape" operation="Subtraction" material="Air">
<shape type="BooleanShape" operation="Subtraction" material="Air">
<shape type="Tube" rmin="0.0" rmax="Ecal_endcap_outer_radius - env_safety" dz="Ecal_endcap_zmax"/> <!--there is a thin plane in envolop -->
<shape type="Tube" rmin="0.0" rmax="Ecal_endcap_outer_radius + env_safety" dz="Ecal_endcap_zmin"/>
</shape>
<shape type="Box" dx="Ecal_endcap_inner_radius" dy="Ecal_endcap_inner_radius" dz="Ecal_endcap_zmax + env_safety"/>
</shape>
<rotation x="0" y="0" z="0"/>
</envelope>
<type_flags type=" DetType_CALORIMETER + DetType_ENDCAP + DetType_EMC " />
<material name="CarbonFiber"/>
<dimensions numsides="Ecal_x_module" > <!-- 0:cube 1:isosceles trapezoid 2:right trapezoid -->
<dimensions id="1" module_type="0" module_number="3" x_offset="766.5*mm" y_offset="766.5*mm" z_offset="Ecal_endcap_zmin+Ecal_endcap_thickness/2" dim_x="326*mm" dim_y="326*mm" dim_z="300*mm"/>
<dimensions id="2" module_type="0" module_number="2" x_offset="1067.5*mm" y_offset="1067.5*mm" z_offset="Ecal_endcap_zmin+Ecal_endcap_thickness/2" dim_x="276*mm" dim_y="276*mm" dim_z="300*mm"/>
<dimensions id="3" module_type="0" module_number="1" x_offset="1304*mm" y_offset="1304*mm" z_offset="Ecal_endcap_zmin+Ecal_endcap_thickness/2" dim_x="197*mm" dim_y="197*mm" dim_z="300*mm"/>
<dimensions id="4" module_type="1" module_number="4" x_offset="570.5*mm" y_offset="0*mm" z_offset="Ecal_endcap_zmin+Ecal_endcap_thickness/2" dim_x1="574*mm" dim_x2="495*mm" dim_y1="441*mm" dim_y2="441*mm" dim_z="300*mm" />
<dimensions id="7" module_type="4" module_number="4" x_offset="570.5*mm" y_offset="0*mm" z_offset="Ecal_endcap_zmin+Ecal_endcap_thickness/2" dim_x1="574*mm" dim_x2="495*mm" dim_y1="441*mm" dim_y2="441*mm" dim_z="300*mm" />
<dimensions id="5" module_type="2" module_number="4" x_offset="425.5*mm" y_offset="435*mm" z_offset="Ecal_endcap_zmin+Ecal_endcap_thickness/2" dim_x1="318*mm" dim_x2="356*mm" dim_y1="356*mm" dim_y2="356*mm" dim_z="300*mm"/>
<dimensions id="8" module_type="5" module_number="4" x_offset="425.5*mm" y_offset="435*mm" z_offset="Ecal_endcap_zmin+Ecal_endcap_thickness/2" dim_x1="318*mm" dim_x2="356*mm" dim_y1="356*mm" dim_y2="356*mm" dim_z="300*mm"/>
<dimensions id="6" module_type="3" module_number="1" x_offset="425.5*mm" y_offset="425.5*mm" z_offset="Ecal_endcap_zmin+Ecal_endcap_thickness/2" dim_x="178*mm" dim_y="140*mm" dim_z="300*mm"/>
<dimensions id="9" module_type="6" module_number="1" x_offset="425.5*mm" y_offset="425.5*mm" z_offset="Ecal_endcap_zmin+Ecal_endcap_thickness/2" dim_x="178*mm" dim_y="140*mm" dim_z="300*mm"/>
<dimensions id="10" module_type="7" module_number="1" x_offset="425.5*mm" y_offset="425.5*mm" z_offset="Ecal_endcap_zmin+Ecal_endcap_thickness/2" dim_x="178*mm" dim_y="140*mm" dim_z="300*mm"/>
<dimensions id="11" module_type="8" module_number="1" x_offset="425.5*mm" y_offset="425.5*mm" z_offset="Ecal_endcap_zmin+Ecal_endcap_thickness/2" dim_x="178*mm" dim_y="140*mm" dim_z="300*mm"/>
<!-- 425.5 -->
</dimensions>
<layer repeat="Ecal_endcap_nlayers" vis="CyanVis" material="G4_BGO" thickness = "Ecal_scintillator_thickness">
<slice material="G4_BGO" thickness = "Ecal_scintillator_thickness" sensitive = "yes" limits="cal_limits" vis="CyanVis" />
</layer>
</detector>
</detectors>
<readouts>
<readout name="EcalEndcapsCollection">
<segmentation type="NoSegmentation"/>
<id>system:5,module:1,part:7,stave:7,type:4,dlayer:4,slayer:1,bar:7</id>
</readout>
</readouts>
</lccdd>
<lccdd>
<define>
<!-- <constant name="Ecal_endcap_inner_radius" value="2.5*mm"/>
<constant name="Ecal_endcap_inner_radius" value="2.5*mm"/> -->
<constant name="Ecal_endcap_nlayers" value="28"/>
<constant name="Ecal_scintillator_thickness" value="10*mm"/>
<constant name="Ecal_deadarea_thickness" value="8.5*mm"/>
<constant name="Ecal_module_safety" value="0.5*mm"/>
</define>
<detectors>
<detector id="DetID_ECAL_ENDCAP" name="EcalEndcap" type="LongCrystalBarEndcapCalorimeter_v03" readout="EcalEndcapsCollection" vis="CyanVis" calorimeterType="EMC_ENDCAP">
<comment>Electromagnetic Calorimeter Endcap</comment>
<envelope vis="SeeThrough">
<shape type="BooleanShape" operation="Subtraction" material="Air">
<shape type="BooleanShape" operation="Subtraction" material="Air">
<!-- <shape type="Tube" rmin="0.0" rmax="Ecal_endcap_outer_radius - env_safety" dz="Ecal_endcap_zmax"/> -->
<!--there is a thin plane in envolop -->
<!-- <shape type="Tube" rmin="0.0" rmax="Ecal_endcap_outer_radius + env_safety" dz="Ecal_endcap_zmin"/> -->
<shape type="PolyhedraRegular" numsides="256" rmin="0.0" rmax="Hcal_barrel_inner_radius - 5*mm" dz="Ecal_endcap_zmax*2"/>
<shape type="PolyhedraRegular" numsides="256" rmin="0.0" rmax="Hcal_barrel_inner_radius - 5*mm" dz="Ecal_endcap_zmin*2"/>
</shape>
<!-- <shape type="Box" dx="Ecal_endcap_inner_radius" dy="Ecal_endcap_inner_radius" dz="Ecal_endcap_zmax + env_safety"/> -->
<shape type="Tube" rmin="0.0" rmax="Ecal_endcap_inner_radius" dz="Ecal_endcap_zmax + env_safety"/>
</shape>
<rotation x="0" y="0" z="0"/>
<!-- <rotation x="0" y="0" z="11.25"/> -->
</envelope>
<type_flags type=" DetType_CALORIMETER + DetType_ENDCAP + DetType_EMC " />
<material name="CarbonFiber"/>
<dimensions numsides="Ecal_x_module" > <!-- 0:cube 1:isosceles trapezoid 2:right trapezoid -->
<dimensions id="0" module_type="0" module_number="3" x_offset="768*mm" y_offset="768*mm" z_offset="Ecal_endcap_zmin+Ecal_endcap_thickness/2" dim_x="326*mm" dim_y="326*mm" dim_z="300*mm"/>
<dimensions id="1" module_type="0" module_number="2" x_offset="1069*mm" y_offset="1069*mm" z_offset="Ecal_endcap_zmin+Ecal_endcap_thickness/2" dim_x="276*mm" dim_y="276*mm" dim_z="300*mm"/>
<dimensions id="2" module_type="0" module_number="1" x_offset="1305.5*mm" y_offset="1305.5*mm" z_offset="Ecal_endcap_zmin+Ecal_endcap_thickness/2" dim_x="197*mm" dim_y="197*mm" dim_z="300*mm"/>
<dimensions id="0" module_type="20" module_number="3" x_offset="768*mm" y_offset="768*mm" z_offset="Ecal_endcap_zmin+Ecal_endcap_thickness/2" dim_x="326*mm" dim_y="326*mm" dim_z="300*mm"/>
<dimensions id="1" module_type="20" module_number="2" x_offset="1069*mm" y_offset="1069*mm" z_offset="Ecal_endcap_zmin+Ecal_endcap_thickness/2" dim_x="276*mm" dim_y="276*mm" dim_z="300*mm"/>
<dimensions id="2" module_type="20" module_number="1" x_offset="1305.5*mm" y_offset="1305.5*mm" z_offset="Ecal_endcap_zmin+Ecal_endcap_thickness/2" dim_x="197*mm" dim_y="197*mm" dim_z="300*mm"/>
<dimensions id="3" module_type="1" module_number="4" x_offset="570.5*mm" y_offset="0*mm" z_offset="Ecal_endcap_zmin+Ecal_endcap_thickness/2" dim_x1="574*mm" dim_x2="495*mm" dim_y1="441*mm" dim_y2="441*mm" dim_z="300*mm" />
<dimensions id="4" module_type="2" module_number="4" x_offset="570.5*mm" y_offset="0*mm" z_offset="Ecal_endcap_zmin+Ecal_endcap_thickness/2" dim_x1="574*mm" dim_x2="495*mm" dim_y1="441*mm" dim_y2="441*mm" dim_z="300*mm" />
<dimensions id="3" module_type="21" module_number="4" x_offset="570.5*mm" y_offset="0*mm" z_offset="Ecal_endcap_zmin+Ecal_endcap_thickness/2" dim_x1="574*mm" dim_x2="495*mm" dim_y1="441*mm" dim_y2="441*mm" dim_z="300*mm" />
<dimensions id="4" module_type="22" module_number="4" x_offset="570.5*mm" y_offset="0*mm" z_offset="Ecal_endcap_zmin+Ecal_endcap_thickness/2" dim_x1="574*mm" dim_x2="495*mm" dim_y1="441*mm" dim_y2="441*mm" dim_z="300*mm" />
<dimensions id="5" module_type="3" module_number="4" x_offset="426.25*mm" y_offset="436.125*mm" z_offset="Ecal_endcap_zmin+Ecal_endcap_thickness/2" dim_x1="318*mm" dim_x2="357.5*mm" dim_y1="357.5*mm" dim_y2="357.5*mm" dim_z="300*mm"/>
<dimensions id="6" module_type="4" module_number="4" x_offset="426.25*mm" y_offset="436.125*mm" z_offset="Ecal_endcap_zmin+Ecal_endcap_thickness/2" dim_x1="318*mm" dim_x2="357.5*mm" dim_y1="357.5*mm" dim_y2="357.5*mm" dim_z="300*mm"/>
<dimensions id="7" module_type="5" module_number="4" x_offset="426.25*mm" y_offset="436.125*mm" z_offset="Ecal_endcap_zmin+Ecal_endcap_thickness/2" dim_x1="318*mm" dim_x2="357.5*mm" dim_y1="357.5*mm" dim_y2="357.5*mm" dim_z="300*mm"/>
<dimensions id="8" module_type="6" module_number="4" x_offset="426.25*mm" y_offset="436.125*mm" z_offset="Ecal_endcap_zmin+Ecal_endcap_thickness/2" dim_x1="318*mm" dim_x2="357.5*mm" dim_y1="357.5*mm" dim_y2="357.5*mm" dim_z="300*mm"/>
<dimensions id="9" module_type="7" module_number="4" x_offset="426.25*mm" y_offset="436.125*mm" z_offset="Ecal_endcap_zmin+Ecal_endcap_thickness/2" dim_x1="318*mm" dim_x2="357.5*mm" dim_y1="357.5*mm" dim_y2="357.5*mm" dim_z="300*mm"/>
<dimensions id="10" module_type="8" module_number="4" x_offset="426.25*mm" y_offset="436.125*mm" z_offset="Ecal_endcap_zmin+Ecal_endcap_thickness/2" dim_x1="318*mm" dim_x2="357.5*mm" dim_y1="357.5*mm" dim_y2="357.5*mm" dim_z="300*mm"/>
<dimensions id="11" module_type="9" module_number="4" x_offset="426.25*mm" y_offset="436.125*mm" z_offset="Ecal_endcap_zmin+Ecal_endcap_thickness/2" dim_x1="318*mm" dim_x2="357.5*mm" dim_y1="357.5*mm" dim_y2="357.5*mm" dim_z="300*mm"/>
<dimensions id="12" module_type="10" module_number="4" x_offset="426.25*mm" y_offset="436.125*mm" z_offset="Ecal_endcap_zmin+Ecal_endcap_thickness/2" dim_x1="318*mm" dim_x2="357.5*mm" dim_y1="357.5*mm" dim_y2="357.5*mm" dim_z="300*mm"/>
<dimensions id="13" module_type="11" module_number="1" x_offset="426.25*mm" y_offset="426.25*mm" z_offset="Ecal_endcap_zmin+Ecal_endcap_thickness/2" dim_x="178.75*mm" dim_y="139.25*mm" dim_z="300*mm"/>
<dimensions id="14" module_type="12" module_number="1" x_offset="426.25*mm" y_offset="426.25*mm" z_offset="Ecal_endcap_zmin+Ecal_endcap_thickness/2" dim_x="178.75*mm" dim_y="139.25*mm" dim_z="300*mm"/>
<dimensions id="15" module_type="13" module_number="1" x_offset="426.25*mm" y_offset="426.25*mm" z_offset="Ecal_endcap_zmin+Ecal_endcap_thickness/2" dim_x="178.75*mm" dim_y="139.25*mm" dim_z="300*mm"/>
<dimensions id="16" module_type="14" module_number="1" x_offset="426.25*mm" y_offset="426.25*mm" z_offset="Ecal_endcap_zmin+Ecal_endcap_thickness/2" dim_x="178.75*mm" dim_y="139.25*mm" dim_z="300*mm"/>
<dimensions id="17" module_type="15" module_number="1" x_offset="426.25*mm" y_offset="426.25*mm" z_offset="Ecal_endcap_zmin+Ecal_endcap_thickness/2" dim_x="178.75*mm" dim_y="139.25*mm" dim_z="300*mm"/>
<dimensions id="18" module_type="16" module_number="1" x_offset="426.25*mm" y_offset="426.25*mm" z_offset="Ecal_endcap_zmin+Ecal_endcap_thickness/2" dim_x="178.75*mm" dim_y="139.25*mm" dim_z="300*mm"/>
<dimensions id="19" module_type="17" module_number="1" x_offset="426.25*mm" y_offset="426.25*mm" z_offset="Ecal_endcap_zmin+Ecal_endcap_thickness/2" dim_x="178.75*mm" dim_y="139.25*mm" dim_z="300*mm"/>
<dimensions id="20" module_type="18" module_number="1" x_offset="426.25*mm" y_offset="426.25*mm" z_offset="Ecal_endcap_zmin+Ecal_endcap_thickness/2" dim_x="178.75*mm" dim_y="139.25*mm" dim_z="300*mm"/>
</dimensions>
<layer repeat="Ecal_endcap_nlayers" vis="CyanVis" material="G4_BGO" thickness = "Ecal_scintillator_thickness">
<slice material="G4_BGO" thickness = "Ecal_scintillator_thickness" sensitive = "yes" limits="cal_limits" vis="CyanVis" />
</layer>
</detector>
</detectors>
<readouts>
<readout name="EcalEndcapsCollection">
<segmentation type="NoSegmentation"/>
<id>system:5,module:1,part:7,stave:7,type:4,dlayer:4,slayer:1,bar:7</id>
</readout>
</readouts>
</lccdd>
<lccdd>
<define>
<constant name="Ecal_endcap_nlayers" value="18"/>
<constant name="Ecal_scintillator_thickness" value="15*mm"/>
<constant name="Ecal_deadarea_thickness" value="8.5*mm"/>
</define>
<detectors>
<detector id="DetID_ECAL_ENDCAP" name="EcalEndcap" type="LongCrystalBarEndcapCalorimeter_v03" readout="EcalEndcapsCollection" vis="CyanVis" calorimeterType="EMC_ENDCAP">
<comment>Electromagnetic Calorimeter Endcap</comment>
<envelope vis="SeeThrough">
<shape type="BooleanShape" operation="Subtraction" material="Air">
<shape type="BooleanShape" operation="Subtraction" material="Air">
<!-- <shape type="Tube" rmin="0.0" rmax="Ecal_endcap_outer_radius - env_safety" dz="Ecal_endcap_zmax"/> -->
<!--there is a thin plane in envolop -->
<!-- <shape type="Tube" rmin="0.0" rmax="Ecal_endcap_outer_radius + env_safety" dz="Ecal_endcap_zmin"/> -->
<shape type="PolyhedraRegular" numsides="256" rmin="0.0" rmax="Hcal_barrel_inner_radius - 5*mm" dz="Ecal_endcap_zmax*2"/>
<shape type="PolyhedraRegular" numsides="256" rmin="0.0" rmax="Hcal_barrel_inner_radius - 5*mm" dz="Ecal_endcap_zmin*2"/>
</shape>
<!-- <shape type="Box" dx="Ecal_endcap_inner_radius" dy="Ecal_endcap_inner_radius" dz="Ecal_endcap_zmax + env_safety"/> -->
<shape type="Tube" rmin="0.0" rmax="Ecal_endcap_inner_radius" dz="Ecal_endcap_zmax + env_safety"/>
</shape>
<rotation x="0" y="0" z="0"/>
</envelope>
<type_flags type=" DetType_CALORIMETER + DetType_ENDCAP + DetType_EMC " />
<material name="CarbonFiber"/>
<dimensions numsides="Ecal_x_module" > <!-- 0:cube 1:isosceles trapezoid 2:right trapezoid -->
<dimensions id="0" module_type="0" module_number="3" x_offset="768*mm" y_offset="768*mm" z_offset="Ecal_endcap_zmin+Ecal_endcap_thickness/2" dim_x="326*mm" dim_y="326*mm" dim_z="300*mm"/>
<dimensions id="1" module_type="0" module_number="2" x_offset="1069*mm" y_offset="1069*mm" z_offset="Ecal_endcap_zmin+Ecal_endcap_thickness/2" dim_x="276*mm" dim_y="276*mm" dim_z="300*mm"/>
<dimensions id="2" module_type="0" module_number="1" x_offset="1305.5*mm" y_offset="1305.5*mm" z_offset="Ecal_endcap_zmin+Ecal_endcap_thickness/2" dim_x="197*mm" dim_y="197*mm" dim_z="300*mm"/>
<dimensions id="0" module_type="20" module_number="3" x_offset="768*mm" y_offset="768*mm" z_offset="Ecal_endcap_zmin+Ecal_endcap_thickness/2" dim_x="326*mm" dim_y="326*mm" dim_z="300*mm"/>
<dimensions id="1" module_type="20" module_number="2" x_offset="1069*mm" y_offset="1069*mm" z_offset="Ecal_endcap_zmin+Ecal_endcap_thickness/2" dim_x="276*mm" dim_y="276*mm" dim_z="300*mm"/>
<dimensions id="2" module_type="20" module_number="1" x_offset="1305.5*mm" y_offset="1305.5*mm" z_offset="Ecal_endcap_zmin+Ecal_endcap_thickness/2" dim_x="197*mm" dim_y="197*mm" dim_z="300*mm"/>
<dimensions id="3" module_type="1" module_number="4" x_offset="570.5*mm" y_offset="0*mm" z_offset="Ecal_endcap_zmin+Ecal_endcap_thickness/2" dim_x1="574*mm" dim_x2="495*mm" dim_y1="441*mm" dim_y2="441*mm" dim_z="300*mm" />
<dimensions id="4" module_type="2" module_number="4" x_offset="570.5*mm" y_offset="0*mm" z_offset="Ecal_endcap_zmin+Ecal_endcap_thickness/2" dim_x1="574*mm" dim_x2="495*mm" dim_y1="441*mm" dim_y2="441*mm" dim_z="300*mm" />
<dimensions id="3" module_type="21" module_number="4" x_offset="570.5*mm" y_offset="0*mm" z_offset="Ecal_endcap_zmin+Ecal_endcap_thickness/2" dim_x1="574*mm" dim_x2="495*mm" dim_y1="441*mm" dim_y2="441*mm" dim_z="300*mm" />
<dimensions id="4" module_type="22" module_number="4" x_offset="570.5*mm" y_offset="0*mm" z_offset="Ecal_endcap_zmin+Ecal_endcap_thickness/2" dim_x1="574*mm" dim_x2="495*mm" dim_y1="441*mm" dim_y2="441*mm" dim_z="300*mm" />
<dimensions id="5" module_type="3" module_number="4" x_offset="426.25*mm" y_offset="436.125*mm" z_offset="Ecal_endcap_zmin+Ecal_endcap_thickness/2" dim_x1="318*mm" dim_x2="357.5*mm" dim_y1="357.5*mm" dim_y2="357.5*mm" dim_z="300*mm"/>
<dimensions id="6" module_type="4" module_number="4" x_offset="426.25*mm" y_offset="436.125*mm" z_offset="Ecal_endcap_zmin+Ecal_endcap_thickness/2" dim_x1="318*mm" dim_x2="357.5*mm" dim_y1="357.5*mm" dim_y2="357.5*mm" dim_z="300*mm"/>
<dimensions id="7" module_type="5" module_number="4" x_offset="426.25*mm" y_offset="436.125*mm" z_offset="Ecal_endcap_zmin+Ecal_endcap_thickness/2" dim_x1="318*mm" dim_x2="357.5*mm" dim_y1="357.5*mm" dim_y2="357.5*mm" dim_z="300*mm"/>
<dimensions id="8" module_type="6" module_number="4" x_offset="426.25*mm" y_offset="436.125*mm" z_offset="Ecal_endcap_zmin+Ecal_endcap_thickness/2" dim_x1="318*mm" dim_x2="357.5*mm" dim_y1="357.5*mm" dim_y2="357.5*mm" dim_z="300*mm"/>
<dimensions id="9" module_type="7" module_number="4" x_offset="426.25*mm" y_offset="436.125*mm" z_offset="Ecal_endcap_zmin+Ecal_endcap_thickness/2" dim_x1="318*mm" dim_x2="357.5*mm" dim_y1="357.5*mm" dim_y2="357.5*mm" dim_z="300*mm"/>
<dimensions id="10" module_type="8" module_number="4" x_offset="426.25*mm" y_offset="436.125*mm" z_offset="Ecal_endcap_zmin+Ecal_endcap_thickness/2" dim_x1="318*mm" dim_x2="357.5*mm" dim_y1="357.5*mm" dim_y2="357.5*mm" dim_z="300*mm"/>
<dimensions id="11" module_type="9" module_number="4" x_offset="426.25*mm" y_offset="436.125*mm" z_offset="Ecal_endcap_zmin+Ecal_endcap_thickness/2" dim_x1="318*mm" dim_x2="357.5*mm" dim_y1="357.5*mm" dim_y2="357.5*mm" dim_z="300*mm"/>
<dimensions id="12" module_type="10" module_number="4" x_offset="426.25*mm" y_offset="436.125*mm" z_offset="Ecal_endcap_zmin+Ecal_endcap_thickness/2" dim_x1="318*mm" dim_x2="357.5*mm" dim_y1="357.5*mm" dim_y2="357.5*mm" dim_z="300*mm"/>
<dimensions id="13" module_type="11" module_number="1" x_offset="426.25*mm" y_offset="426.25*mm" z_offset="Ecal_endcap_zmin+Ecal_endcap_thickness/2" dim_x="178.75*mm" dim_y="139.25*mm" dim_z="300*mm"/>
<dimensions id="14" module_type="12" module_number="1" x_offset="426.25*mm" y_offset="426.25*mm" z_offset="Ecal_endcap_zmin+Ecal_endcap_thickness/2" dim_x="178.75*mm" dim_y="139.25*mm" dim_z="300*mm"/>
<dimensions id="15" module_type="13" module_number="1" x_offset="426.25*mm" y_offset="426.25*mm" z_offset="Ecal_endcap_zmin+Ecal_endcap_thickness/2" dim_x="178.75*mm" dim_y="139.25*mm" dim_z="300*mm"/>
<dimensions id="16" module_type="14" module_number="1" x_offset="426.25*mm" y_offset="426.25*mm" z_offset="Ecal_endcap_zmin+Ecal_endcap_thickness/2" dim_x="178.75*mm" dim_y="139.25*mm" dim_z="300*mm"/>
<dimensions id="17" module_type="15" module_number="1" x_offset="426.25*mm" y_offset="426.25*mm" z_offset="Ecal_endcap_zmin+Ecal_endcap_thickness/2" dim_x="178.75*mm" dim_y="139.25*mm" dim_z="300*mm"/>
<dimensions id="18" module_type="16" module_number="1" x_offset="426.25*mm" y_offset="426.25*mm" z_offset="Ecal_endcap_zmin+Ecal_endcap_thickness/2" dim_x="178.75*mm" dim_y="139.25*mm" dim_z="300*mm"/>
<dimensions id="19" module_type="17" module_number="1" x_offset="426.25*mm" y_offset="426.25*mm" z_offset="Ecal_endcap_zmin+Ecal_endcap_thickness/2" dim_x="178.75*mm" dim_y="139.25*mm" dim_z="300*mm"/>
<dimensions id="20" module_type="18" module_number="1" x_offset="426.25*mm" y_offset="426.25*mm" z_offset="Ecal_endcap_zmin+Ecal_endcap_thickness/2" dim_x="178.75*mm" dim_y="139.25*mm" dim_z="300*mm"/>
</dimensions>
<layer repeat="Ecal_endcap_nlayers" vis="CyanVis" material="G4_BGO" thickness = "Ecal_scintillator_thickness">
<slice material="G4_BGO" thickness = "Ecal_scintillator_thickness" sensitive = "yes" limits="cal_limits" vis="CyanVis" />
</layer>
</detector>
</detectors>
<readouts>
<readout name="EcalEndcapsCollection">
<segmentation type="NoSegmentation"/>
<id>system:5,module:1,part:7,stave:7,type:4,dlayer:4,slayer:1,bar:7</id>
</readout>
</readouts>
</lccdd>
<lccdd>
<define>
<constant name="Ecal_endcap_nlayers" value="18"/>
<constant name="Ecal_scintillator_thickness" value="15.2*mm"/>
<constant name="Ecal_endcap_carbonfiber_thickness" value="2.5*mm"/>
<constant name="Ecal_endcap_cu_thickness" value="1*mm"/>
<constant name="Ecal_endcap_electronics_thickness" value="4*mm"/>
<constant name="Ecal_endcap_sipm_thickness" value="0.8*mm"/>
<constant name="Ecal_endcap_sipm_width" value="3*mm"/>
<constant name="Ecal_endcap_esr_thickness" value="0.1*mm"/>
</define>
<detectors>
<detector id="DetID_ECAL_ENDCAP" name="EcalEndcap" type="LongCrystalBarEndcapCalorimeter_v04" readout="EcalEndcapsCollection" vis="CyanVis" calorimeterType="EMC_ENDCAP">
<comment>Electromagnetic Calorimeter Endcap</comment>
<envelope vis="SeeThrough">
<shape type="BooleanShape" operation="Subtraction" material="Air">
<shape type="BooleanShape" operation="Subtraction" material="Air">
<!-- <shape type="Tube" rmin="0.0" rmax="Ecal_endcap_outer_radius - env_safety" dz="Ecal_endcap_zmax"/> -->
<!--there is a thin plane in envolop -->
<!-- <shape type="Tube" rmin="0.0" rmax="Ecal_endcap_outer_radius + env_safety" dz="Ecal_endcap_zmin"/> -->
<shape type="PolyhedraRegular" numsides="256" rmin="0.0" rmax="Hcal_barrel_inner_radius - 5*mm" dz="Ecal_endcap_zmax*2"/>
<shape type="PolyhedraRegular" numsides="256" rmin="0.0" rmax="Hcal_barrel_inner_radius - 5*mm" dz="Ecal_endcap_zmin*2"/>
</shape>
<!-- <shape type="Box" dx="Ecal_endcap_inner_radius" dy="Ecal_endcap_inner_radius" dz="Ecal_endcap_zmax + env_safety"/> -->
<shape type="Tube" rmin="0.0" rmax="Ecal_endcap_inner_radius" dz="Ecal_endcap_zmax + env_safety"/>
</shape>
<rotation x="0" y="0" z="0"/>
</envelope>
<type_flags type=" DetType_CALORIMETER + DetType_ENDCAP + DetType_EMC " />
<material name="CarbonFiber"/>
<dimensions numsides="Ecal_x_module" > <!-- 0:cube 1:isosceles trapezoid 2:right trapezoid -->
<dimensions id="0" module_type="0" module_number="3" x_offset="768*mm" y_offset="768*mm" z_offset="Ecal_endcap_zmin+Ecal_endcap_thickness/2" dim_x="326*mm" dim_y="326*mm" dim_z="300*mm"/>
<dimensions id="1" module_type="0" module_number="2" x_offset="1069*mm" y_offset="1069*mm" z_offset="Ecal_endcap_zmin+Ecal_endcap_thickness/2" dim_x="276*mm" dim_y="276*mm" dim_z="300*mm"/>
<dimensions id="2" module_type="0" module_number="1" x_offset="1305.5*mm" y_offset="1305.5*mm" z_offset="Ecal_endcap_zmin+Ecal_endcap_thickness/2" dim_x="197*mm" dim_y="197*mm" dim_z="300*mm"/>
<dimensions id="0" module_type="20" module_number="3" x_offset="768*mm" y_offset="768*mm" z_offset="Ecal_endcap_zmin+Ecal_endcap_thickness/2" dim_x="326*mm" dim_y="326*mm" dim_z="300*mm"/>
<dimensions id="1" module_type="20" module_number="2" x_offset="1069*mm" y_offset="1069*mm" z_offset="Ecal_endcap_zmin+Ecal_endcap_thickness/2" dim_x="276*mm" dim_y="276*mm" dim_z="300*mm"/>
<dimensions id="2" module_type="20" module_number="1" x_offset="1305.5*mm" y_offset="1305.5*mm" z_offset="Ecal_endcap_zmin+Ecal_endcap_thickness/2" dim_x="197*mm" dim_y="197*mm" dim_z="300*mm"/>
<dimensions id="3" module_type="1" module_number="4" x_offset="570.5*mm" y_offset="0*mm" z_offset="Ecal_endcap_zmin+Ecal_endcap_thickness/2" dim_x1="574*mm" dim_x2="495*mm" dim_y1="441*mm" dim_y2="441*mm" dim_z="300*mm" />
<dimensions id="4" module_type="2" module_number="4" x_offset="570.5*mm" y_offset="0*mm" z_offset="Ecal_endcap_zmin+Ecal_endcap_thickness/2" dim_x1="574*mm" dim_x2="495*mm" dim_y1="441*mm" dim_y2="441*mm" dim_z="300*mm" />
<dimensions id="3" module_type="21" module_number="4" x_offset="570.5*mm" y_offset="0*mm" z_offset="Ecal_endcap_zmin+Ecal_endcap_thickness/2" dim_x1="574*mm" dim_x2="495*mm" dim_y1="441*mm" dim_y2="441*mm" dim_z="300*mm" />
<dimensions id="4" module_type="22" module_number="4" x_offset="570.5*mm" y_offset="0*mm" z_offset="Ecal_endcap_zmin+Ecal_endcap_thickness/2" dim_x1="574*mm" dim_x2="495*mm" dim_y1="441*mm" dim_y2="441*mm" dim_z="300*mm" />
<dimensions id="5" module_type="3" module_number="4" x_offset="426.25*mm" y_offset="436.125*mm" z_offset="Ecal_endcap_zmin+Ecal_endcap_thickness/2" dim_x1="318*mm" dim_x2="357.5*mm" dim_y1="357.5*mm" dim_y2="357.5*mm" dim_z="300*mm"/>
<dimensions id="6" module_type="4" module_number="4" x_offset="426.25*mm" y_offset="436.125*mm" z_offset="Ecal_endcap_zmin+Ecal_endcap_thickness/2" dim_x1="318*mm" dim_x2="357.5*mm" dim_y1="357.5*mm" dim_y2="357.5*mm" dim_z="300*mm"/>
<dimensions id="7" module_type="5" module_number="4" x_offset="426.25*mm" y_offset="436.125*mm" z_offset="Ecal_endcap_zmin+Ecal_endcap_thickness/2" dim_x1="318*mm" dim_x2="357.5*mm" dim_y1="357.5*mm" dim_y2="357.5*mm" dim_z="300*mm"/>
<dimensions id="8" module_type="6" module_number="4" x_offset="426.25*mm" y_offset="436.125*mm" z_offset="Ecal_endcap_zmin+Ecal_endcap_thickness/2" dim_x1="318*mm" dim_x2="357.5*mm" dim_y1="357.5*mm" dim_y2="357.5*mm" dim_z="300*mm"/>
<dimensions id="9" module_type="7" module_number="4" x_offset="426.25*mm" y_offset="436.125*mm" z_offset="Ecal_endcap_zmin+Ecal_endcap_thickness/2" dim_x1="318*mm" dim_x2="357.5*mm" dim_y1="357.5*mm" dim_y2="357.5*mm" dim_z="300*mm"/>
<dimensions id="10" module_type="8" module_number="4" x_offset="426.25*mm" y_offset="436.125*mm" z_offset="Ecal_endcap_zmin+Ecal_endcap_thickness/2" dim_x1="318*mm" dim_x2="357.5*mm" dim_y1="357.5*mm" dim_y2="357.5*mm" dim_z="300*mm"/>
<dimensions id="11" module_type="9" module_number="4" x_offset="426.25*mm" y_offset="436.125*mm" z_offset="Ecal_endcap_zmin+Ecal_endcap_thickness/2" dim_x1="318*mm" dim_x2="357.5*mm" dim_y1="357.5*mm" dim_y2="357.5*mm" dim_z="300*mm"/>
<dimensions id="12" module_type="10" module_number="4" x_offset="426.25*mm" y_offset="436.125*mm" z_offset="Ecal_endcap_zmin+Ecal_endcap_thickness/2" dim_x1="318*mm" dim_x2="357.5*mm" dim_y1="357.5*mm" dim_y2="357.5*mm" dim_z="300*mm"/>
<dimensions id="13" module_type="11" module_number="1" x_offset="426.25*mm" y_offset="426.25*mm" z_offset="Ecal_endcap_zmin+Ecal_endcap_thickness/2" dim_x="178.75*mm" dim_y="139.25*mm" dim_z="300*mm"/>
<dimensions id="14" module_type="12" module_number="1" x_offset="426.25*mm" y_offset="426.25*mm" z_offset="Ecal_endcap_zmin+Ecal_endcap_thickness/2" dim_x="178.75*mm" dim_y="139.25*mm" dim_z="300*mm"/>
<dimensions id="15" module_type="13" module_number="1" x_offset="426.25*mm" y_offset="426.25*mm" z_offset="Ecal_endcap_zmin+Ecal_endcap_thickness/2" dim_x="178.75*mm" dim_y="139.25*mm" dim_z="300*mm"/>
<dimensions id="16" module_type="14" module_number="1" x_offset="426.25*mm" y_offset="426.25*mm" z_offset="Ecal_endcap_zmin+Ecal_endcap_thickness/2" dim_x="178.75*mm" dim_y="139.25*mm" dim_z="300*mm"/>
<dimensions id="17" module_type="15" module_number="1" x_offset="426.25*mm" y_offset="426.25*mm" z_offset="Ecal_endcap_zmin+Ecal_endcap_thickness/2" dim_x="178.75*mm" dim_y="139.25*mm" dim_z="300*mm"/>
<dimensions id="18" module_type="16" module_number="1" x_offset="426.25*mm" y_offset="426.25*mm" z_offset="Ecal_endcap_zmin+Ecal_endcap_thickness/2" dim_x="178.75*mm" dim_y="139.25*mm" dim_z="300*mm"/>
<dimensions id="19" module_type="17" module_number="1" x_offset="426.25*mm" y_offset="426.25*mm" z_offset="Ecal_endcap_zmin+Ecal_endcap_thickness/2" dim_x="178.75*mm" dim_y="139.25*mm" dim_z="300*mm"/>
<dimensions id="20" module_type="18" module_number="1" x_offset="426.25*mm" y_offset="426.25*mm" z_offset="Ecal_endcap_zmin+Ecal_endcap_thickness/2" dim_x="178.75*mm" dim_y="139.25*mm" dim_z="300*mm"/>
</dimensions>
<layer repeat="Ecal_endcap_nlayers" vis="CyanVis" material="G4_BGO" thickness = "Ecal_scintillator_thickness">
<slice material="G4_BGO" thickness = "Ecal_scintillator_thickness" sensitive = "yes" limits="cal_limits" vis="CyanVis" />
</layer>
</detector>
</detectors>
<readouts>
<readout name="EcalEndcapsCollection">
<segmentation type="NoSegmentation"/>
<id>system:5,module:1,part:7,stave:7,type:4,dlayer:4,slayer:1,bar:7</id>
</readout>
</readouts>
</lccdd>
<?xml version="1.0" encoding="UTF-8"?>
<lccdd>
<define>
<constant name="Ecal_crystal_y_width" value="10*mm"/>
<constant name="Ecal_crystal_rotate_angle" value="30*degree"/>
<constant name="Ecal_crystal_envelope_length" value="266*mm"/> <!--not necessary, Ecal_barrel_inner_radius, Ecal_barrel_outer_radius and gap define the range of crystal-->
<constant name="numberZ" value="(int)Ecal_barrel_half_length*2/Ecal_crystal_y_width"/>
<constant name="Ecal_barrel_half_length_correct" value="numberZ*Ecal_crystal_y_width/2"/> <!--Must be n*Ecal_Crystal_y_width! -->
<constant name="Ecal_barrel_outer_radius_redef" value="sqrt(Ecal_barrel_inner_radius*Ecal_barrel_inner_radius+Ecal_crystal_envelope_length*Ecal_crystal_envelope_length
-2*Ecal_barrel_inner_radius*Ecal_crystal_envelope_length*cos(pi-Ecal_crystal_rotate_angle))"/>
</define>
<regions>
<region name="EcalBarrelRegion">
</region>
</regions>
<detectors>
<detector id="DetID_ECAL" name="EcalBarrel" type="DD4hep_RotatedCrystalCalorimeter_v01" readout="EcalBarrelCollection" vis="Invisible" sensitive="true">
<envelope>
<!--shape type="BooleanShape" operation="Union" material="Air"-->
<shape type="Tube" rmin="Ecal_barrel_inner_radius" rmax="Ecal_barrel_outer_radius_redef" dz="Ecal_barrel_half_length" material="Air"/>
<!--/shape-->
</envelope>
<dimensions rmin="Ecal_barrel_inner_radius" rmax="Ecal_barrel_outer_radius_redef" zhalf="Ecal_barrel_half_length_correct" alpha="Ecal_crystal_rotate_angle" nphi="1368" nz="numberZ" gap="0"/>
<crystal material="G4_BGO" vis="ECALVis"/>
</detector>
</detectors>
<readouts>
<readout name="EcalBarrelCollection">
<id>system:5,module:11,crystal:16</id>
</readout>
</readouts>
</lccdd>
......@@ -22,7 +22,7 @@
<detectors>
<detector id="DetID_FTD" name="FTD" type="FTD_Simple_Staggered" vis="FTDVis" readout="FTDCollection" insideTrackingVolume="true">
<envelope vis="FTDVis">
<envelope>
<shape type="BooleanShape" operation="Subtraction" material="Air" >
<shape type="BooleanShape" operation="Subtraction" material="Air" >
<shape type="BooleanShape" operation="Subtraction" material="Air" >
......@@ -56,8 +56,8 @@
<extended_reconstruction_parameters strip_width="0.001*mm" strip_length="250*mm" strip_pitch="0.01*mm" strip_angle="5*deg" />
<!-- SQL command: "select * from disks;" -->
<disk disk_number="1" z_position_ReltoTPCLength="0" disk_si_thickness="0.02*mm" petal_cp_support_dxMax="71.9*mm" padUp_Si_dxMax="68*mm" petal_cp_support_thickness="1*mm" petal_support_zoffset="1.5*mm" sensor_is_pixel="1" double_sided="0" />
<disk disk_number="2" z_position_ReltoTPCLength="FTD_disk2_zPosRelToDCLength" disk_si_thickness="0.02*mm" petal_cp_support_dxMax="71.9*mm" padUp_Si_dxMax="68*mm" petal_cp_support_thickness="1*mm" petal_support_zoffset="1.5*mm" sensor_is_pixel="1" double_sided="0" />
<disk disk_number="1" z_position_ReltoTPCLength="0" disk_si_thickness="0.02*mm" petal_cp_support_dxMax="71.8*mm" padUp_Si_dxMax="68*mm" petal_cp_support_thickness="1*mm" petal_support_zoffset="1.5*mm" sensor_is_pixel="1" double_sided="0" />
<disk disk_number="2" z_position_ReltoTPCLength="FTD_disk2_zPosRelToDCLength" disk_si_thickness="0.02*mm" petal_cp_support_dxMax="71.8*mm" padUp_Si_dxMax="68*mm" petal_cp_support_thickness="1*mm" petal_support_zoffset="1.5*mm" sensor_is_pixel="1" double_sided="0" />
<disk disk_number="3" z_position_ReltoTPCLength="FTD_disk3_zPosRelToDCLength" disk_si_thickness="0.2*mm" petal_cp_support_dxMax="103.49*mm" padUp_Si_dxMax="99.46*mm" petal_cp_support_thickness="2*mm" petal_support_zoffset="1.5*mm" sensor_is_pixel="0" double_sided="1" />
<disk disk_number="4" z_position_ReltoTPCLength="FTD_disk4_zPosRelToDCLength" disk_si_thickness="0.2*mm" petal_cp_support_dxMax="103.49*mm" padUp_Si_dxMax="99.46*mm" petal_cp_support_thickness="2*mm" petal_support_zoffset="1.5*mm" sensor_is_pixel="0" double_sided="1" />
<disk disk_number="5" z_position_ReltoTPCLength="FTD_disk5_zPosRelToDCLength" disk_si_thickness="0.2*mm" petal_cp_support_dxMax="103.49*mm" padUp_Si_dxMax="99.46*mm" petal_cp_support_thickness="2*mm" petal_support_zoffset="1.5*mm" sensor_is_pixel="0" double_sided="1" />
......
<lccdd>
<define>
<constant name="FTD_inner_radius" value="BeamPipe_VertexRegion_rmax + FTD_BeamPipe_cable_clearance"/>
<constant name="FTD_outer_radius" value="InnerTracker_inner_radius - FTD_InnerTracker_gap"/>
<constant name="FTD_outer_radius_1" value="SIT1_inner_radius - env_safety"/>
<constant name="FTD_outer_radius_2" value="FTD_outer_radius - env_safety"/>
<constant name="FTD_half_length" value="InnerTracker_half_length"/>
<constant name="FTD_min_z_0" value="Vertex_half_length + env_safety"/>
<constant name="FTD_min_z_2" value="SIT1_half_length + env_safety"/>
<constant name="FTD_cone_min_z" value="BeamPipe_CentralAl_zmax"/>
<constant name="FTD_cone_radius" value="FTD_half_length*tan(CrossingAngle/2) + BeamPipe_Dnstream_inner_radius + BeamPipe_Cu_thickness + FTD_BeamPipe_cable_clearance/2"/>
<constant name="petal_cp_support_thickness" value="2.0*mm"/>
<constant name="petal_support_zoffset" value="1.5*mm"/>
<constant name="FTD1_vtx3_distance_z" value="95*mm"/>
<constant name="FTD7_ecal_distance_z" value="200*mm"/>
<constant name="FTD_disk2_zPosRelToDCLength" value="0.158004*2350*mm/InnerTracker_half_length"/>
<constant name="FTD_disk3_zPosRelToDCLength" value="0.273577*2350*mm/InnerTracker_half_length"/>
<constant name="FTD_disk4_zPosRelToDCLength" value="0.359149*2350*mm/InnerTracker_half_length"/>
<constant name="FTD_disk5_zPosRelToDCLength" value="0.393600*2350*mm/InnerTracker_half_length"/>
</define>
<detectors>
<detector id="DetID_FTD" name="FTD" type="FTD_Simple_Staggered" vis="FTDVis" readout="FTDCollection" insideTrackingVolume="true">
<envelope>
<shape type="BooleanShape" operation="Subtraction" material="Air" >
<shape type="BooleanShape" operation="Subtraction" material="Air" >
<shape type="BooleanShape" operation="Subtraction" material="Air" >
<shape type="BooleanShape" operation="Subtraction" material="Air" >
<shape type="Tube" rmin="FTD_inner_radius" rmax="FTD_outer_radius" dz="FTD_half_length" />
<shape type="Tube" rmin="0." rmax="FTD_outer_radius+env_safety" dz="FTD_min_z_0" />
</shape>
<shape type="Tube" rmin="FTD_outer_radius_1" rmax="FTD_outer_radius+env_safety" dz="FTD_min_z_2" />
</shape>
<shape type="Cone" rmin1="0" rmax1="FTD_inner_radius" rmin2="0" rmax2="FTD_cone_radius"
z="(FTD_half_length-FTD_cone_min_z)/2. + env_safety "/>
<position x="0" y="0" z="FTD_cone_min_z+(FTD_half_length-FTD_cone_min_z)/2."/>
</shape>
<shape type="Cone" rmin1="0" rmax1="FTD_inner_radius" rmin2="0" rmax2="FTD_cone_radius"
z="(FTD_half_length-FTD_cone_min_z)/2. + env_safety "/>
<position x="0" y="0" z="-FTD_cone_min_z-(FTD_half_length-FTD_cone_min_z)/2."/>
<rotation x="0" y="180.*deg" z="0" />
</shape>
</envelope>
<type_flags type="DetType_TRACKER + DetType_ENDCAP + DetType_PIXEL + DetType_STRIP "/>
<!-- SQL command: "select * from common_parameters;" -->
<common_parameters ftd1_vtx3_distance_z="FTD1_vtx3_distance_z"
ftd7_ecal_distance_z="FTD7_ecal_distance_z" ftd1_sit1_radial_diff="-1*mm" ftd2_sit1_radial_diff="-1*mm" ftd3_sit2_radial_diff="-FTD_InnerTracker_gap"
ftd4to7_tpc_radial_gap="FTD_InnerTracker_gap" beamtube_clearance="FTD_BeamPipe_gap" cables_thickness="0.08*mm" cable_shield_thickness="0.1*mm"
outer_cylinder_total_thickness="1*mm" petal_half_angle_support="11.25*deg" petal_y_ratio="0.5015"
support_spaceframe_width="10*mm"/>
<!-- SQL command: "select * from extended_reconstruction_parameters;" -->
<extended_reconstruction_parameters strip_width="0.001*mm" strip_length="250*mm" strip_pitch="0.01*mm" strip_angle="5*deg" />
<!-- SQL command: "select * from disks;" -->
<disk disk_number="1" z_position_ReltoTPCLength="0" disk_si_thickness="0.02*mm" petal_cp_support_dxMax="62.*mm" padUp_Si_dxMax="58*mm" petal_cp_support_thickness="1*mm" petal_support_zoffset="1.5*mm" sensor_is_pixel="1" double_sided="0" />
<disk disk_number="2" z_position_ReltoTPCLength="FTD_disk2_zPosRelToDCLength" disk_si_thickness="0.02*mm" petal_cp_support_dxMax="62.*mm" padUp_Si_dxMax="58*mm" petal_cp_support_thickness="1*mm" petal_support_zoffset="1.5*mm" sensor_is_pixel="1" double_sided="0" />
<disk disk_number="3" z_position_ReltoTPCLength="FTD_disk3_zPosRelToDCLength" disk_si_thickness="0.2*mm" petal_cp_support_dxMax="103.49*mm" padUp_Si_dxMax="99.46*mm" petal_cp_support_thickness="2*mm" petal_support_zoffset="1.5*mm" sensor_is_pixel="0" double_sided="1" />
<disk disk_number="4" z_position_ReltoTPCLength="FTD_disk4_zPosRelToDCLength" disk_si_thickness="0.2*mm" petal_cp_support_dxMax="103.49*mm" padUp_Si_dxMax="99.46*mm" petal_cp_support_thickness="2*mm" petal_support_zoffset="1.5*mm" sensor_is_pixel="0" double_sided="1" />
<disk disk_number="5" z_position_ReltoTPCLength="FTD_disk5_zPosRelToDCLength" disk_si_thickness="0.2*mm" petal_cp_support_dxMax="103.49*mm" padUp_Si_dxMax="99.46*mm" petal_cp_support_thickness="2*mm" petal_support_zoffset="1.5*mm" sensor_is_pixel="0" double_sided="1" />
</detector>
</detectors>
<readouts>
<readout name="FTDCollection">
<!-- fixme: for now DD4hep cannot handle signed values - side should actually be "-2" -->
<id>system:5,side:2,layer:9,module:8,sensor:8</id>
</readout>
</readouts>
</lccdd>
<lccdd>
<define>
<constant name="SiliconThickness" value="0.2*mm"/>
<constant name="SupportThickness" value="1.0*mm"/>
<constant name="ModuleZGap" value="1.0*mm"/>
<constant name="ModuleRPhiGap" value="-10*mm"/>
</define>
<detectors>
<detector id="DetID_FTD" name="FTD" type="SiTrackerSkewRing_v01" vis="FTDVis" readout="FTDCollection" insideTrackingVolume="true" reflect="true">
<envelope>
<shape type="Assembly"/>
</envelope>
<type_flags type="DetType_TRACKER + DetType_ENDCAP + DetType_PIXEL "/>
<reconstruction strip_width="0.05*mm" strip_length="92*mm" strip_pitch="0" strip_angle="0"/>
<layer id="0" z="SiTracker_endcap_z1" dz="0.5*ModuleZGap" inner_r="SiTracker_endcap_z1*tan(acos(Global_endcap_costheta))*cos(pi/16)" outer_r="SiTracker_endcap_outer_radius1"
phi0="0" gap="ModuleRPhiGap" is_pixel="true" nmodules="16" vis="SeeThrough">
<component material="G4_Si" thickness="SiliconThickness" vis="FTDSensitiveVis" sensitive="yes"/>
<component material="CarbonFiber" thickness="SupportThickness" vis="FTDSupportVis"/>
</layer>
<layer id="1" z="SiTracker_endcap_z2" dz="0.5*ModuleZGap" inner_r="SiTracker_endcap_z2*tan(acos(Global_endcap_costheta))*cos(pi/16)" outer_r="SiTracker_endcap_outer_radius2"
phi0="0" gap="ModuleRPhiGap" is_pixel="true" nmodules="16" vis="SeeThrough">
<component material="G4_Si" thickness="SiliconThickness" vis="FTDSensitiveVis" sensitive="yes"/>
<component material="CarbonFiber" thickness="SupportThickness" vis="FTDSupportVis"/>
</layer>
<layer id="2" z="SiTracker_endcap_z3" dz="0.5*ModuleZGap" inner_r="SiTracker_endcap_z3*tan(acos(Global_endcap_costheta))*cos(pi/16)" outer_r="SiTracker_endcap_outer_radius3"
phi0="0" gap="ModuleRPhiGap" is_pixel="true" nmodules="16" vis="SeeThrough">
<component material="G4_Si" thickness="SiliconThickness" vis="FTDSensitiveVis" sensitive="yes"/>
<component material="CarbonFiber" thickness="SupportThickness" vis="FTDSupportVis"/>
</layer>
<layer id="3" z="SiTracker_endcap_z4" dz="0.5*ModuleZGap" inner_r="SiTracker_endcap_z4*tan(acos(Global_endcap_costheta))*cos(pi/16)" outer_r="SiTracker_endcap_outer_radius4"
phi0="0" gap="ModuleRPhiGap" is_pixel="true" nmodules="16" vis="SeeThrough">
<component material="G4_Si" thickness="SiliconThickness" vis="FTDSensitiveVis" sensitive="yes"/>
<component material="CarbonFiber" thickness="SupportThickness" vis="FTDSupportVis"/>
</layer>
<layer id="4" z="SiTracker_endcap_z5" dz="0.5*ModuleZGap" inner_r="SiTracker_endcap_z5*tan(acos(Global_endcap_costheta))*cos(pi/16)" outer_r="SiTracker_endcap_outer_radius5"
phi0="0" gap="ModuleRPhiGap" is_pixel="true" nmodules="16" vis="SeeThrough">
<component material="G4_Si" thickness="SiliconThickness" vis="FTDSensitiveVis" sensitive="yes"/>
<component material="CarbonFiber" thickness="SupportThickness" vis="FTDSupportVis"/>
</layer>
</detector>
</detectors>
<readouts>
<readout name="FTDCollection">
<id>system:5,side:-2,layer:9,module:8,sensor:8</id>
</readout>
</readouts>
</lccdd>
<lccdd>
<define>
<constant name="SiliconThickness" value="0.2*mm"/>
<constant name="SupportThickness" value="1.0*mm"/>
<constant name="ModuleZGap" value="1.0*mm"/>
<constant name="ModuleRPhiGap" value="-10*mm"/>
</define>
<detectors>
<detector id="DetID_FTD" name="FTD" type="SiTrackerSkewRing_v01" vis="FTDVis" readout="FTDCollection" insideTrackingVolume="true" reflect="true">
<envelope>
<shape type="Assembly"/>
</envelope>
<type_flags type="DetType_TRACKER + DetType_ENDCAP + DetType_PIXEL "/>
<reconstruction strip_width="0.05*mm" strip_length="92*mm" strip_pitch="0" strip_angle="0"/>
<layer id="0" z="SiTracker_endcap_z1" dz="0.5*ModuleZGap" inner_r="SiTracker_endcap_z1*tan(acos(Global_endcap_costheta))*cos(pi/16)" outer_r="SiTracker_endcap_outer_radius1"
phi0="0" gap="ModuleRPhiGap" is_pixel="true" nmodules="16" vis="SeeThrough">
<component material="G4_Si" thickness="SiliconThickness" vis="FTDSensitiveVis" sensitive="yes"/>
<component material="CarbonFiber" thickness="SupportThickness" vis="FTDSupportVis"/>
</layer>
<layer id="1" z="SiTracker_endcap_z2" dz="0.5*ModuleZGap" inner_r="SiTracker_endcap_z2*tan(acos(Global_endcap_costheta))*cos(pi/16)" outer_r="SiTracker_endcap_outer_radius2"
phi0="0" gap="ModuleRPhiGap" is_pixel="true" nmodules="16" vis="SeeThrough">
<component material="G4_Si" thickness="SiliconThickness" vis="FTDSensitiveVis" sensitive="yes"/>
<component material="CarbonFiber" thickness="SupportThickness" vis="FTDSupportVis"/>
</layer>
<layer id="2" z="SiTracker_endcap_z3" dz="0.5*ModuleZGap" inner_r="SiTracker_endcap_z3*tan(acos(Global_endcap_costheta))*cos(pi/16)" outer_r="SiTracker_endcap_outer_radius3"
phi0="0" gap="ModuleRPhiGap" is_pixel="true" nmodules="16" vis="SeeThrough">
<component material="G4_Si" thickness="SiliconThickness" vis="FTDSensitiveVis" sensitive="yes"/>
<component material="CarbonFiber" thickness="SupportThickness" vis="FTDSupportVis"/>
</layer>
<layer id="3" z="SiTracker_endcap_z4" dz="0.5*ModuleZGap" inner_r="SiTracker_endcap_z4*tan(acos(Global_endcap_costheta))*cos(pi/16)" outer_r="SiTracker_endcap_outer_radius4"
phi0="0" gap="ModuleRPhiGap" is_pixel="true" nmodules="16" vis="SeeThrough">
<component material="G4_Si" thickness="SiliconThickness" vis="FTDSensitiveVis" sensitive="yes"/>
<component material="CarbonFiber" thickness="SupportThickness" vis="FTDSupportVis"/>
</layer>
</detector>
</detectors>
<readouts>
<readout name="FTDCollection">
<id>system:5,side:-2,layer:9,module:8,sensor:8</id>
</readout>
</readouts>
</lccdd>
<lccdd>
<define>
<constant name="SiliconThickness" value="0.2*mm"/>
<constant name="SupportThickness" value="1.0*mm"/>
<constant name="ModuleZGap" value="1.0*mm"/>
<constant name="ModuleRPhiGap" value="-10*mm"/>
</define>
<detectors>
<detector id="DetID_FTD" name="FTD" type="SiTrackerSkewRing_v01" vis="FTDVis" readout="FTDCollection" insideTrackingVolume="true" reflect="true">
<envelope>
<shape type="Assembly"/>
</envelope>
<type_flags type="DetType_TRACKER + DetType_ENDCAP + DetType_PIXEL "/>
<reconstruction strip_width="0.05*mm" strip_length="92*mm" strip_pitch="0" strip_angle="0"/>
<layer id="0" z="SiTracker_endcap_z1" dz="0.5*ModuleZGap" inner_r="SiTracker_endcap_z1*tan(acos(Global_endcap_costheta))*cos(pi/16)" outer_r="SiTracker_endcap_outer_radius1"
phi0="0" gap="ModuleRPhiGap" is_pixel="true" nmodules="16" vis="SeeThrough">
<component material="G4_Si" thickness="SiliconThickness" vis="FTDSensitiveVis" sensitive="yes"/>
<component material="CarbonFiber" thickness="SupportThickness" vis="FTDSupportVis"/>
</layer>
<layer id="1" z="SiTracker_endcap_z2" dz="0.5*ModuleZGap" inner_r="SiTracker_endcap_z2*tan(acos(Global_endcap_costheta))*cos(pi/16)" outer_r="SiTracker_endcap_outer_radius2"
phi0="0" gap="ModuleRPhiGap" is_pixel="true" nmodules="16" vis="SeeThrough">
<component material="G4_Si" thickness="SiliconThickness" vis="FTDSensitiveVis" sensitive="yes"/>
<component material="CarbonFiber" thickness="SupportThickness" vis="FTDSupportVis"/>
</layer>
<layer id="2" z="SiTracker_endcap_z3" dz="0.5*ModuleZGap" inner_r="SiTracker_endcap_z3*tan(acos(Global_endcap_costheta))*cos(pi/16)" outer_r="SiTracker_endcap_outer_radius3"
phi0="0" gap="ModuleRPhiGap" is_pixel="true" nmodules="16" vis="SeeThrough">
<component material="G4_Si" thickness="SiliconThickness" vis="FTDSensitiveVis" sensitive="yes"/>
<component material="CarbonFiber" thickness="SupportThickness" vis="FTDSupportVis"/>
</layer>
<layer id="3" z="SiTracker_endcap_z4" dz="0.5*ModuleZGap" inner_r="SiTracker_endcap_z4*tan(acos(Global_endcap_costheta))*cos(pi/16)" outer_r="SiTracker_endcap_outer_radius4"
phi0="0" gap="ModuleRPhiGap" is_pixel="true" nmodules="16" vis="SeeThrough">
<component material="G4_Si" thickness="SiliconThickness" vis="FTDSensitiveVis" sensitive="yes"/>
<component material="CarbonFiber" thickness="SupportThickness" vis="FTDSupportVis"/>
</layer>
<layer id="4" z="SiTracker_endcap_z5" dz="0.5*ModuleZGap" inner_r="SiTracker_endcap_z5*tan(acos(Global_endcap_costheta))*cos(pi/16)" outer_r="SiTracker_endcap_outer_radius5"
phi0="0" gap="ModuleRPhiGap" is_pixel="true" nmodules="16" vis="SeeThrough">
<component material="G4_Si" thickness="SiliconThickness" vis="FTDSensitiveVis" sensitive="yes"/>
<component material="CarbonFiber" thickness="SupportThickness" vis="FTDSupportVis"/>
</layer>
<layer id="5" z="SiTracker_endcap_z6" dz="0.5*ModuleZGap" inner_r="SiTracker_endcap_z6*tan(acos(Global_endcap_costheta))*cos(pi/16)" outer_r="SiTracker_endcap_outer_radius6"
phi0="0" gap="ModuleRPhiGap" is_pixel="true" nmodules="16" vis="SeeThrough">
<component material="G4_Si" thickness="SiliconThickness" vis="FTDSensitiveVis" sensitive="yes"/>
<component material="CarbonFiber" thickness="SupportThickness" vis="FTDSupportVis"/>
</layer>
<layer id="6" z="SiTracker_endcap_z7" dz="0.5*ModuleZGap" inner_r="SiTracker_endcap_z7*tan(acos(Global_endcap_costheta))*cos(pi/16)" outer_r="SiTracker_endcap_outer_radius7"
phi0="0" gap="ModuleRPhiGap" is_pixel="true" nmodules="16" vis="SeeThrough">
<component material="G4_Si" thickness="SiliconThickness" vis="FTDSensitiveVis" sensitive="yes"/>
<component material="CarbonFiber" thickness="SupportThickness" vis="FTDSupportVis"/>
</layer>
</detector>
</detectors>
<readouts>
<readout name="FTDCollection">
<id>system:5,side:-2,layer:9,module:8,sensor:8</id>
</readout>
</readouts>
</lccdd>