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
  • maxt/CEPCSW
  • zyjonah/CEPCSW
  • wanjw03/CEPCSW
  • yudian2002/CEPCSW
  • starr136a/CEPCSW
  • fucd/CEPCSW
  • shuohan/CEPCSW
  • glliu/CEPCSW
  • zhangjinxian/CEPCSW_20250110
  • zhangyz/CEPCSW
  • shuxian/CEPCSW
  • lihp29/CEPCSW
  • zhangkl/CEPCSW
  • laipz/CEPCSW
  • lizhihao/CEPCSW
  • yudian2002/cepcsw-otk-endcap-update-01
  • xuchj7/CEPCSW
  • wuchonghao9612/CEPCSW
  • chenye/CEPCSW
  • zhangxm/CEPCSW
  • mengwq/CEPCSW
  • yudian2002/cepcsw-geo-upgrade-v-2
  • fangwx/CEPCSW
  • yudian2002/cepcsw-geo-upgrade
  • jiangxj/CEPCSW
  • yudian2002/cepcsw-otk-end-cap-development
  • guolei/CEPCSW
  • chenbp/CEPCSW
  • dhb112358/CEPCSW
  • tangyb/CEPCSW
  • luhc/CEPCSW
  • songwz/cepcsw-tdr
  • yudian2002/cepcsw-ote-development
  • yudian2002/cepcsw-otb-development
  • dudejing/CEPCSW
  • shexin/CEPCSW
  • sunwy/CEPCSW
  • 1810337/CEPCSW
  • cepcsw/CEPCSW
  • tyzhang/CEPCSW
  • fucd/CEPCSW1
  • xiaolin.wang/CEPCSW
  • wangchu/CEPCSW
  • 201840277/CEPCSW
  • zhaog/CEPCSW
  • shihy/cepcsw-dose
  • myliu/CEPCSW
  • thinking/CEPCSW
  • lihn/CEPCSW
  • 221840222/CEPCSW
  • gongjd1119/CEPCSW
  • tanggy/CEPCSW
  • lintao/CEPCSW
  • guofangyi/cepcsw-release
  • shihy/CEPCSW
  • 1365447033/CEPCSW
  • lizhan/CEPCSW
  • shixin/CEPCSW
  • cepc/CEPCSW
59 results
Show changes
Showing
with 2417 additions and 0 deletions
<lccdd>
<define>
<constant name="SiliconThickness" value="0.2*mm"/>
<constant name="SupportThickness" value="1.4925*mm"/> <!--equivalent from carbon fiber to carbon/-->
<constant name="ModuleZGap" value="2.0*mm"/>
<constant name="ModuleRPhiGap" value="-10*mm"/>
<constant name="FTDPetalNumber" value="16"/>
</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_inner_radius1" outer_r="SiTracker_endcap_outer_radius1"
skew="0" phi0="0" gap="ModuleRPhiGap" is_pixel="true" nmodules="FTDPetalNumber" vis="SeeThrough">
<component material="G4_Si" thickness="SiliconThickness" vis="FTDSensitiveVis" sensitive="yes"/>
<component material="Carbon" thickness="SupportThickness" vis="FTDSupportVis"/>
</layer>
<layer id="1" z="SiTracker_endcap_z2" dz="0.5*ModuleZGap" inner_r="SiTracker_endcap_inner_radius2" outer_r="SiTracker_endcap_outer_radius2"
skew="0" phi0="0" gap="ModuleRPhiGap" is_pixel="true" nmodules="FTDPetalNumber" vis="SeeThrough">
<component material="G4_Si" thickness="SiliconThickness" vis="FTDSensitiveVis" sensitive="yes"/>
<component material="Carbon" thickness="SupportThickness" vis="FTDSupportVis"/>
</layer>
<layer id="2" z="SiTracker_endcap_z3" dz="0.5*ModuleZGap" inner_r="SiTracker_endcap_inner_radius3" outer_r="SiTracker_endcap_outer_radius3"
skew="0" phi0="0" gap="ModuleRPhiGap" is_pixel="true" nmodules="FTDPetalNumber" vis="SeeThrough">
<component material="G4_Si" thickness="SiliconThickness" vis="FTDSensitiveVis" sensitive="yes"/>
<component material="Carbon" thickness="SupportThickness" vis="FTDSupportVis"/>
</layer>
<layer id="3" z="SiTracker_endcap_z4" dz="0.5*ModuleZGap" inner_r="SiTracker_endcap_inner_radius4" outer_r="SiTracker_endcap_outer_radius4"
skew="0" phi0="0" gap="ModuleRPhiGap" is_pixel="true" nmodules="FTDPetalNumber" vis="SeeThrough">
<component material="G4_Si" thickness="SiliconThickness" vis="FTDSensitiveVis" sensitive="yes"/>
<component material="Carbon" 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>
<!--repeat in barrel and endcap-->
<constant name="Hcal_cell_size" value="40*mm"/>
<constant name="Hcal_nlayers" value="48"/>
<constant name="Hcal_radiator_thickness" value="9.9*mm"/>
<constant name="Hcal_scintillator_thickness" value="10.*mm"/>
<constant name="Hcal_pcb_thickness" value="3.2*mm"/>
<constant name="Hcal_esr_thickness" value="0.2*mm"/>
<constant name="Hcal_cassette_thickness" value="2.0*mm"/>
<constant name="Hcal_endcap_nlayers" value="Hcal_nlayers"/>
</define>
<detectors>
<detector name="HcalEndcap" type="DD4hep_PolyhedraEndcapCalorimeter2" id="DetID_HCAL_ENDCAP" readout="HcalEndcapsCollection" vis="SeeThrough">
<type_flags type=" DetType_CALORIMETER + DetType_ENDCAP + DetType_MUON " />
<dimensions numsides="Hcal_endcap_symmetry" rmin="Hcal_endcap_inner_radius" rmax="Hcal_endcap_outer_radius/cos(pi/Hcal_endcap_symmetry)"
zmin="Hcal_endcap_zmin" />
<layer repeat="Hcal_endcap_nlayers" vis="GrayVis">
<slice material="Steel235" thickness = "Hcal_radiator_thickness" vis="LightGrayVis" />
<slice material="stainless_steel" thickness = "Hcal_cassette_thickness" vis="CyanVis" />
<slice material="G4_ESR" thickness = "Hcal_esr_thickness" vis="CyanVis" />
<slice material="G4_GlassHCAL" thickness = "Hcal_scintillator_thickness" sensitive = "yes" limits="cal_limits" vis="CyanVis" />
<slice material="PCB" thickness = "Hcal_pcb_thickness" vis="CyanVis" />
<slice material="stainless_steel" thickness = "Hcal_cassette_thickness" vis="CyanVis" />
</layer>
</detector>
</detectors>
<readouts>
<readout name="HcalEndcapsCollection">
<segmentation type="CartesianGridXY" grid_size_x="Hcal_cell_size" grid_size_y="Hcal_cell_size" offset_x="Hcal_cell_size/2.0" offset_y="Hcal_cell_size/2.0" />
<!--id>system:5,module:3,stave:3,tower:5,layer:6,x:32:-16,y:-16</id-->
<id>system:5,side:2,module:3,stave:4,barrel:3,layer:6,slice:4,x:32:-16,y:-16</id>
</readout>
</readouts>
</lccdd>
<lccdd>
<info name="ITKEndcap_v01"
title="CepC ITKEndcap"
author="Li Zhihao"
url="http://cepc.ihep.ac.cn"
contact="lizhihao@ihep.ac.cn"
status="developing"
version="v01">
<comment>CepC Inner Tracker EndCap</comment>
</info>
<define>
<constant name="ITKModuleLengthPhi" value="40.1*mm"/>
</define>
<detectors>
<detector id="DetID_ITKEndcap" name="ITKEndcap" type="ITK_EndCap_v01" vis="FTDVis" readout="ITKEndcapCollection" combineHits="true" insideTrackingVolume="true" reflect="true">
<envelope>
<shape type="Assembly"/>
</envelope>
<type_flags type="DetType_TRACKER + DetType_ENDCAP + DetType_PIXEL "/>
<support>
<slice name="Carbon_fiber_front" material="CF_ITK" thickness="150*um" vis="GrayVis"/>
<slice name="Cooling_tube_wall" material="G4_Ti" thickness="3.560*0.013*100*um" vis="GrayVis"/>
<slice name="Cooling_fluid" material="G4_WATER" thickness="35.76*0.105*100*um" vis="GrayVis"/>
<slice name="Graphite_foam_Honeycomb" material="GraphiteFoam_OTK" thickness="2000*um" vis="GrayVis"/>
<slice name="Carbon_fiber_back" material="CF_ITK" thickness="150*um" vis="GrayVis"/>
</support>
<sensor>
<slice name="GlueF" material="CER_ITK" thickness="200*um" vis="SeeThrough"/>
<slice name="Sensor" material="G4_Si" thickness="150*um" sensitive="true" vis="OrangeVis"/>
<slice name="GlueB" material="CER_ITK" thickness="100*um" vis="SeeThrough"/>
<slice name="FPC_Insulating_layers" material="Polyimide_ITK" thickness="100*um" vis="SeeThrough"/>
<slice name="FPC_metal_layer" material="G4_Al" thickness="50*um" vis="SeeThrough"/>
<slice name="Other_electronics" material="Kapton" thickness="32.6437*0.05*100*um" vis="SeeThrough"/>
</sensor>
<layers>
<layer id="0" z="505*mm" inner_r="81.5*mm" outer_r="245*mm" phi0="90*degree" vis="SeeThrough">
<ring id="0" inner_r="81.5*mm" outer_r="(163.4-0.1)*mm" module_dr="80.3*mm" module_dphi="40.1*mm" nmodule="13" vis="SeeThrough" />
<ring id="1" inner_r="163.4*mm" outer_r="245*mm" module_dr="80.3*mm" module_dphi="40.1*mm" nmodule="20" vis="SeeThrough"/>
</layer>
<layer id="1" z="718.5*mm" inner_r="110.5*mm" outer_r="355*mm" phi0="90*degree" vis="SeeThrough">
<ring id="0" inner_r="110.5*mm" outer_r="(192.2-0.1)*mm" module_dr="80.3*mm" module_dphi="40.1*mm" nmodule="16" vis="SeeThrough"/>
<ring id="1" inner_r="192.2*mm" outer_r="(273.4-0.1)*mm" module_dr="80.3*mm" module_dphi="40.1*mm" nmodule="24" vis="SeeThrough"/>
<ring id="2" inner_r="273.4*mm" outer_r="355*mm" module_dr="80.3*mm" module_dphi="40.1*mm" nmodule="28" vis="SeeThrough"/>
</layer>
<layer id="2" z="1000.3*mm" inner_r="160.5*mm" outer_r="565*mm" phi0="90*degree" vis="SeeThrough">
<ring id="0" inner_r="160.5*mm" outer_r="(282-0.1)*mm" module_dr="120.5*mm" module_dphi="40.1*mm" nmodule="24" vis="SeeThrough"/>
<ring id="1" inner_r="282*mm" outer_r="(423.4-0.1)*mm" module_dr="140.6*mm" module_dphi="40.1*mm" nmodule="36" vis="SeeThrough"/>
<ring id="2" inner_r="423.4*mm" outer_r="565*mm" module_dr="140.6*mm" module_dphi="40.1*mm" nmodule="44" vis="SeeThrough"/>
</layer>
<layer id="3" z="1489*mm" inner_r="220.3*mm" outer_r="565*mm" phi0="90*degree" vis="SeeThrough">
<ring id="0" inner_r="220.3*mm" outer_r="(301.6-0.1)*mm" module_dr="80.3*mm" module_dphi="40.1*mm" nmodule="24" vis="SeeThrough"/>
<ring id="1" inner_r="301.6*mm" outer_r="(443.1-0.1)*mm" module_dr="140.6*mm" module_dphi="40.1*mm" nmodule="36" vis="SeeThrough"/>
<ring id="2" inner_r="443.1*mm" outer_r="565*mm" module_dr="120.5*mm" module_dphi="40.1*mm" nmodule="44" vis="SeeThrough"/>
</layer>
</layers>
</detector>
</detectors>
<readouts>
<readout name="ITKEndcapCollection">
<id>system:5,side:-2,layer:9,module:8,sensor:8</id>
</readout>
</readouts>
</lccdd>
<lccdd>
<define>
<constant name="ITKBarrel_sensitive_thickness" value="0.15*mm"/>
<constant name="ITKBarrel_inner_radius_1" value="ITKBarrel1_inner_radius"/>
<constant name="ITKBarrel_inner_radius_2" value="ITKBarrel2_inner_radius"/>
<constant name="ITKBarrel_inner_radius_3" value="ITKBarrel3_inner_radius"/>
<constant name="ITKBarrel_ladder_length_1" value="ITKBarrel1_half_length*2"/>
<constant name="ITKBarrel_ladder_length_2" value="ITKBarrel2_half_length*2"/>
<constant name="ITKBarrel_ladder_length_3" value="ITKBarrel3_half_length*2"/>
<constant name="ITKBarrel_sensor_size" value="20*mm"/>
<constant name="ITKBarrel_sensor_side" value="0.3*mm"/>
<constant name="ITKBarrel_sensor_dead" value="2.0*mm"/>
<constant name="ITKBarrel_sensor_gap" value="0.1*mm"/>
<constant name="ITKBarrel_sensor_number" value="14"/>
<constant name="ITKBarrel_module_length" value="(ITKBarrel_sensor_size+ITKBarrel_sensor_gap)*ITKBarrel_sensor_number/2
-ITKBarrel_sensor_gap"/>
<constant name="ITKBarrel_module_width" value="2*ITKBarrel_sensor_size+ITKBarrel_sensor_gap"/>
<constant name="ITKBarrel_module_gap" value="0.3*mm"/>
<constant name="ITKBarrel_module_number_1" value="7"/>
<constant name="ITKBarrel_module_number_2" value="10"/>
<constant name="ITKBarrel_module_number_3" value="14"/>
</define>
<detectors>
<detector id="DetID_ITKBarrel" name="ITKBarrel" type="SiTrackerStaggeredLadder_v03" vis="SeeThrough"
readout="ITKBarrelCollection" combineHits="true" printLevel="INFO" insideTrackingVolume="true">
<envelope>
<shape type="Assembly"/>
</envelope>
<type_flags type="DetType_TRACKER + DetType_BARREL + DetType_PIXEL "/>
<layer layer_id="0" phi0="0" n_ladders="44" radius="ITKBarrel_inner_radius_1" rotate="-55.85*mrad">
<support length="ITKBarrel_ladder_length_1" width="ITKBarrel_module_width" material="Air" vis="SeeThrough">
<slice name="TrussFrame" thickness="208*um" width="ITKBarrel_module_width" material="CF_ITK" vis="LightGrayVis"/>
<slice name="CarbonFleece" thickness=" 20*um" width="ITKBarrel_module_width" material="CarbonFleece_ITK" vis="LightGrayVis"/>
<slice name="GraphiteFoil" thickness=" 30*um" width="ITKBarrel_module_width" material="Graphite_ITK" vis="GrayVis"/>
<slice name="CoolingTube" thickness=" 64*um" width="ITKBarrel_module_width" material="Polyimide_ITK" vis="SeeThrough"/>
<slice name="CoolingFluid" thickness="190*um" width="ITKBarrel_module_width" material="EquivalWater_ITK" vis="SeeThrough"/>
<slice name="CFPlate" thickness="150*um" width="ITKBarrel_module_width" material="CF_ITK" vis="GrayVis"/>
<slice name="CarbonFleece" thickness=" 20*um" width="ITKBarrel_module_width" material="CarbonFleece_ITK" vis="LightGrayVis"/>
<slice name="Glue" thickness="100*um" width="ITKBarrel_module_width" material="CER_ITK" vis="GrayVis"/>
</support>
<sensitive length="ITKBarrel_ladder_length_1" width="ITKBarrel_module_width" thickness="ITKBarrel_sensitive_thickness" material="G4_Si" vis="OrangeVis">
<module length="ITKBarrel_module_length" width="ITKBarrel_module_width" material="G4_Si" vis="CyanVis">
<row repeat="1" gap="0" up_side="0"/>
<column repeat="ITKBarrel_module_number_1" gap="ITKBarrel_module_gap" left_side="0"/>
<sensor repeat="ITKBarrel_sensor_number" length="ITKBarrel_sensor_size-2*ITKBarrel_sensor_side" width="ITKBarrel_sensor_size-2*ITKBarrel_sensor_side-ITKBarrel_sensor_dead"
gap="ITKBarrel_sensor_gap" dead="ITKBarrel_sensor_dead" side="ITKBarrel_sensor_side" material="G4_Si" vis="MagentaVis"/>
</module>
</sensitive>
<flex length="ITKBarrel_ladder_length_1" width="ITKBarrel_module_width" material="Air" vis="SeeThrough">
<slice name="Glue" thickness="100*um" material="CER_ITK" vis="YellowVis"/>
<slice name="FPCInsulating" thickness="100*um" material="Polyimide_ITK" vis="YellowVis"/>
<slice name="FPCMetal" thickness="100*um" material="G4_Al" vis="GrayVis"/>
<slice name="OEComponent1" thickness=" 25*um" material="Kapton" vis="YellowVis"/>
<slice name="OEComponent2" thickness=" 56*um" material="G4_POLYETHYLENE" vis="GreenVis"/>
<slice name="OEComponent3" thickness=" 3*um" material="G4_Cu" vis="RedVis"/>
</flex>
</layer>
<layer layer_id="1" phi0="0" n_ladders="64" radius="ITKBarrel_inner_radius_2" rotate="-55.85*mrad">
<support length="ITKBarrel_ladder_length_2" width="ITKBarrel_module_width" material="Air" vis="SeeThrough">
<slice name="TrussFrame" thickness="208*um" width="ITKBarrel_module_width" material="CF_ITK" vis="LightGrayVis"/>
<slice name="CarbonFleece" thickness=" 20*um" width="ITKBarrel_module_width" material="CarbonFleece_ITK" vis="LightGrayVis"/>
<slice name="GraphiteFoil" thickness=" 30*um" width="ITKBarrel_module_width" material="Graphite_ITK" vis="GrayVis"/>
<slice name="CoolingTube" thickness=" 64*um" width="ITKBarrel_module_width" material="Polyimide_ITK" vis="SeeThrough"/>
<slice name="CoolingFluid" thickness="190*um" width="ITKBarrel_module_width" material="EquivalWater_ITK" vis="SeeThrough"/>
<slice name="CFPlate" thickness="150*um" width="ITKBarrel_module_width" material="CF_ITK" vis="GrayVis"/>
<slice name="CarbonFleece" thickness=" 20*um" width="ITKBarrel_module_width" material="CarbonFleece_ITK" vis="LightGrayVis"/>
<slice name="Glue" thickness="100*um" width="ITKBarrel_module_width" material="CER_ITK" vis="GrayVis"/>
</support>
<sensitive length="ITKBarrel_ladder_length_2" width="ITKBarrel_module_width" thickness="ITKBarrel_sensitive_thickness" gap="0.3*mm" material="G4_Si" vis="OrangeVis">
<module length="ITKBarrel_module_length" width="ITKBarrel_module_width" material="G4_Si" vis="CyanVis">
<row repeat="1" gap="0" up_side="0"/>
<column repeat="ITKBarrel_module_number_2" gap="ITKBarrel_module_gap" left_side="0"/>
<sensor repeat="ITKBarrel_sensor_number" length="ITKBarrel_sensor_size-2*ITKBarrel_sensor_side" width="ITKBarrel_sensor_size-ITKBarrel_sensor_dead"
gap="ITKBarrel_sensor_gap" dead="ITKBarrel_sensor_dead" side="ITKBarrel_sensor_side" material="G4_Si" vis="MagentaVis"/>
</module>
</sensitive>
<flex length="ITKBarrel_ladder_length_2" width="ITKBarrel_module_width" material="Air" vis="SeeThrough">
<slice name="Glue" thickness="100*um" material="CER_ITK" vis="YellowVis"/>
<slice name="FPCInsulating" thickness="100*um" material="Polyimide_ITK" vis="YellowVis"/>
<slice name="FPCMetal" thickness="100*um" material="G4_Al" vis="GrayVis"/>
<slice name="OEComponent1" thickness=" 25*um" material="Kapton" vis="YellowVis"/>
<slice name="OEComponent2" thickness=" 56*um" material="G4_POLYETHYLENE" vis="GreenVis"/>
<slice name="OEComponent3" thickness=" 3*um" material="G4_Cu" vis="RedVis"/>
</flex>
</layer>
<layer layer_id="2" phi0="0" n_ladders="102" radius="ITKBarrel_inner_radius_3" rotate="-55.85*mrad">
<support length="ITKBarrel_ladder_length_3" width="ITKBarrel_module_width" material="Air" vis="SeeThrough">
<slice name="TrussFrame" thickness="208*um" width="ITKBarrel_module_width" material="CF_ITK" vis="LightGrayVis"/>
<slice name="CarbonFleece" thickness=" 20*um" width="ITKBarrel_module_width" material="CarbonFleece_ITK" vis="LightGrayVis"/>
<slice name="GraphiteFoil" thickness=" 30*um" width="ITKBarrel_module_width" material="Graphite_ITK" vis="GrayVis"/>
<slice name="CoolingTube" thickness=" 64*um" width="ITKBarrel_module_width" material="Polyimide_ITK" vis="SeeThrough"/>
<slice name="CoolingFluid" thickness="190*um" width="ITKBarrel_module_width" material="EquivalWater_ITK" vis="SeeThrough"/>
<slice name="CFPlate" thickness="150*um" width="ITKBarrel_module_width" material="CF_ITK" vis="GrayVis"/>
<slice name="CarbonFleece" thickness=" 20*um" width="ITKBarrel_module_width" material="CarbonFleece_ITK" vis="LightGrayVis"/>
<slice name="Glue" thickness="100*um" width="ITKBarrel_module_width" material="CER_ITK" vis="GrayVis"/>
</support>
<sensitive length="ITKBarrel_ladder_length_3" width="ITKBarrel_module_width" thickness="ITKBarrel_sensitive_thickness" gap="0.3*mm" material="G4_Si" vis="OrangeVis">
<module length="ITKBarrel_module_length" width="ITKBarrel_module_width" material="G4_Si" vis="CyanVis">
<row repeat="1" gap="0" up_side="0"/>
<column repeat="ITKBarrel_module_number_3" gap="ITKBarrel_module_gap" left_side="0"/>
<sensor repeat="ITKBarrel_sensor_number" length="ITKBarrel_sensor_size-2*ITKBarrel_sensor_side" width="ITKBarrel_sensor_size-ITKBarrel_sensor_dead"
gap="ITKBarrel_sensor_gap" dead="ITKBarrel_sensor_dead" side="ITKBarrel_sensor_side" material="G4_Si" vis="MagentaVis"/>
</module>
</sensitive>
<flex length="ITKBarrel_ladder_length_3" width="ITKBarrel_module_width" material="Air" vis="SeeThrough">
<slice name="Glue" thickness="100*um" material="CER_ITK" vis="YellowVis"/>
<slice name="FPCInsulating" thickness="100*um" material="Polyimide_ITK" vis="YellowVis"/>
<slice name="FPCMetal" thickness="100*um" material="G4_Al" vis="GrayVis"/>
<slice name="OEComponent1" thickness=" 25*um" material="Kapton" vis="YellowVis"/>
<slice name="OEComponent2" thickness=" 56*um" material="G4_POLYETHYLENE" vis="GreenVis"/>
<slice name="OEComponent3" thickness=" 3*um" material="G4_Cu" vis="RedVis"/>
</flex>
</layer>
</detector>
</detectors>
<readouts>
<readout name="ITKBarrelCollection">
<id>system:5,side:-2,layer:9,stave:8,module:8,sensor:5</id>
</readout>
</readouts>
</lccdd>
<lccdd>
<comment>different outer_radius meaning with SHcalGlass_Barrel_v04_01.xml (rmax), here Hcal_barrel_outer_radius is Hcal_barrel_inner_radius+thickness</comment>
<define>
<constant name="Hcal_cell_size" value="40*mm"/>
<constant name="Hcal_inner_radius" value="Hcal_barrel_inner_radius"/>
<constant name="Hcal_outer_radius" value="Hcal_barrel_outer_radius/cos(pi/Hcal_barrel_symmetry)"/>
<constant name="Hcal_half_length" value="Hcal_barrel_half_length"/>
<constant name="Hcal_inner_symmetry" value="Hcal_barrel_symmetry"/>
<constant name="Hcal_nlayers" value="48"/>
<constant name="Hcal_radiator_thickness" value="9.9*mm"/>
<constant name="Hcal_back_plate_thickness" value="0.*mm"/>
<!-- 15. -->
<constant name="Hcal_lateral_structure_thickness" value="10*mm"/>
<!-- only the middle has the steel plate -->
<constant name="Hcal_stave_gaps" value="0*mm"/>
<!-- Break in phi staves -->
<constant name="Hcal_middle_stave_gaps" value="0*mm"/>
<!-- ??? -->
<constant name="Hcal_modules_gap" value="2*mm"/>
<!-- Break size in Z modules -->
<constant name="Hcal_layer_air_gap" value="0*mm"/>
<constant name="Hcal_scintillator_thickness" value="10.*mm"/>
<constant name="Hcal_pcb_thickness" value="3.2*mm"/>
<constant name="Hcal_esr_thickness" value="0.2*mm"/>
<constant name="Hcal_cassette_thickness" value="2.0*mm"/>
<constant name="Hcal_chamber_thickness" value="Hcal_scintillator_thickness+Hcal_pcb_thickness+Hcal_esr_thickness+2*Hcal_cassette_thickness"/>
</define>
<detectors>
<detector name="HcalBarrel" type="SHcalSc04_Barrel_v04" id="DetID_HCAL" readout="HcalBarrelCollection" vis="CyanVis" insideTrackingVolume="false" >
<comment>Hadron Calorimeter Barrel</comment>
<envelope vis="CyanVis">
<shape type="BooleanShape" operation="Subtraction" material="Air" >
<shape type="Tube" rmin="0.0" rmax="Hcal_outer_radius + env_safety" dz="Hcal_half_length + env_safety/2.0"/>
<shape type="PolyhedraRegular" numsides="Hcal_inner_symmetry" rmin="0.0" rmax="Hcal_inner_radius - env_safety" dz="2*(Hcal_half_length + env_safety)"/>
</shape>
<rotation x="0" y="0" z="90*deg-180*deg/Hcal_inner_symmetry"/>
</envelope>
<type_flags type=" DetType_CALORIMETER + DetType_BARREL + DetType_HADRONIC " />
<staves material = "Steel235" vis="BlueVis"/>
<layer repeat="Hcal_nlayers" vis="CyanVis">
<slice material="stainless_steel" thickness = "Hcal_cassette_thickness" vis="CyanVis" />
<slice material="G4_ESR" thickness = "Hcal_esr_thickness" vis="CyanVis" />
<slice material="G4_GlassHCAL" thickness = "Hcal_scintillator_thickness" sensitive = "yes" limits="cal_limits" vis="CyanVis" />
<slice material="PCB" thickness = "Hcal_pcb_thickness" vis="CyanVis" />
<slice material="stainless_steel" thickness = "Hcal_cassette_thickness" vis="CyanVis" />
</layer>
</detector>
</detectors>
<readouts>
<readout name="HcalBarrelCollection">
<segmentation type="TiledLayerGridXY" grid_size_x="Hcal_cell_size" grid_size_y="Hcal_cell_size"/>
<id>system:5,module:4,stave:6,tower:6,layer:7,slice:4,x:32:-16,y:-16</id>
</readout>
</readouts>
</lccdd>
<lccdd>
<define>
<!--0.17mm silicon + 1.0mm carbon -> 0.65% of X0-->
<constant name="SIT_sensitive_thickness" value="0.17*mm"/>
<constant name="SIT_support_thickness" value="1*mm"/>
<constant name="SIT_sensor_length" value="81*mm"/>
<!--constant name="SIT_inner_radius" value="SIT1_inner_radius"/>
<constant name="SIT_inner_radius_1" value="SIT_inner_radius + env_safety"/>
<constant name="SIT_outer_radius_1" value="SIT_inner_radius_1/cos(pi/8)"/>
<constant name="SIT_inner_radius_2" value="SIT2_inner_radius"/>
<constant name="SIT_outer_radius" value="OuterTracker_inner_radius"/>
<constant name="SIT_half_length" value="SIT2_half_length"/>
<constant name="SIT_half_length_1" value="SIT1_half_length"/>
<constant name="SIT_layer_gap" value="2.5*mm"/-->
</define>
<detectors>
<detector id="DetID_SIT" name="SIT" type="SIT_Simple_Pixel" vis="SITVis" readout="SITCollection" insideTrackingVolume="true">
<envelope>
<shape type="Assembly"/>
<!--shape type="BooleanShape" operation="Union" material="Air" >
<shape type="Tube" rmin="SIT_inner_radius" rmax="SIT_outer_radius_1" dz="SIT_half_length_1" />
<shape type="Tube" rmin="SIT_inner_radius_2" rmax="SIT_outer_radius" dz="SIT_half_length" />
</shape-->
</envelope>
<type_flags type="DetType_TRACKER + DetType_BARREL + DetType_PIXEL "/>
<reconstruction strip_width="0." strip_length="0." strip_pitch="0." strip_angle="0*deg" />
<global sensitive_thickness="SIT_sensitive_thickness" support_thickness="SIT_support_thickness" sensor_length="SIT_sensor_length"
sensitive_mat="G4_Si" support_mat="G4_C" sensitive_threshold_KeV="64*keV" />
<display ladder="SeeThrough" support="SITSupportVis" sens_env="SeeThrough" sens="SITSensitiveVis" />
<layer layer_id="0" sensitive_radius="SIT1_inner_radius+0.5*SIT_sensitive_thickness" n_sensors_per_ladder="SIT1_half_length*2/SIT_sensor_length"
n_ladders="2*pi*SIT1_inner_radius/SIT_sensor_length" ladder_clearance="0.1*mm" faces_IP="1" is_SIT1="1" is_SIT2="0" />
<layer layer_id="1" sensitive_radius="SIT2_inner_radius+0.5*SIT_sensitive_thickness" n_sensors_per_ladder="SIT2_half_length*2/SIT_sensor_length"
n_ladders="2*pi*SIT2_inner_radius/SIT_sensor_length" ladder_clearance="0.1*mm" faces_IP="1" is_SIT1="0" is_SIT2="1" />
<layer layer_id="2" sensitive_radius="SIT3_inner_radius+0.5*SIT_sensitive_thickness" n_sensors_per_ladder="SIT3_half_length*2/SIT_sensor_length"
n_ladders="2*pi*SIT3_inner_radius/SIT_sensor_length" ladder_clearance="0.1*mm" faces_IP="1" is_SIT1="0" is_SIT2="0" />
</detector>
</detectors>
<readouts>
<readout name="SITCollection">
<id>system:5,side:-2,layer:9,module:8,sensor:8,barrelside:-2</id>
</readout>
</readouts>
</lccdd>
<lccdd>
<define>
<!--0.17mm silicon + 1.0mm carbon -> 0.65% of X0-->
<constant name="SIT_sensitive_thickness" value="0.17*mm"/>
<constant name="SIT_support_thickness" value="1*mm"/>
<constant name="SIT_sensor_length" value="143*mm"/>
<!--constant name="SIT_inner_radius" value="SIT1_inner_radius"/>
<constant name="SIT_inner_radius_1" value="SIT_inner_radius + env_safety"/>
<constant name="SIT_outer_radius_1" value="SIT_inner_radius_1/cos(pi/8)"/>
<constant name="SIT_inner_radius_2" value="SIT2_inner_radius"/>
<constant name="SIT_outer_radius" value="OuterTracker_inner_radius"/>
<constant name="SIT_half_length" value="SIT2_half_length"/>
<constant name="SIT_half_length_1" value="SIT1_half_length"/>
<constant name="SIT_layer_gap" value="2.5*mm"/-->
</define>
<detectors>
<detector id="DetID_SIT" name="SIT" type="SIT_Simple_Pixel" vis="SITVis" readout="SITCollection" insideTrackingVolume="true">
<envelope>
<shape type="Assembly"/>
<!--shape type="BooleanShape" operation="Union" material="Air" >
<shape type="Tube" rmin="SIT_inner_radius" rmax="SIT_outer_radius_1" dz="SIT_half_length_1" />
<shape type="Tube" rmin="SIT_inner_radius_2" rmax="SIT_outer_radius" dz="SIT_half_length" />
</shape-->
</envelope>
<type_flags type="DetType_TRACKER + DetType_BARREL + DetType_PIXEL "/>
<reconstruction strip_width="0." strip_length="0." strip_pitch="0." strip_angle="0*deg" />
<global sensitive_thickness="SIT_sensitive_thickness" support_thickness="SIT_support_thickness" sensor_length="SIT_sensor_length"
sensitive_mat="G4_Si" support_mat="G4_C" sensitive_threshold_KeV="64*keV" />
<display ladder="SeeThrough" support="SITSupportVis" sens_env="SeeThrough" sens="SITSensitiveVis" />
<layer layer_id="0" sensitive_radius="SIT1_inner_radius+0.5*SIT_sensitive_thickness" n_sensors_per_ladder="SIT1_half_length*2/SIT_sensor_length"
n_ladders="40" ladder_clearance="0.1*mm" faces_IP="1" is_SIT1="1" is_SIT2="0" />
<layer layer_id="1" sensitive_radius="SIT2_inner_radius+0.5*SIT_sensitive_thickness" n_sensors_per_ladder="SIT2_half_length*2/SIT_sensor_length"
n_ladders="116" ladder_clearance="0.1*mm" faces_IP="1" is_SIT1="0" is_SIT2="1" />
<layer layer_id="2" sensitive_radius="SIT3_inner_radius+0.5*SIT_sensitive_thickness" n_sensors_per_ladder="SIT3_half_length*2/SIT_sensor_length"
n_ladders="192" ladder_clearance="0.1*mm" faces_IP="1" is_SIT1="0" is_SIT2="0" />
</detector>
</detectors>
<readouts>
<readout name="SITCollection">
<id>system:5,side:-2,layer:9,module:8,sensor:8,barrelside:-2</id>
</readout>
</readouts>
</lccdd>
<lccdd>
<define>
<!--0.17mm silicon + 1.0mm carbon -> 0.65% of X0-->
<constant name="SIT_sensitive_thickness" value="0.15*mm"/>
<constant name="SIT_support_thickness" value="4*mm"/> <!--use the barestave num-->
<constant name="SIT_module_length" value="140*mm"/> <!--module length-->
<constant name="SIT_inner_radius_1" value="SIT1_inner_radius"/>
<constant name="SIT_inner_radius_2" value="SIT2_inner_radius"/>
<constant name="SIT_inner_radius_3" value="SIT3_inner_radius"/>
<constant name="SIT_half_length_1" value="SIT1_half_length"/>
<constant name="SIT_half_length_2" value="SIT2_half_length"/>
<constant name="SIT_half_length_3" value="SIT3_half_length"/>
</define>
<detectors>
<detector id="DetID_SIT" name="SIT" type="SiTracker_itkbarrel_v01" vis="SITVis" readout="SITCollection" insideTrackingVolume="true">
<envelope>
<shape type="Assembly"/>
<!--shape type="BooleanShape" operation="Union" material="Air" >
<shape type="Tube" rmin="SIT_inner_radius" rmax="SIT_outer_radius_1" dz="SIT_half_length_1" />
<shape type="Tube" rmin="SIT_inner_radius_2" rmax="SIT_outer_radius" dz="SIT_half_length" />
</shape-->
</envelope>
<type_flags type="DetType_TRACKER + DetType_BARREL + DetType_PIXEL "/>
<!--reconstruction strip_width="0." strip_length="0." strip_pitch="0." strip_angle="0*deg" /-->
<global sensitive_thickness="SIT_sensitive_thickness" support_thickness="SIT_support_thickness" module_length="SIT_module_length"
sensitive_mat="G4_Si" support_mat="G4_C" sensitive_threshold_KeV="64*keV" />
<display stave="SeeThrough" support="SITSupportVis" flex="GreenVis" sens_env="SeeThrough" sens="YellowVis" deadsensor="GrayVis" deadwire="LightGrayVis" ports="SeeThrough" lpGBTx="OrangeVis" opticalconnector="CyanVis"/>
<layer layer_id="0" sensitive_radius="SIT_inner_radius_1" n_staves="36" stave_offset="100*mm">
<stave isDoubleSided="false">
<staveSupport thickness="SIT_support_thickness" length="SIT_half_length_1" width="(42.76+10)*mm" mat="CFRP_CMS"/>
<flex>
<slice length="SIT_half_length_1" thickness="0.025*mm" width="(42.76+10)*mm" mat="Kapton"/>
<slice length="SIT_half_length_1" thickness="0.05*mm" width="(42.76+10)*mm" mat="G4_Cu"/>
<slice length="SIT_half_length_1" thickness="0.025*mm" width="(42.76+10)*mm" mat="Kapton"/>
<slice length="SIT_half_length_1" thickness="0.2*mm" width="(42.76+10)*mm" mat="PCB"/>
</flex>
<module n_modules="7" gap="1.08*mm" thickness="SIT_sensitive_thickness" active_length="140*mm" active_width="(40-2*2.59)*mm" dead_width="2.59*mm" module_mat="G4_Si"
deadwire_length="(4*140-0.1)*mm" deadwire_width="1.38*mm" deadwire_thickness="(50/10)*um" deadwire_mat="G4_Al"/>
<lpGBTx>
<slice length="9*mm" thickness="(4-0.15)*mm" width="9*mm" mat="G4_POLYETHYLENE"/>
<slice length="9*mm" thickness="0.15*mm" width="9*mm" mat="G4_Si"/>
</lpGBTx>
<opticalconnector>
<slice length="20*mm" thickness="(1.25-0.15)*mm" width="10*mm" mat="G4_POLYETHYLENE"/>
<slice length="20*mm" thickness="0.15*mm" width="10*mm" mat="G4_Si"/>
</opticalconnector>
</stave>
</layer>
<layer layer_id="1" sensitive_radius="SIT_inner_radius_2" n_staves="52" stave_offset="100*mm">
<stave isDoubleSided="false">
<staveSupport thickness="SIT_support_thickness" length="SIT_half_length_2" width="(42.76+10)*mm" mat="CFRP_CMS"/>
<flex>
<slice length="SIT_half_length_2" thickness="0.025*mm" width="(42.76+10)*mm" mat="Kapton"/>
<slice length="SIT_half_length_2" thickness="0.05*mm" width="(42.76+10)*mm" mat="G4_Cu"/>
<slice length="SIT_half_length_2" thickness="0.025*mm" width="(42.76+10)*mm" mat="Kapton"/>
<slice length="SIT_half_length_2" thickness="0.2*mm" width="(42.76+10)*mm" mat="PCB"/>
</flex>
<module n_modules="10" gap="1.08*mm" thickness="SIT_sensitive_thickness" active_length="140*mm" active_width="(40-2*2.59)*mm" dead_width="2.59*mm" module_mat="G4_Si"
deadwire_length="(6*140-0.1)*mm" deadwire_width="1.38*mm" deadwire_thickness="(50/10)*um" deadwire_mat="G4_Al"/>
<lpGBTx>
<slice length="9*mm" thickness="(4-0.15)*mm" width="9*mm" mat="G4_POLYETHYLENE"/>
<slice length="9*mm" thickness="0.15*mm" width="9*mm" mat="G4_Si"/>
</lpGBTx>
<opticalconnector>
<slice length="20*mm" thickness="(1.25-0.15)*mm" width="10*mm" mat="G4_POLYETHYLENE"/>
<slice length="20*mm" thickness="0.15*mm" width="10*mm" mat="G4_Si"/>
</opticalconnector>
</stave>
</layer>
<layer layer_id="2" sensitive_radius="SIT_inner_radius_3" n_staves="88" stave_offset="100*mm">
<stave isDoubleSided="false">
<staveSupport thickness="SIT_support_thickness" length="SIT_half_length_3" width="(42.76+10)*mm" mat="CFRP_CMS"/>
<flex>
<slice length="SIT_half_length_3" thickness="0.025*mm" width="(42.76+10)*mm" mat="Kapton"/>
<slice length="SIT_half_length_3" thickness="0.05*mm" width="(42.76+10)*mm" mat="G4_Cu"/>
<slice length="SIT_half_length_3" thickness="0.025*mm" width="(42.76+10)*mm" mat="Kapton"/>
<slice length="SIT_half_length_3" thickness="0.2*mm" width="(42.76+10)*mm" mat="PCB"/>
</flex>
<module n_modules="14" gap="1.08*mm" thickness="SIT_sensitive_thickness" active_length="140*mm" active_width="(40-2*2.59)*mm" dead_width="2.59*mm" module_mat="G4_Si"
deadwire_length="(12*140-0.1)*mm" deadwire_width="1.38*mm" deadwire_thickness="(50/10)*um" deadwire_mat="G4_Al"/>
<lpGBTx>
<slice length="9*mm" thickness="(4-0.15)*mm" width="9*mm" mat="G4_POLYETHYLENE"/>
<slice length="9*mm" thickness="0.15*mm" width="9*mm" mat="G4_Si"/>
</lpGBTx>
<opticalconnector>
<slice length="20*mm" thickness="(1.25-0.15)*mm" width="10*mm" mat="G4_POLYETHYLENE"/>
<slice length="20*mm" thickness="0.15*mm" width="10*mm" mat="G4_Si"/>
</opticalconnector>
</stave>
</layer>
</detector>
</detectors>
<readouts>
<readout name="SITCollection">
<id>system:5,side:-2,layer:9,stave:9,module:8</id>
</readout>
</readouts>
</lccdd>
<lccdd>
<define>
<!--0.17mm silicon + 1.0mm carbon -> 0.65% of X0-->
<constant name="SIT_sensitive_thickness" value="0.15*mm"/>
<!--constant name="SIT_support_thickness" value="4*mm"/--> <!--use the barestave num-->
<constant name="SIT_module_length" value="140*mm"/> <!--module length-->
<constant name="SIT_inner_radius_1" value="ITKBarrel1_inner_radius"/>
<constant name="SIT_inner_radius_2" value="ITKBarrel2_inner_radius"/>
<constant name="SIT_inner_radius_3" value="ITKBarrel3_inner_radius"/>
<constant name="SIT_half_length_1" value="ITKBarrel1_half_length"/>
<constant name="SIT_half_length_2" value="ITKBarrel2_half_length"/>
<constant name="SIT_half_length_3" value="ITKBarrel3_half_length"/>
</define>
<detectors>
<detector id="DetID_SIT" name="SIT" type="SiTracker_itkbarrel_v02" vis="SITVis" readout="SITCollection" combineHits="true" insideTrackingVolume="true">
<envelope>
<shape type="Assembly"/>
<!--shape type="BooleanShape" operation="Union" material="Air" >
<shape type="Tube" rmin="SIT_inner_radius" rmax="SIT_outer_radius_1" dz="SIT_half_length_1" />
<shape type="Tube" rmin="SIT_inner_radius_2" rmax="SIT_outer_radius" dz="SIT_half_length" />
</shape-->
</envelope>
<type_flags type="DetType_TRACKER + DetType_BARREL + DetType_PIXEL "/>
<!--reconstruction strip_width="0." strip_length="0." strip_pitch="0." strip_angle="0*deg" /-->
<global sensitive_thickness="SIT_sensitive_thickness" support_thickness="SIT_support_thickness" module_length="SIT_module_length"
sensitive_mat="G4_Si" support_mat="CarbonFiber" sensitive_threshold_KeV="64*keV" />
<display stave="SeeThrough" tubeTi="SilverGrayVis" support="DarkGrayVis" flex="OrangeVis" sens_env="SeeThrough" sens="SilverWhiteVis" deadsensor="GrayVis" ports="SeeThrough" dataaggregation="BlueVis" lpGBTx="TurquoiseVis" opticalconnector="OrangeRedVis" DCDC="MagentaVis"/> <!--DCDC: Direct Current Direct Current Converter-->
<layer layer_id="0" sensitive_radius="SIT_inner_radius_1" n_staves="44" stave_offset="70*mm">
<stave isDoubleSided="false">
<tubeTi length="SIT_half_length_1" innerradius="2*mm" outerradius="2.2*mm" mat="G4_Ti"/>
<staveSupport>
<slice length="SIT_half_length_1" thickness="0.15*mm" width="(40+0.01)*mm" mat="CarbonFiber"/>
<slice length="SIT_half_length_1" thickness="0.03*mm" width="(40+0.01)*mm" mat="G4_GRAPHITE"/>
<slice length="SIT_half_length_1" thickness="0.03*mm" width="(40+0.01)*mm" mat="G4_GRAPHITE"/>
<slice length="SIT_half_length_1" thickness="0.1*mm" width="(40+0.01)*mm" mat="CarbonFiber"/>
</staveSupport>
<flex>
<slice length="SIT_half_length_1" thickness="0.025*mm" width="(40+0.01-0.02)*mm" mat="Kapton"/>
<slice length="SIT_half_length_1" thickness="0.05*mm" width="(40+0.01-0.02)*mm" mat="G4_Cu"/>
<slice length="SIT_half_length_1" thickness="0.025*mm" width="(40+0.01-0.02)*mm" mat="Kapton"/>
</flex>
<module n_modules="7" gap="1.08*mm" thickness="SIT_sensitive_thickness" length="(20*7+0.01*6+1.08*2)*mm" width="(20*2+0.01)*mm"
n_sensors="14" sensor_gap="0.01*mm" sensor_thickness="SIT_sensitive_thickness" sensor_sensitive_length="(20-0.8)*mm" sensor_sensitive_width="(20-2.59)*mm" dead_length="0.8*mm" dead_width="2.59*mm" sensor_mat="G4_Si"/>
<lpGBTx>
<slice length="9*mm" thickness="(4-0.15)*mm" width="9*mm" mat="G4_POLYETHYLENE"/>
<slice length="9*mm" thickness="0.15*mm" width="9*mm" mat="G4_Si"/>
</lpGBTx>
<opticalconnector>
<slice length="20*mm" thickness="(1.25-0.15)*mm" width="10*mm" mat="G4_POLYETHYLENE"/>
<slice length="20*mm" thickness="0.15*mm" width="10*mm" mat="G4_Si"/>
</opticalconnector>
<dataaggregation>
<slice length="9*mm" thickness="(4-0.15)*mm" width="9*mm" mat="G4_POLYETHYLENE"/>
<slice length="9*mm" thickness="0.15*mm" width="9*mm" mat="G4_Si"/>
</dataaggregation>
<DCDC>
<slice length="20*mm" thickness="(4-0.15)*mm" width="10*mm" mat="G4_POLYETHYLENE"/>
<slice length="20*mm" thickness="0.15*mm" width="10*mm" mat="G4_Si"/>
</DCDC>
</stave>
</layer>
<layer layer_id="1" sensitive_radius="SIT_inner_radius_2" n_staves="64" stave_offset="100*mm">
<stave isDoubleSided="false">
<tubeTi length="SIT_half_length_2" innerradius="2*mm" outerradius="2.2*mm" mat="G4_Ti"/>
<staveSupport>
<slice length="SIT_half_length_2" thickness="0.15*mm" width="(40+0.01)*mm" mat="CarbonFiber"/>
<slice length="SIT_half_length_2" thickness="0.03*mm" width="(40+0.01)*mm" mat="G4_GRAPHITE"/>
<slice length="SIT_half_length_2" thickness="0.03*mm" width="(40+0.01)*mm" mat="G4_GRAPHITE"/>
<slice length="SIT_half_length_2" thickness="0.1*mm" width="(40+0.01)*mm" mat="CarbonFiber"/>
</staveSupport>
<flex>
<slice length="SIT_half_length_2" thickness="0.025*mm" width="(40+0.01-0.02)*mm" mat="Kapton"/>
<slice length="SIT_half_length_2" thickness="0.05*mm" width="(40+0.01-0.02)*mm" mat="G4_Cu"/>
<slice length="SIT_half_length_2" thickness="0.025*mm" width="(40+0.01-0.02)*mm" mat="Kapton"/>
</flex>
<module n_modules="10" gap="1.08*mm" thickness="SIT_sensitive_thickness" length="(20*7+0.01*6+1.08*2)*mm" width="(20*2+0.01)*mm"
n_sensors="14" sensor_gap="0.01*mm" sensor_thickness="SIT_sensitive_thickness" sensor_sensitive_length="(20-0.8)*mm" sensor_sensitive_width="(20-2.59)*mm" dead_length="0.8*mm" dead_width="2.59*mm" sensor_mat="G4_Si"/>
<lpGBTx>
<slice length="9*mm" thickness="(4-0.15)*mm" width="9*mm" mat="G4_POLYETHYLENE"/>
<slice length="9*mm" thickness="0.15*mm" width="9*mm" mat="G4_Si"/>
</lpGBTx>
<opticalconnector>
<slice length="20*mm" thickness="(1.25-0.15)*mm" width="10*mm" mat="G4_POLYETHYLENE"/>
<slice length="20*mm" thickness="0.15*mm" width="10*mm" mat="G4_Si"/>
</opticalconnector>
<dataaggregation>
<slice length="9*mm" thickness="(4-0.15)*mm" width="9*mm" mat="G4_POLYETHYLENE"/>
<slice length="9*mm" thickness="0.15*mm" width="9*mm" mat="G4_Si"/>
</dataaggregation>
<DCDC>
<slice length="20*mm" thickness="(4-0.15)*mm" width="10*mm" mat="G4_POLYETHYLENE"/>
<slice length="20*mm" thickness="0.15*mm" width="10*mm" mat="G4_Si"/>
</DCDC>
</stave>
</layer>
<layer layer_id="2" sensitive_radius="SIT_inner_radius_3" n_staves="103" stave_offset="150*mm">
<stave isDoubleSided="false">
<tubeTi length="SIT_half_length_3" innerradius="2*mm" outerradius="2.2*mm" mat="G4_Ti"/>
<staveSupport>
<slice length="SIT_half_length_3" thickness="0.15*mm" width="(40+0.01)*mm" mat="CarbonFiber"/>
<slice length="SIT_half_length_3" thickness="0.03*mm" width="(40+0.01)*mm" mat="G4_GRAPHITE"/>
<slice length="SIT_half_length_3" thickness="0.03*mm" width="(40+0.01)*mm" mat="G4_GRAPHITE"/>
<slice length="SIT_half_length_3" thickness="0.1*mm" width="(40+0.01)*mm" mat="CarbonFiber"/>
</staveSupport>
<flex>
<slice length="SIT_half_length_3" thickness="0.025*mm" width="(40+0.01-0.02)*mm" mat="Kapton"/>
<slice length="SIT_half_length_3" thickness="0.05*mm" width="(40+0.01-0.02)*mm" mat="G4_Cu"/>
<slice length="SIT_half_length_3" thickness="0.025*mm" width="(40+0.01-0.02)*mm" mat="Kapton"/>
</flex>
<module n_modules="14" gap="1.08*mm" thickness="SIT_sensitive_thickness" length="(20*7+0.01*6+1.08*2)*mm" width="(20*2+0.01)*mm"
n_sensors="14" sensor_gap="0.01*mm" sensor_thickness="SIT_sensitive_thickness" sensor_sensitive_length="(20-0.8)*mm" sensor_sensitive_width="(20-2.59)*mm" dead_length="0.8*mm" dead_width="2.59*mm" sensor_mat="G4_Si"/>
<lpGBTx>
<slice length="9*mm" thickness="(4-0.15)*mm" width="9*mm" mat="G4_POLYETHYLENE"/>
<slice length="9*mm" thickness="0.15*mm" width="9*mm" mat="G4_Si"/>
</lpGBTx>
<opticalconnector>
<slice length="20*mm" thickness="(1.25-0.15)*mm" width="10*mm" mat="G4_POLYETHYLENE"/>
<slice length="20*mm" thickness="0.15*mm" width="10*mm" mat="G4_Si"/>
</opticalconnector>
<dataaggregation>
<slice length="9*mm" thickness="(4-0.15)*mm" width="9*mm" mat="G4_POLYETHYLENE"/>
<slice length="9*mm" thickness="0.15*mm" width="9*mm" mat="G4_Si"/>
</dataaggregation>
<DCDC>
<slice length="20*mm" thickness="(4-0.15)*mm" width="10*mm" mat="G4_POLYETHYLENE"/>
<slice length="20*mm" thickness="0.15*mm" width="10*mm" mat="G4_Si"/>
</DCDC>
</stave>
</layer>
</detector>
</detectors>
<readouts>
<readout name="SITCollection">
<id>system:5,side:-2,layer:9,stave:8,module:8,sensor:5</id>
</readout>
</readouts>
</lccdd>
<lccdd>
<info
name ="TPC_ModularEndcap_TDR_o1_v01"
status ="developing"
version = "TPC_ModularEndcap_TDR_o1_v01"
author = "Xin She">
<comment> The compact format for the CEPC TPC used for the TDR </comment>
</info>
<define>
<!--from CDR baseline-->
<!--Readout pad size-->
<constant name="TPC_pad_height" value="0.5*mm" />
<constant name="TPC_pad_width" value="0.5*mm" />
<constant name="TPC_max_step_length" value="5*mm" />
<constant name="TPC_sensitive_threshold_eV" value="32*eV" />
<!--Wall/Cathode/Readout/Endplate-->
<constant name="TPC_dr_InnerWall" value="25.*mm" />
<constant name="TPC_dr_InnerServiceArea" value="10*mm" />
<constant name="TPC_dr_OuterServiceArea" value="23*mm" />
<constant name="TPC_dr_OuterWall" value="25.*mm" />
<constant name="TPC_dz_Cathode" value="0.06*mm" />
<constant name="TPC_dz_Readout" value="3.50*mm" />
<constant name="TPC_dz_Endplate" value="135*mm" />
<constant name="TPC_dz_Cathode_Insulator" value="0.0275*mm" />
<constant name="TPC_dz_Cathode_Conductor" value="0.0025*mm" />
<constant name="TPC_dr_Cathode_Grip" value="10.*mm" />
<constant name="TPC_dz_Cathode_Grip" value="15*mm" />
<!-- Inermeidate variables -->
<constant name="TPC_rMin_GasVolume" value="TPC_inner_radius+TPC_dr_InnerWall"/>
<constant name="TPC_rMax_GasVolume" value="TPC_outer_radius-TPC_dr_OuterWall"/>
<constant name="TPC_dz_GasVolume" value="TPC_half_length-TPC_dz_Endplate"/>
<constant name="TPC_rMin_Sensitive" value="TPC_rMin_GasVolume+TPC_dr_InnerServiceArea"/>
<constant name="TPC_rMax_Sensitive" value="TPC_rMax_GasVolume-TPC_dr_OuterServiceArea"/>
<constant name="TPC_dz_Wall" value="2*TPC_dz_GasVolume"/>
<constant name="TPC_dz_Sensitive" value="TPC_dz_GasVolume-TPC_dz_Readout-TPC_dz_Cathode/2."/>
<constant name="TPC_numberOfPadrows" value="int((TPC_rMax_Sensitive-TPC_rMin_Sensitive)/TPC_pad_height)"/>
</define>
<display>
<vis name="CuVis" alpha="1.0" r="0.5" g=".5" b=".5" showDaughters="true" visible="true"/>
<vis name="KaptonVis" alpha="0.8" r="1" g="0." b="0." showDaughters="true" visible="true"/>
<vis name="gasVis" alpha="0.2" r="0.0" g="1.0" b="0.0" showDaughters="true" visible="true"/>
<vis name="transVis" alpha="0.1" r="1.0" g="1.0" b="1.0" showDaughters="true" visible="true"/>
<vis name="readoutVis" alpha="0.8" r="1.0" g=".0" b=".0" showDaughters="true" visible="true"/>
<vis name="aramidVis" alpha="1.0" r="0.0" g="0.3" b="0.7" showDaughters="true" visible="true"/>
<vis name="epoxyVis" alpha="0.2" r="0.0" g="0.3" b="0.3" showDaughters="true" visible="true"/>
<vis name="TPCMotherVis1" alpha="0.5" r="0.96" g="0.64" b="0.90" showDaughters="true" visible="true"/>
</display>
<detectors>
<detector name="TPC" type="TPC_ModularEndcap_o1_v01" vis="TPCVis" id="DetID_TPC" limits="tracker_limits" readout="TPCCollection" insideTrackingVolume="true">
<envelope vis="TPCVis">
<shape type="Tube" rmin="TPC_inner_radius" rmax="TPC_outer_radius" dz="TPC_half_length" material="Air"/>
</envelope>
<type_flags type="DetType_TRACKER + DetType_BARREL + DetType_GASEOUS "/>
<component name="TPCinnerWall" type="TPCinnerWall" R_start="TPC_inner_radius" R_end="TPC_rMin_GasVolume" Z_fulllength="TPC_dz_Wall">
<!--HoneyComb wall -->
<!--layer material="G4_Cu" thickness = "0.01*mm" vis="CuVis" />
<layer material="Kapton" thickness = "0.05*mm" vis="KaptonVis" />
<layer material="g10-TPC" thickness = "0.3*mm" vis="gasVis" />
<layer material="Aramid" thickness = "0.07*mm" vis="aramidVis" />
<layer material="AramidHoneycomb" thickness = "23.5*mm" vis="aramidVis" />
<layer material="g10-TPC" thickness = "0.3*mm" vis="gasVis" />
<layer material="Kapton" thickness = "0.0125*mm" vis="KaptonVis" />
<layer material="Copper80P" thickness = "0.035*mm" vis="CuVis" />
<layer material="Kapton" thickness = "0.05*mm" vis="KaptonVis" />
<layer material="Copper80P" thickness = "0.035*mm" vis="CuVis" />
<layer material="epoxy" thickness = "0.042*mm" vis="epoxy" /-->
<!--CF wall -->
<layer material="G4_Cu" thickness = "0.010*mm" vis="CuVis"/>
<layer material="CarbonFiber" thickness = "0.1*mm" vis="aramidVis"/>
<layer material="G4_Cu" thickness = "0.03*mm" vis="CuVis"/>
<layer material="Polyimide" thickness = "0.05*mm" vis="KaptonVis"/>
<layer material="G4_Cu" thickness = "0.03*mm" vis="CuVis"/>
<layer material="CarbonFiber" thickness = "0.1*mm" vis="aramidVis"/>
</component>
<component name="TPCouterWall" type="TPCouterWall" R_start="TPC_rMax_GasVolume" R_end="TPC_outer_radius" Z_fulllength="TPC_dz_Wall">
<!--HoneyComb wall -->
<!--layer material="Copper80P" thickness = "0.01*mm" vis="CuVis" />
<layer material="Kapton" thickness = "0.05*mm" vis="KaptonVis" />
<layer material="Copper80P" thickness = "0.03*mm" vis="CuVis" />
<layer material="Kapton" thickness = "0.07*mm" vis="KaptonVis" />
<layer material="g10-TPC" thickness = "0.3*mm" vis="gasVis" />
<layer material="AramidHoneycomb" thickness = "23.5*mm" vis="aramidVis" />
<layer material="Aramid" thickness = "0.07*mm" vis="aramidVis" />
<layer material="g10-TPC" thickness = "0.3*mm" vis="gasVis" />
<layer material="Kapton" thickness = "0.05*mm" vis="KaptonVis" />
<layer material="G4_Cu" thickness = "0.01*mm" vis="CuVis" />
<layer material="epoxy" thickness = "0.042*mm" vis="epoxy" /-->
<!--CF wall -->
<layer material="CarbonFiber" thickness = "0.1*mm" vis="aramidVis"/>
<layer material="G4_Cu" thickness = "0.03*mm" vis="CuVis"/>
<layer material="Polyimide" thickness = "0.05*mm" vis="KaptonVis"/>
<layer material="G4_Cu" thickness = "0.03*mm" vis="CuVis"/>
<layer material="CarbonFiber" thickness = "0.1*mm" vis="aramidVis"/>
<layer material="G4_Cu" thickness = "0.010*mm" vis="CuVis"/>
</component>
<component name="Grip" type="TPCGrip" material="SiC_foam">
<layer name="TPCinnerGrip" rmin="TPC_rMin_GasVolume" rmax="TPC_rMin_GasVolume+TPC_dr_InnerServiceArea" z_length="TPC_dz_Cathode_Grip" vis="KaptonVis"/>
<layer name="TPCouterGrip" rmin="TPC_rMax_GasVolume-TPC_dr_OuterServiceArea" rmax="TPC_rMax_GasVolume" z_length="TPC_dz_Cathode_Grip" vis="KaptonVis"/>
</component>
<component name="Cathode" type="TPCCathode">
<layer name="Cathodeinsulator" material= "Kapton" rmin="TPC_rMin_Sensitive" rmax="TPC_rMax_Sensitive" z_length="TPC_dz_Cathode_Insulator" vis="KaptonVis">
<position x="0.*mm" y="0.*mm" z="+ TPC_dz_Cathode_Insulator/2."/>
<position x="0.*mm" y="0.*mm" z="- TPC_dz_Cathode_Insulator/2."/>
</layer>
<layer name="Cathodeconductor" material= "G4_Cu" rmin="TPC_rMin_Sensitive" rmax="TPC_rMax_Sensitive" z_length="TPC_dz_Cathode_Conductor" vis="CuVis">
<position x="0.*mm" y="0.*mm" z="+ (TPC_dz_Cathode_Insulator+ (TPC_dz_Cathode_Conductor/2.))"/>
<position x="0.*mm" y="0.*mm" z="- (TPC_dz_Cathode_Insulator+ (TPC_dz_Cathode_Conductor/2.))"/>
</layer>
</component>
<component name="TPCreadout" type="TPCreadout" material="T2KGas1">
<dimensions rmin = "TPC_rMin_GasVolume" rmax = "TPC_rMax_GasVolume" z_length = "TPC_dz_Readout"/>
<position x="0.*mm" y="0.*mm" z="+(TPC_half_length-TPC_dz_Endplate-TPC_dz_Readout/2.)"/>
<!--Triple Gem readout structure from CEPCV4-->
<!--layer material="G4_Cu" dz="0.003*mm" comment="gating" vis="CuVis" />
<layer material="G4_KAPTON" dz="0.030*mm" comment="gating" vis="KaptonVis" />
<layer material="G4_Cu" dz="0.003*mm" comment="gating" vis="CuVis"/>
<layer material="T2KGas1" dz="4.447*mm" comment="gating" vis="gasVis"/>
<layer material="G4_Cu" dz="0.003*mm" comment="mpgd" vis="CuVis"/>
<layer material="G4_KAPTON" dz="0.030*mm" comment="mpgd" vis="Kapton"/>
<layer material="G4_Cu" dz="0.003*mm" comment="mpgd" vis="CuVis"/>
<layer material="T2KGas1" dz="4.447*mm" comment="mpgd" vis="gasVis"/>
<layer material="G4_Cu" dz="0.003*mm" comment="mpgd" vis="CuVis"/>
<layer material="G4_KAPTON" dz="0.030*mm" comment="mpgd" vis="KaptonVis"/>
<layer material="G4_Cu" dz="0.003*mm" comment="mpgd" vis="CuVis"/>
<layer material="T2KGas1" dz="4.447*mm" comment="mpgd" vis="gasVis"/>
<layer material="G4_Cu" dz="0.050*mm" comment="pads" vis="CuVis"/>
<layer material="g10" dz="2.000*mm" comment="structural" vis="gasVis"/>
<layer material="G4_Si" dz="0.500*mm" comment="electronics" vis="epoxyVis" />
<layer material="epoxy" dz="2*mm" comment="structural" vis="epoxyVis"/>
<layer material="G4_KAPTON" dz="1*mm" comment="structural" vis="KaptonVis" />
<layer material="G4_Al" dz="2*mm" comment="Cooling" vis="GrayVis"/>
<layer material="G4_KAPTON" dz="1*mm" comment="structural" vis="KaptonVis"/>
<layer material="CarbonFiber" dz="3*mm" comment="structural" vis="GrayVis" /-->
<!--MicroMegas readout structure-->
<layer material="G4_Fe" dz="0.025*mm" comment="Mesh" vis="GrayVis"/>
<layer material="T2KGas1" dz="0.128*mm" comment="GasAmpRegion" vis="gasVis"/>
<layer material="G4_KAPTON" dz="0.050*mm" comment="Kaptonfoil" vis="KaptonVis"/>
<layer material="Acrylicglue" dz="0.008*mm" comment="gule" vis="BlueVis"/>
<layer material="G4_Cu" dz="0.017*mm" comment="ReadoutPad" vis="CuVis"/>
<layer material="PCB" dz="1.000*mm" comment="PCBboard" vis="GreenVis"/>
<layer material="G4_Si" dz="0.500*mm" comment="electronics" vis="BlackVis"/>
<layer material="epoxy" dz="1.500*mm" comment="structural" vis="epoxyVis"/>
</component>
<component name="TPCSensitiveVol" type="TPCSensitiveVol" material="T2KGas1">
<dimensions rmin = "TPC_rMin_Sensitive" rmax = "TPC_rMax_Sensitive" z_length = "TPC_dz_Sensitive"/>
<layer repeat="TPC_numberOfPadrows" thickness="TPC_pad_height"/>
</component>
<component name="TPCEndplate" type="TPCEndplate" z_frame="20.*mm" s_frame="20.*mm" >
<dimensions rmin = "TPC_inner_radius" rmax = "TPC_outer_radius" z_length = "TPC_dz_Endplate"/>
<layer name="InnerPlate" type="Frame" thickness="25.*mm"/>
<layer name="ring1" type="Frame" thickness="10.*mm"/>
<layer name="module1" type="Module" thickness="151.*mm" repeat="23" phi0_offset="0.*deg">
<slice material="PCB" dz="5.0*mm" comment="FEE_BEEPCB"/>
<slice material="G4_Al" dz="1.5*mm" comment="cooling"/>
<slice material="TPC_endplate_mix" dz="50.0*mm" comment="MonitorMix"/>
<slice material="CarbonFiber" dz="3.0*mm" comment="structural"/>
</layer>
<layer name="ring2" type="Frame" thickness="20.*mm"/>
<layer name="module2" type="Module" thickness="141.*mm" repeat="27" phi0_offset="+10.*deg">
<slice material="PCB" dz="5.0*mm" comment="FEE_BEEPCB"/>
<slice material="G4_Al" dz="1.5*mm" comment="cooling"/>
<slice material="TPC_endplate_mix" dz="50.0*mm" comment="MonitorMix"/>
<slice material="CarbonFiber" dz="3.0*mm" comment="structural"/>
<slice material="PCB" dz="10.0*mm" comment="cooling"/>
</layer>
<layer name="ring3" type="Frame" thickness="20.*mm"/>
<layer name="module3" type="Module" thickness="141.*mm" repeat="32" phi0_offset="-5.*deg">
<slice material="PCB" dz="5.0*mm" comment="FEE_BEEPCB"/>
<slice material="G4_Al" dz="1.5*mm" comment="cooling"/>
<slice material="TPC_endplate_mix" dz="50.0*mm" comment="MonitorMix"/>
<slice material="CarbonFiber" dz="3.0*mm" comment="structural"/>
</layer>
<layer name="ring4" type="Frame" thickness="20.*mm"/>
<layer name="module4" type="Module" thickness="141.*mm" repeat="34" phi0_offset="0.*deg">
<slice material="PCB" dz="5.0*mm" comment="FEE_BEEPCB"/>
<slice material="G4_Al" dz="1.5*mm" comment="cooling"/>
<slice material="TPC_endplate_mix" dz="50.0*mm" comment="MonitorMix"/>
<slice material="CarbonFiber" dz="3.0*mm" comment="structural"/>
</layer>
<layer name="ring5" type="Frame" thickness="20.*mm"/>
<layer name="module5" type="Module" thickness="141.*mm" repeat="39" phi0_offset="+5.*deg">
<slice material="PCB" dz="5.0*mm" comment="FEE_BEEPCB"/>
<slice material="G4_Al" dz="1.5*mm" comment="cooling"/>
<slice material="TPC_endplate_mix" dz="50.0*mm" comment="MonitorMix"/>
<slice material="CarbonFiber" dz="3.0*mm" comment="structural"/>
</layer>
<layer name="ring6" type="Frame" thickness="20.*mm"/>
<layer name="module6" type="Module" thickness="141.*mm" repeat="44" phi0_offset="-5.*deg">
<slice material="PCB" dz="5.0*mm" comment="FEE_BEEPCB"/>
<slice material="G4_Al" dz="1.5*mm" comment="cooling"/>
<slice material="TPC_endplate_mix" dz="50.0*mm" comment="MonitorMix"/>
<slice material="CarbonFiber" dz="3.0*mm" comment="structural"/>
</layer>
<layer name="ring7" type="Frame" thickness="20.*mm"/>
<layer name="module7" type="Module" thickness="141.*mm" repeat="49" phi0_offset="0.*deg">
<slice material="PCB" dz="5.0*mm" comment="FEE_BEEPCB"/>
<slice material="G4_Al" dz="1.5*mm" comment="cooling"/>
<slice material="TPC_endplate_mix" dz="50.0*mm" comment="MonitorMix"/>
<slice material="CarbonFiber" dz="3.0*mm" comment="structural"/>
</layer>
<layer name="ring8" type="Frame" thickness="23.*mm"/>
<layer name="Outerplate" type="Frame" thickness="25.*mm"/>
</component>
</detector>
</detectors>
<readouts>
<readout name="TPCCollection">
<id>system:5,side:-2,layer:13,module:6,sensor:6</id>
</readout>
</readouts>
</lccdd>
<lccdd>
<info
name ="TPC_ModularEndcap_TDR_o1_v02"
status ="developing"
version = "TPC_ModularEndcap_TDR_o1_v02"
author = "Xin She">
<comment> The compact format for the CEPC TPC used for the TDR </comment>
</info>
<define>
<!--from CDR baseline-->
<!--Readout pad size, clustering in each 10 rows-->
<constant name="TPC_pad_height" value="5.0*mm" />
<constant name="TPC_pad_width" value="0.5*mm" />
<constant name="TPC_max_step_length" value="5*mm" />
<constant name="TPC_sensitive_threshold_eV" value="32*eV" />
<!--Wall/Cathode/Readout/Endplate-->
<constant name="TPC_dr_InnerWall" value="25.*mm" />
<constant name="TPC_dr_InnerServiceArea" value="10*mm" />
<constant name="TPC_dr_OuterServiceArea" value="23*mm" />
<constant name="TPC_dr_OuterWall" value="25.*mm" />
<constant name="TPC_dz_Cathode" value="0.06*mm" />
<constant name="TPC_dz_Readout" value="3.50*mm" />
<constant name="TPC_dz_Endplate" value="135*mm" />
<constant name="TPC_dz_Cathode_Insulator" value="0.0275*mm" />
<constant name="TPC_dz_Cathode_Conductor" value="0.0025*mm" />
<constant name="TPC_dr_Cathode_Grip" value="10.*mm" />
<constant name="TPC_dz_Cathode_Grip" value="15*mm" />
<!-- Inermeidate variables -->
<constant name="TPC_rMin_GasVolume" value="TPC_inner_radius+TPC_dr_InnerWall"/>
<constant name="TPC_rMax_GasVolume" value="TPC_outer_radius-TPC_dr_OuterWall"/>
<constant name="TPC_dz_GasVolume" value="TPC_half_length-TPC_dz_Endplate"/>
<constant name="TPC_rMin_Sensitive" value="TPC_rMin_GasVolume+TPC_dr_InnerServiceArea"/>
<constant name="TPC_rMax_Sensitive" value="TPC_rMax_GasVolume-TPC_dr_OuterServiceArea"/>
<constant name="TPC_dz_Wall" value="2*TPC_dz_GasVolume"/>
<constant name="TPC_dz_Sensitive" value="TPC_dz_GasVolume-TPC_dz_Readout-TPC_dz_Cathode/2."/>
<constant name="TPC_numberOfPadrows" value="int((TPC_rMax_Sensitive-TPC_rMin_Sensitive)/TPC_pad_height)"/>
</define>
<display>
<vis name="CuVis" alpha="1.0" r="0.5" g=".5" b=".5" showDaughters="true" visible="true"/>
<vis name="KaptonVis" alpha="0.8" r="1" g="0." b="0." showDaughters="true" visible="true"/>
<vis name="gasVis" alpha="0.2" r="0.0" g="1.0" b="0.0" showDaughters="true" visible="true"/>
<vis name="transVis" alpha="0.1" r="1.0" g="1.0" b="1.0" showDaughters="true" visible="true"/>
<vis name="readoutVis" alpha="0.8" r="1.0" g=".0" b=".0" showDaughters="true" visible="true"/>
<vis name="aramidVis" alpha="1.0" r="0.0" g="0.3" b="0.7" showDaughters="true" visible="true"/>
<vis name="epoxyVis" alpha="0.2" r="0.0" g="0.3" b="0.3" showDaughters="true" visible="true"/>
<vis name="TPCMotherVis1" alpha="0.5" r="0.96" g="0.64" b="0.90" showDaughters="true" visible="true"/>
</display>
<detectors>
<detector name="TPC" type="TPC_ModularEndcap_o1_v01" vis="TPCVis" id="DetID_TPC" limits="tpc_limits" readout="TPCCollection" insideTrackingVolume="true">
<envelope vis="TPCVis">
<shape type="Tube" rmin="TPC_inner_radius" rmax="TPC_outer_radius" dz="TPC_half_length" material="Air"/>
</envelope>
<type_flags type="DetType_TRACKER + DetType_BARREL + DetType_GASEOUS "/>
<component name="TPCinnerWall" type="TPCinnerWall" R_start="TPC_inner_radius" R_end="TPC_rMin_GasVolume" Z_fulllength="TPC_dz_Wall" vis="SeeThrough">
<!--HoneyComb wall -->
<!--layer material="G4_Cu" thickness = "0.01*mm" vis="CuVis" />
<layer material="Kapton" thickness = "0.05*mm" vis="KaptonVis" />
<layer material="g10-TPC" thickness = "0.3*mm" vis="gasVis" />
<layer material="Aramid" thickness = "0.07*mm" vis="aramidVis" />
<layer material="AramidHoneycomb" thickness = "23.5*mm" vis="aramidVis" />
<layer material="g10-TPC" thickness = "0.3*mm" vis="gasVis" />
<layer material="Kapton" thickness = "0.0125*mm" vis="KaptonVis" />
<layer material="Copper80P" thickness = "0.035*mm" vis="CuVis" />
<layer material="Kapton" thickness = "0.05*mm" vis="KaptonVis" />
<layer material="Copper80P" thickness = "0.035*mm" vis="CuVis" />
<layer material="epoxy" thickness = "0.042*mm" vis="epoxy" /-->
<!--CF wall -->
<layer material="G4_Cu" thickness = "0.010*mm" vis="CuVis"/>
<layer material="CarbonFiber" thickness = "0.1*mm" vis="aramidVis"/>
<layer material="G4_Cu" thickness = "0.03*mm" vis="CuVis"/>
<layer material="Polyimide" thickness = "0.05*mm" vis="KaptonVis"/>
<layer material="G4_Cu" thickness = "0.03*mm" vis="CuVis"/>
<layer material="CarbonFiber" thickness = "0.1*mm" vis="aramidVis"/>
</component>
<component name="TPCouterWall" type="TPCouterWall" R_start="TPC_rMax_GasVolume" R_end="TPC_outer_radius" Z_fulllength="TPC_dz_Wall" vis="SeeThrough">
<!--HoneyComb wall -->
<!--layer material="Copper80P" thickness = "0.01*mm" vis="CuVis" />
<layer material="Kapton" thickness = "0.05*mm" vis="KaptonVis" />
<layer material="Copper80P" thickness = "0.03*mm" vis="CuVis" />
<layer material="Kapton" thickness = "0.07*mm" vis="KaptonVis" />
<layer material="g10-TPC" thickness = "0.3*mm" vis="gasVis" />
<layer material="AramidHoneycomb" thickness = "23.5*mm" vis="aramidVis" />
<layer material="Aramid" thickness = "0.07*mm" vis="aramidVis" />
<layer material="g10-TPC" thickness = "0.3*mm" vis="gasVis" />
<layer material="Kapton" thickness = "0.05*mm" vis="KaptonVis" />
<layer material="G4_Cu" thickness = "0.01*mm" vis="CuVis" />
<layer material="epoxy" thickness = "0.042*mm" vis="epoxy" /-->
<!--CF wall -->
<layer material="CarbonFiber" thickness = "0.1*mm" vis="aramidVis"/>
<layer material="G4_Cu" thickness = "0.03*mm" vis="CuVis"/>
<layer material="Polyimide" thickness = "0.05*mm" vis="KaptonVis"/>
<layer material="G4_Cu" thickness = "0.03*mm" vis="CuVis"/>
<layer material="CarbonFiber" thickness = "0.1*mm" vis="aramidVis"/>
<layer material="G4_Cu" thickness = "0.010*mm" vis="CuVis"/>
</component>
<component name="Grip" type="TPCGrip" material="SiC_foam" vis="SeeThrough">
<layer name="TPCinnerGrip" rmin="TPC_rMin_GasVolume" rmax="TPC_rMin_GasVolume+TPC_dr_InnerServiceArea" z_length="TPC_dz_Cathode_Grip" vis="KaptonVis"/>
<layer name="TPCouterGrip" rmin="TPC_rMax_GasVolume-TPC_dr_OuterServiceArea" rmax="TPC_rMax_GasVolume" z_length="TPC_dz_Cathode_Grip" vis="KaptonVis"/>
</component>
<component name="Cathode" type="TPCCathode" vis="SeeThrough">
<layer name="Cathodeinsulator" material= "Kapton" rmin="TPC_rMin_Sensitive" rmax="TPC_rMax_Sensitive" z_length="TPC_dz_Cathode_Insulator" vis="KaptonVis">
<position x="0.*mm" y="0.*mm" z="+ TPC_dz_Cathode_Insulator/2."/>
<position x="0.*mm" y="0.*mm" z="- TPC_dz_Cathode_Insulator/2."/>
</layer>
<layer name="Cathodeconductor" material= "G4_Cu" rmin="TPC_rMin_Sensitive" rmax="TPC_rMax_Sensitive" z_length="TPC_dz_Cathode_Conductor" vis="CuVis">
<position x="0.*mm" y="0.*mm" z="+ (TPC_dz_Cathode_Insulator+ (TPC_dz_Cathode_Conductor/2.))"/>
<position x="0.*mm" y="0.*mm" z="- (TPC_dz_Cathode_Insulator+ (TPC_dz_Cathode_Conductor/2.))"/>
</layer>
</component>
<component name="TPCreadout" type="TPCreadout" material="T2KGas1" vis="SeeThrough">
<dimensions rmin = "TPC_rMin_GasVolume" rmax = "TPC_rMax_GasVolume" z_length = "TPC_dz_Readout"/>
<position x="0.*mm" y="0.*mm" z="+(TPC_half_length-TPC_dz_Endplate-TPC_dz_Readout/2.)"/>
<!--Triple Gem readout structure from CEPCV4-->
<!--layer material="G4_Cu" dz="0.003*mm" comment="gating" vis="CuVis" />
<layer material="G4_KAPTON" dz="0.030*mm" comment="gating" vis="KaptonVis" />
<layer material="G4_Cu" dz="0.003*mm" comment="gating" vis="CuVis"/>
<layer material="T2KGas1" dz="4.447*mm" comment="gating" vis="gasVis"/>
<layer material="G4_Cu" dz="0.003*mm" comment="mpgd" vis="CuVis"/>
<layer material="G4_KAPTON" dz="0.030*mm" comment="mpgd" vis="Kapton"/>
<layer material="G4_Cu" dz="0.003*mm" comment="mpgd" vis="CuVis"/>
<layer material="T2KGas1" dz="4.447*mm" comment="mpgd" vis="gasVis"/>
<layer material="G4_Cu" dz="0.003*mm" comment="mpgd" vis="CuVis"/>
<layer material="G4_KAPTON" dz="0.030*mm" comment="mpgd" vis="KaptonVis"/>
<layer material="G4_Cu" dz="0.003*mm" comment="mpgd" vis="CuVis"/>
<layer material="T2KGas1" dz="4.447*mm" comment="mpgd" vis="gasVis"/>
<layer material="G4_Cu" dz="0.050*mm" comment="pads" vis="CuVis"/>
<layer material="g10" dz="2.000*mm" comment="structural" vis="gasVis"/>
<layer material="G4_Si" dz="0.500*mm" comment="electronics" vis="epoxyVis" />
<layer material="epoxy" dz="2*mm" comment="structural" vis="epoxyVis"/>
<layer material="G4_KAPTON" dz="1*mm" comment="structural" vis="KaptonVis" />
<layer material="G4_Al" dz="2*mm" comment="Cooling" vis="GrayVis"/>
<layer material="G4_KAPTON" dz="1*mm" comment="structural" vis="KaptonVis"/>
<layer material="CarbonFiber" dz="3*mm" comment="structural" vis="GrayVis" /-->
<!--MicroMegas readout structure-->
<layer material="G4_Fe" dz="0.025*mm" comment="Mesh" vis="GrayVis"/>
<layer material="T2KGas1" dz="0.128*mm" comment="GasAmpRegion" vis="gasVis"/>
<layer material="G4_KAPTON" dz="0.050*mm" comment="Kaptonfoil" vis="KaptonVis"/>
<layer material="Acrylicglue" dz="0.008*mm" comment="gule" vis="BlueVis"/>
<layer material="G4_Cu" dz="0.017*mm" comment="ReadoutPad" vis="CuVis"/>
<layer material="PCB" dz="1.000*mm" comment="PCBboard" vis="GreenVis"/>
<layer material="G4_Si" dz="0.500*mm" comment="electronics" vis="BlackVis"/>
<layer material="epoxy" dz="1.500*mm" comment="structural" vis="epoxyVis"/>
</component>
<component name="TPCSensitiveVol" type="TPCSensitiveVol" material="T2KGas1" vis="gasVis">
<dimensions rmin = "TPC_rMin_Sensitive" rmax = "TPC_rMax_Sensitive" z_length = "TPC_dz_Sensitive"/>
<layer repeat="TPC_numberOfPadrows" thickness="TPC_pad_height"/>
</component>
<component name="TPCEndplate" type="TPCEndplate" z_frame="20.*mm" s_frame="20.*mm" vis="SeeThrough">
<dimensions rmin = "TPC_inner_radius" rmax = "TPC_outer_radius" z_length = "TPC_dz_Endplate"/>
<layer name="InnerPlate" type="Frame" thickness="25.*mm"/>
<layer name="ring1" type="Frame" thickness="10.*mm"/>
<layer name="module1" type="Module" thickness="151.*mm" repeat="23" phi0_offset="0.*deg">
<slice material="PCB" dz="5.0*mm" comment="FEE_BEEPCB"/>
<slice material="G4_Al" dz="1.5*mm" comment="cooling"/>
<slice material="TPC_endplate_mix" dz="50.0*mm" comment="MonitorMix"/>
<slice material="CarbonFiber" dz="3.0*mm" comment="structural"/>
</layer>
<layer name="ring2" type="Frame" thickness="20.*mm"/>
<layer name="module2" type="Module" thickness="141.*mm" repeat="27" phi0_offset="+10.*deg">
<slice material="PCB" dz="5.0*mm" comment="FEE_BEEPCB"/>
<slice material="G4_Al" dz="1.5*mm" comment="cooling"/>
<slice material="TPC_endplate_mix" dz="50.0*mm" comment="MonitorMix"/>
<slice material="CarbonFiber" dz="3.0*mm" comment="structural"/>
<slice material="PCB" dz="10.0*mm" comment="cooling"/>
</layer>
<layer name="ring3" type="Frame" thickness="20.*mm"/>
<layer name="module3" type="Module" thickness="141.*mm" repeat="32" phi0_offset="-5.*deg">
<slice material="PCB" dz="5.0*mm" comment="FEE_BEEPCB"/>
<slice material="G4_Al" dz="1.5*mm" comment="cooling"/>
<slice material="TPC_endplate_mix" dz="50.0*mm" comment="MonitorMix"/>
<slice material="CarbonFiber" dz="3.0*mm" comment="structural"/>
</layer>
<layer name="ring4" type="Frame" thickness="20.*mm"/>
<layer name="module4" type="Module" thickness="141.*mm" repeat="34" phi0_offset="0.*deg">
<slice material="PCB" dz="5.0*mm" comment="FEE_BEEPCB"/>
<slice material="G4_Al" dz="1.5*mm" comment="cooling"/>
<slice material="TPC_endplate_mix" dz="50.0*mm" comment="MonitorMix"/>
<slice material="CarbonFiber" dz="3.0*mm" comment="structural"/>
</layer>
<layer name="ring5" type="Frame" thickness="20.*mm"/>
<layer name="module5" type="Module" thickness="141.*mm" repeat="39" phi0_offset="+5.*deg">
<slice material="PCB" dz="5.0*mm" comment="FEE_BEEPCB"/>
<slice material="G4_Al" dz="1.5*mm" comment="cooling"/>
<slice material="TPC_endplate_mix" dz="50.0*mm" comment="MonitorMix"/>
<slice material="CarbonFiber" dz="3.0*mm" comment="structural"/>
</layer>
<layer name="ring6" type="Frame" thickness="20.*mm"/>
<layer name="module6" type="Module" thickness="141.*mm" repeat="44" phi0_offset="-5.*deg">
<slice material="PCB" dz="5.0*mm" comment="FEE_BEEPCB"/>
<slice material="G4_Al" dz="1.5*mm" comment="cooling"/>
<slice material="TPC_endplate_mix" dz="50.0*mm" comment="MonitorMix"/>
<slice material="CarbonFiber" dz="3.0*mm" comment="structural"/>
</layer>
<layer name="ring7" type="Frame" thickness="20.*mm"/>
<layer name="module7" type="Module" thickness="141.*mm" repeat="49" phi0_offset="0.*deg">
<slice material="PCB" dz="5.0*mm" comment="FEE_BEEPCB"/>
<slice material="G4_Al" dz="1.5*mm" comment="cooling"/>
<slice material="TPC_endplate_mix" dz="50.0*mm" comment="MonitorMix"/>
<slice material="CarbonFiber" dz="3.0*mm" comment="structural"/>
</layer>
<layer name="ring8" type="Frame" thickness="23.*mm"/>
<layer name="Outerplate" type="Frame" thickness="25.*mm"/>
</component>
</detector>
</detectors>
<readouts>
<readout name="TPCCollection">
<id>system:5,side:-2,layer:13,module:6,sensor:6</id>
</readout>
</readouts>
</lccdd>
<lccdd>
<info
name ="TPC_Simple_TDR_o1_v01"
status ="developing"
version = "TPC_Simple_TDR_o1_v01">
<comment> The compact format for the CEPC TPC used for the TDR </comment>
</info>
<define>
<!--from CDR baseline-->
<!--Readout pad size-->
<constant name="TPC_pad_height" value="0.5*mm" />
<constant name="TPC_pad_width" value="0.5*mm" />
<constant name="TPC_max_step_length" value="5*mm" />
<!--Wall/Cathode/Readout/Endplate Honeycomb barrel-->
<constant name="TPC_dr_InnerWall" value="25.*mm" />
<constant name="TPC_dr_InnerServiceArea" value="10*mm" />
<constant name="TPC_dr_OuterServiceArea" value="23*mm" />
<constant name="TPC_dr_OuterWall" value="25.*mm" />
<constant name="TPC_dz_Cathode" value="0.06*mm" />
<constant name="TPC_dz_Readout" value="3.50*mm" />
<constant name="TPC_dz_Endplate" value="135*mm" />
<constant name="TPC_sensitive_threshold_eV" value="32*eV" />
<constant name="TPC_dz_Cathode_Insulator" value="0.0275*mm" />
<constant name="TPC_dz_Cathode_Conductor" value="0.0025*mm" />
<constant name="TPC_dr_Cathode_Grip" value="10.*mm"/>
<constant name="TPC_dz_Cathode_Grip" value="15*mm" />
<!-- Inermeidate variables -->
<constant name="TPC_rMin_GasVolume" value="TPC_inner_radius+TPC_dr_InnerWall"/>
<constant name="TPC_rMax_GasVolume" value="TPC_outer_radius-TPC_dr_OuterWall"/>
<constant name="TPC_dz_GasVolume" value="TPC_half_length-TPC_dz_Endplate"/>
<constant name="TPC_rMin_Sensitive" value="TPC_rMin_GasVolume+TPC_dr_InnerServiceArea"/>
<constant name="TPC_rMax_Sensitive" value="TPC_rMax_GasVolume-TPC_dr_OuterServiceArea"/>
<constant name="TPC_dz_Wall" value="2*TPC_dz_GasVolume"/>
<constant name="TPC_dz_Sensitive" value="TPC_dz_GasVolume-TPC_dz_Readout-TPC_dz_Cathode/2."/>
<constant name="TPC_numberOfPadrows" value="int((TPC_rMax_Sensitive-TPC_rMin_Sensitive)/TPC_pad_height)"/>
</define>
<display>
<vis name="CuVis" alpha="1.0" r="0.5" g=".5" b=".5" showDaughters="true" visible="true"/>
<vis name="KaptonVis" alpha="0.8" r="1" g="0." b="0." showDaughters="true" visible="true"/>
<vis name="gasVis" alpha="0.2" r="0.0" g="1.0" b="0.0" showDaughters="true" visible="true"/>
<vis name="readoutVis" alpha="0.8" r="1.0" g=".0" b=".0" showDaughters="true" visible="true"/>
<vis name="aramidVis" alpha="1.0" r="0.0" g="0.3" b="0.7" showDaughters="true" visible="true"/>
<vis name="epoxyVis" alpha="0.2" r="0.0" g="0.3" b="0.3" showDaughters="true" visible="true"/>
<vis name="TPCMotherVis1" alpha="0.5" r="0.96" g="0.64" b="0.90" showDaughters="true" visible="true"/>
</display>
<detectors>
<detector name="TPC" type="TPC_Simple_o1_v01" vis="TPCVis" id="DetID_TPC" limits="tracker_limits" readout="TPCCollection" insideTrackingVolume="true">
<envelope vis="TPCVis">
<shape type="Tube" rmin="TPC_inner_radius" rmax="TPC_outer_radius" dz="TPC_half_length" material="Air"/>
</envelope>
<type_flags type="DetType_TRACKER + DetType_BARREL + DetType_GASEOUS "/>
<component name="TPCinnerWall" type="TPCinnerWall" R_start="TPC_inner_radius" R_end="TPC_rMin_GasVolume" Z_fulllength="TPC_dz_Wall">
<!--HoneyComb wall -->
<!--layer material="G4_Cu" thickness = "0.01*mm" vis="CuVis" />
<layer material="Kapton" thickness = "0.05*mm" vis="KaptonVis" />
<layer material="g10-TPC" thickness = "0.3*mm" vis="gasVis" />
<layer material="Aramid" thickness = "0.07*mm" vis="aramidVis" />
<layer material="AramidHoneycomb" thickness = "23.5*mm" vis="aramidVis" />
<layer material="g10-TPC" thickness = "0.3*mm" vis="gasVis" />
<layer material="Kapton" thickness = "0.0125*mm" vis="KaptonVis" />
<layer material="Copper80P" thickness = "0.035*mm" vis="CuVis" />
<layer material="Kapton" thickness = "0.05*mm" vis="KaptonVis" />
<layer material="Copper80P" thickness = "0.035*mm" vis="CuVis" />
<layer material="epoxy" thickness = "0.042*mm" vis="epoxy" /-->
<!--CF wall -->
<layer material="G4_Cu" thickness = "0.010*mm" vis="CuVis"/>
<layer material="CarbonFiber" thickness = "0.1*mm" vis="aramidVis"/>
<layer material="G4_Cu" thickness = "0.03*mm" vis="CuVis"/>
<layer material="Polyimide" thickness = "0.05*mm" vis="KaptonVis"/>
<layer material="G4_Cu" thickness = "0.03*mm" vis="CuVis"/>
<layer material="CarbonFiber" thickness = "0.1*mm" vis="aramidVis"/>
</component>
<component name="TPCouterWall" type="TPCouterWall" R_start="TPC_rMax_GasVolume" R_end="TPC_outer_radius" Z_fulllength="TPC_dz_Wall">
<!--HoneyComb wall -->
<!--layer material="G4_Cu" thickness = "0.01*mm" vis="CuVis" />
<layer material="Kapton" thickness = "0.05*mm" vis="KaptonVis" />
<layer material="g10-TPC" thickness = "0.3*mm" vis="gasVis" />
<layer material="Aramid" thickness = "0.07*mm" vis="aramidVis" />
<layer material="AramidHoneycomb" thickness = "23.5*mm" vis="aramidVis" />
<layer material="g10-TPC" thickness = "0.3*mm" vis="gasVis" />
<layer material="Kapton" thickness = "0.0125*mm" vis="KaptonVis" />
<layer material="Copper80P" thickness = "0.035*mm" vis="CuVis" />
<layer material="Kapton" thickness = "0.05*mm" vis="KaptonVis" />
<layer material="Copper80P" thickness = "0.035*mm" vis="CuVis" />
<layer material="epoxy" thickness = "0.042*mm" vis="epoxy" /-->
<!--CF wall -->
<layer material="CarbonFiber" thickness = "0.1*mm" vis="aramidVis"/>
<layer material="G4_Cu" thickness = "0.03*mm" vis="CuVis"/>
<layer material="Polyimide" thickness = "0.05*mm" vis="KaptonVis"/>
<layer material="G4_Cu" thickness = "0.03*mm" vis="CuVis"/>
<layer material="CarbonFiber" thickness = "0.1*mm" vis="aramidVis"/>
<layer material="G4_Cu" thickness = "0.010*mm" vis="CuVis"/>
</component>
<component name="Grip" type="TPCGrip" material="SiC_foam">
<layer name="TPCinnerGrip" rmin="TPC_rMin_GasVolume" rmax="TPC_rMin_GasVolume+TPC_dr_InnerServiceArea" z_length="TPC_dz_Cathode_Grip" vis="KaptonVis"/>
<layer name="TPCouterGrip" rmin="TPC_rMax_GasVolume-TPC_dr_OuterServiceArea" rmax="TPC_rMax_GasVolume" z_length="TPC_dz_Cathode_Grip" vis="KaptonVis"/>
</component>
<component name="Cathode" type="TPCCathode">
<layer name="Cathodeinsulator" material= "Kapton" rmin="TPC_rMin_Sensitive" rmax="TPC_rMax_Sensitive" z_length="TPC_dz_Cathode_Insulator" vis="KaptonVis">
<position x="0.*mm" y="0.*mm" z="+ TPC_dz_Cathode_Insulator/2."/>
<position x="0.*mm" y="0.*mm" z="- TPC_dz_Cathode_Insulator/2."/>
</layer>
<layer name="Cathodeconductor" material= "G4_Cu" rmin="TPC_rMin_Sensitive" rmax="TPC_rMax_Sensitive" z_length="TPC_dz_Cathode_Conductor" vis="CuVis">
<position x="0.*mm" y="0.*mm" z="+ (TPC_dz_Cathode_Insulator+ (TPC_dz_Cathode_Conductor/2.))"/>
<position x="0.*mm" y="0.*mm" z="- (TPC_dz_Cathode_Insulator+ (TPC_dz_Cathode_Conductor/2.))"/>
</layer>
</component>
<component name="TPCreadout" type="TPCreadout" material="T2KGas1">
<dimensions rmin = "TPC_rMin_GasVolume" rmax = "TPC_rMax_GasVolume" z_length = "TPC_dz_Readout"/>
<position x="0.*mm" y="0.*mm" z="+(TPC_half_length-TPC_dz_Endplate-TPC_dz_Readout/2.)"/>
<!--layer thickness="0.003*mm" material="G4_Cu" comment="gating" vis="CuVis" />
<layer thickness="0.03*mm" material="G4_KAPTON" comment="gating" vis="KaptonVis" />
<layer thickness="0.003*mm" material="G4_Cu" comment="gating" vis="CuVis"/>
<layer thickness="4.447*mm" material="T2KGas1" comment="gating" vis="gasVis"/>
<layer thickness="0.003*mm" material="G4_Cu" comment="mpgd" vis="CuVis"/>
<layer thickness="0.03*mm" material="G4_KAPTON" comment="mpgd" vis="Kapton"/>
<layer thickness="0.003*mm" material="G4_Cu" comment="mpgd" vis="CuVis"/>
<layer thickness="4.447*mm" material="T2KGas1" comment="mpgd" vis="gasVis"/>
<layer thickness="0.003*mm" material="G4_Cu" comment="mpgd" vis="CuVis"/>
<layer thickness="0.03*mm" material="G4_KAPTON" comment="mpgd" vis="KaptonVis"/>
<layer thickness="0.003*mm" material="G4_Cu" comment="mpgd" vis="CuVis"/>
<layer thickness="4.447*mm" material="T2KGas1" comment="mpgd" vis="gasVis"/-->
<!--MicroMegas readout structure-->
<layer material="G4_Fe" dz="0.025*mm" comment="Mesh" vis="GrayVis"/>
<layer material="T2KGas1" dz="0.128*mm" comment="GasAmpRegion" vis="gasVis"/>
<layer material="G4_KAPTON" dz="0.050*mm" comment="Kaptonfoil" vis="KaptonVis"/>
<layer material="Acrylicglue" dz="0.008*mm" comment="gule" vis="BlueVis"/>
<layer material="G4_Cu" dz="0.017*mm" comment="ReadoutPad" vis="CuVis"/>
<layer material="PCB" dz="1.000*mm" comment="PCBboard" vis="GreenVis"/>
<layer material="G4_Si" dz="0.500*mm" comment="electronics" vis="BlackVis"/>
<layer material="epoxy" dz="1.500*mm" comment="structural" vis="epoxyVis"/>
</component>
<component name="TPCSensitiveVol" type="TPCSensitiveVol" material="T2KGas1">
<dimensions rmin = "TPC_rMin_Sensitive" rmax = "TPC_rMax_Sensitive" z_length = "TPC_dz_Sensitive"/>
<layer repeat="TPC_numberOfPadrows" thickness="TPC_pad_height"/>
</component>
<component name="TPCEndplate" type="TPCEndplate">
<dimensions rmin = "TPC_inner_radius" rmax = "TPC_outer_radius" z_length = "TPC_dz_Endplate"/>
<layer material="PCB" dz="5.0*mm" comment="FEE_BEEPCB"/>
<layer material="G4_Al" dz="1.5*mm" comment="cooling"/>
<layer material="TPC_endplate_mix" dz="50.0*mm" comment="MonitorMix"/>
<layer material="CarbonFiber" dz="3.0*mm" comment="structural"/>
</component>
</detector>
</detectors>
<readouts>
<readout name="TPCCollection">
<id>system:5,side:-2,layer:13,module:6,sensor:6</id>
</readout>
</readouts>
</lccdd>
<lccdd>
<info name="VXD_Stitching_v01_02"
title="CepC VXD with stitch module"
author=""
url="http://cepc.ihep.ac.cn"
status="developing"
version="v01">
<comment>CepC vertex detector</comment>
</info>
<define>
<constant name="VXD_inner_radius" value="Vertex_inner_radius"/>
<constant name="VXD_outer_radius" value="Vertex_outer_radius"/>
<constant name="VXD_half_length" value="Vertex_half_length"/>
<constant name="VXDLayer1_length" value="260*mm"/>
<constant name="VXDLayer2_length" value="494*mm"/>
<constant name="VXDLayer3_length" value="761*mm"/>
<constant name="VXD_sensor_length" value="20*mm"/>
<constant name="VXD_sensor_xgap" value="0.01*mm"/>
<constant name="VXD_sensor_ygap" value="0.1*mm"/>
</define>
<detectors>
<detector id="DetID_VXD" name="VXD" type="SiTrackerComposite_v01" vis="VXDVis" readout="VXDCollection" insideTrackingVolume="true" printLevel="INFO">
<envelope>
<shape type="Assembly"/>
</envelope>
<type_flags type="DetType_TRACKER + DetType_BARREL + DetType_PIXEL "/>
<global sensitive_thickness="VXD_sensitive_thickness" support_thickness="VXD_support_thickness" sensor_length="VXD_sensor_length"
sensitive_mat="G4_Si" support_mat="G4_C" sensitive_threshold_KeV="64*keV" />
<display ladder="SeeThrough" support="VXDSupportVis" flex="VXDFlexVis" sens_env="SeeThrough" sens="GrayVis" deadsensor="GreenVis" deadwire="RedVis"/>
<shell rmin="70*mm" rmax="72.5*mm" zhalf="510*mm" material="CFRP_CMS" vis="LightGrayVis"/>
<layer id="0" phi0="0" isBent="true">
<module offset="0" phi="0" radius="12.2*mm" nx="9" ny="2" xdead="VXD_sensor_xgap" ydead="VXD_sensor_ygap" material="G4_Si">
<sensor thickness="50*um" width="20*mm" length="20.0*mm" material="G4_Si" vis="VXDVis"/>
<flex vis="GrayVis">
<slice thickness="10.0*um" material="G4_Si"/>
</flex>
<electronics thickness="100*um" width="5*mm" material="Kapton" vis="RedVis"/>
<readout thickness="100*um" width="5*mm" material="Kapton" vis="GreenVis"/>
<driver thickness="100*um" width="8*mm" material="Kapton" vis="BlueVis"/>
</module>
<module offset="0" phi="180*degree" radius="12.7*mm" nx="9" ny="2" xdead="VXD_sensor_xgap" ydead="VXD_sensor_ygap" material="G4_Si">
<sensor thickness="50*um" width="20*mm" length="20.0*mm" material="G4_Si" vis="VXDVis"/>
<flex vis="GrayVis">
<slice thickness="10.0*um" material="G4_Si"/>
</flex>
<electronics thickness="100*um" width="5*mm" material="Kapton" vis="RedVis"/>
<readout thickness="100*um" width="5*mm" material="Kapton" vis="GreenVis"/>
<driver thickness="100*um" width="8*mm" material="Kapton" vis="BlueVis"/>
</module>
</layer>
<layer id="1" phi0="30*degree" isBent="true">
<module offset="0" phi="0" radius="19.2*mm" nx="15" ny="3" xdead="VXD_sensor_xgap" ydead="VXD_sensor_ygap" material="G4_Si">
<sensor thickness="50*um" width="21*mm" length="20*mm" material="G4_Si" vis="VXDVis"/>
<flex vis="GrayVis">
<slice thickness="10.0*um" material="G4_Si"/>
</flex>
<electronics thickness="100*um" width="5*mm" material="Kapton" vis="RedVis"/>
<readout thickness="100*um" width="5*mm" material="Kapton" vis="GreenVis"/>
<driver thickness="100*um" width="8*mm" material="Kapton" vis="BlueVis"/>
</module>
<module offset="0" phi="180*degree" radius="19.7*mm" nx="15" ny="3" xdead="VXD_sensor_xgap" ydead="VXD_sensor_ygap" material="G4_Si">
<sensor thickness="50*um" width="21*mm" length="20*mm" material="G4_Si" vis="VXDVis"/>
<flex vis="GrayVis">
<slice thickness="10.0*um" material="G4_Si"/>
</flex>
<electronics thickness="100*um" width="5*mm" material="Kapton" vis="RedVis"/>
<readout thickness="100*um" width="5*mm" material="Kapton" vis="GreenVis"/>
<driver thickness="100*um" width="8*mm" material="Kapton" vis="BlueVis"/>
</module>
</layer>
<layer id="2" phi0="60*degree" isBent="true">
<module offset="0" phi="0" radius="25.9*mm" nx="20" ny="4" xdead="VXD_sensor_xgap" ydead="VXD_sensor_ygap" material="G4_Si">
<sensor thickness="50*um" width="21*mm" length="20*mm" material="G4_Si" vis="VXDVis"/>
<flex vis="GrayVis">
<slice thickness="10.0*um" material="G4_Si"/>
</flex>
<electronics thickness="100*um" width="5*mm" material="Kapton" vis="RedVis"/>
<readout thickness="100*um" width="5*mm" material="Kapton" vis="GreenVis"/>
<driver thickness="100*um" width="8*mm" material="Kapton" vis="BlueVis"/>
</module>
<module offset="0" phi="180*degree" radius="26.4*mm" nx="20" ny="4" xdead="VXD_sensor_xgap" ydead="VXD_sensor_ygap" material="G4_Si">
<sensor thickness="50*um" width="21*mm" length="20*mm" material="G4_Si" vis="VXDVis"/>
<flex vis="GrayVis">
<slice thickness="10.0*um" material="G4_Si"/>
</flex>
<electronics thickness="100*um" width="5*mm" material="Kapton" vis="RedVis"/>
<readout thickness="100*um" width="5*mm" material="Kapton" vis="GreenVis"/>
<driver thickness="100*um" width="8*mm" material="Kapton" vis="BlueVis"/>
</module>
</layer>
<layer id="3" phi0="90*degree" isBent="true">
<module offset="0" phi="0" radius="32.9*mm" nx="25" ny="5" xdead="VXD_sensor_xgap" ydead="VXD_sensor_ygap" material="G4_Si">
<sensor thickness="50*um" width="22*mm" length="20*mm" material="G4_Si" vis="VXDVis"/>
<flex vis="GrayVis">
<slice thickness="10.0*um" material="G4_Si"/>
</flex>
<electronics thickness="100*um" width="5*mm" material="Kapton" vis="RedVis"/>
<readout thickness="100*um" width="5*mm" material="Kapton" vis="GreenVis"/>
<driver thickness="100*um" width="8*mm" material="Kapton" vis="BlueVis"/>
</module>
<module offset="0" phi="180*degree" radius="33.4*mm" nx="25" ny="5" xdead="VXD_sensor_xgap" ydead="VXD_sensor_ygap" material="G4_Si">
<sensor thickness="50*um" width="22*mm" length="20*mm" material="G4_Si" vis="VXDVis"/>
<flex vis="GrayVis">
<slice thickness="10.0*um" material="G4_Si"/>
</flex>
<electronics thickness="100*um" width="5*mm" material="Kapton" vis="RedVis"/>
<readout thickness="100*um" width="5*mm" material="Kapton" vis="GreenVis"/>
<driver thickness="100*um" width="8*mm" material="Kapton" vis="BlueVis"/>
</module>
</layer>
<layer id="4" ladder_radius="44.4*mm" ladder_offset="(8.7+11.7)*mm" n_ladders="25" n_sensors_per_side="0">
<ladder isDoubleSided="true">
<ladderSupport height="3.2*mm" length="VXDLayer3_length" thickness="370*um" width="17.4*mm" mat="CFRP_CMS"/>
<flex>
<slice length="VXDLayer3_length" thickness="12.5*um" width="17.4*mm" mat="Acrylicglue"/> <!--glue between flex and sensor/support-->
<slice length="VXDLayer3_length" thickness="12.5*um" width="17.4*mm" mat="Kapton"/>
<slice length="VXDLayer3_length" thickness="12.5*um" width="17.4*mm" mat="Acrylicglue"/>
<slice length="VXDLayer3_length" thickness=" 8.0*um" width="17.4*mm" mat="G4_Al"/>
<slice length="VXDLayer3_length" thickness="13.0*um" width="17.4*mm" mat="Kapton"/>
<slice length="VXDLayer3_length" thickness="12.5*um" width="17.4*mm" mat="Acrylicglue"/>
<slice length="VXDLayer3_length" thickness=" 8.0*um" width="17.4*mm" mat="G4_Al"/>
<slice length="VXDLayer3_length" thickness="13.0*um" width="17.4*mm" mat="Kapton"/>
<slice length="VXDLayer3_length" thickness="12.5*um" width="17.4*mm" mat="Acrylicglue"/>
<slice length="VXDLayer3_length" thickness="12.0*um" width="17.4*mm" mat="G4_Al"/>
<slice length="VXDLayer3_length" thickness="25.0*um" width="17.4*mm" mat="Kapton"/>
<slice length="VXDLayer3_length" thickness="12.0*um" width="17.4*mm" mat="G4_Al"/>
<slice length="VXDLayer3_length" thickness="12.5*um" width="17.4*mm" mat="Acrylicglue"/>
<slice length="VXDLayer3_length" thickness="13.0*um" width="17.4*mm" mat="Kapton"/>
<slice length="VXDLayer3_length" thickness=" 8.0*um" width="17.4*mm" mat="G4_Al"/>
<slice length="VXDLayer3_length" thickness="12.5*um" width="17.4*mm" mat="Acrylicglue"/>
<slice length="VXDLayer3_length" thickness="13.0*um" width="17.4*mm" mat="Kapton"/>
<slice length="VXDLayer3_length" thickness=" 8.0*um" width="17.4*mm" mat="G4_Al"/>
<slice length="VXDLayer3_length" thickness="12.5*um" width="17.4*mm" mat="Acrylicglue"/>
<slice length="VXDLayer3_length" thickness="12.5*um" width="17.4*mm" mat="Kapton"/>
<slice length="VXDLayer3_length" thickness="12.5*um" width="17.4*mm" mat="Acrylicglue"/> <!--glue between flex and sensor/support-->
</flex>
<sensor n_sensors="29" gap="0.1*mm" thickness="50*um" active_length="25.6*mm" active_width="12.8*mm" dead_width="2*mm" sensor_mat="G4_Si"
deadwire_length="(29*(25.6+0.1)-0.1)*mm" deadwire_width="2.6*mm" deadwire_thickness="(50/10)*um" deadwire_mat="G4_Al"/>
</ladder>
</layer>
</detector>
</detectors>
<readouts>
<readout name="VXDCollection">
<!--segmentation type="CartesianGridYZ" grid_size_y="0.016*mm" grid_size_z="0.016*mm"/>
<id>system:5,side:-2,layer:9,module:8,sensor:32:8,y:-12,z:-12</id-->
<!-- old tracking not use senor id: 24-31 bit-->
<id>system:5,side:-2,layer:9,module:8,sensor:32:8</id>
</readout>
</readouts>
</lccdd>
<lccdd>
<info name="VXD_Stitching_v01_02"
title="CepC VXD with stitch module"
author=""
url="http://cepc.ihep.ac.cn"
status="developing"
version="v01">
<comment>CepC vertex detector</comment>
</info>
<define>
<constant name="VXD_inner_radius" value="Vertex_inner_radius"/>
<constant name="VXD_outer_radius" value="Vertex_outer_radius"/>
<constant name="VXD_half_length" value="Vertex_half_length"/>
<constant name="VXDLayer3_length" value="749*mm" />
<constant name="VXD_sensor_backbone" value="0.055*mm"/>
<constant name="VXD_sensor_switches" value="0.019*mm"/>
<constant name="VXD_sensor_bias" value="0.106*mm"/>
<constant name="VXD_sensor_periphery" value="0.177*mm"/>
</define>
<detectors>
<detector id="DetID_VXD" name="VXD" type="SiTrackerComposite_v02" vis="VXDVis" readout="VXDCollection" combineHits="true" insideTrackingVolume="true" printLevel="INFO">
<envelope>
<shape type="Assembly"/>
</envelope>
<type_flags type="DetType_TRACKER + DetType_BARREL + DetType_PIXEL "/>
<global sensitive_thickness="VXD_sensitive_thickness" support_thickness="VXD_support_thickness" sensor_length="VXD_sensor_length"
sensitive_mat="G4_Si" support_mat="G4_C" sensitive_threshold_KeV="64*keV" />
<display ladder="SeeThrough" support="VXDSupportVis" flex="VXDFlexVis" sens_env="SeeThrough" sens="GrayVis" deadsensor="GreenVis" deadwire="RedVis"/>
<shell rmin="70*mm" rmax="72.5*mm" zhalf="510*mm" material="CFRP_CMS" vis="LightGrayVis"/>
<layer id="0" phi0="0" isBent="true">
<module offset="0" phi="0" radius="11.06254*mm" nx="48" ny="4" backbone="VXD_sensor_backbone" switches="VXD_sensor_switches" bias="VXD_sensor_bias" periphery="VXD_sensor_periphery" mechanical_gap="0*mm" material="G4_Si">
<sensor thickness="50*um" width="8.409*mm" length="3.296*mm" material="G4_Si" vis="VXDVis"/>
<flex vis="GrayVis">
<slice thickness="0.4*um" material="G4_Al"/>
<slice thickness="45*um" material="CFRP_CMS"/>
</flex>
<readout thickness="50*um" width="4.155*mm" material="Kapton" vis="RedVis"/>
<driver thickness="50*um" width="1.385*mm" material="Kapton" vis="BlueVis"/>
</module>
<module offset="0" phi="180*degree" radius="11.06254*mm" nx="48" ny="4" backbone="VXD_sensor_backbone" switches="VXD_sensor_switches" bias="VXD_sensor_bias" periphery="VXD_sensor_periphery" mechanical_gap="0*mm" material="G4_Si">
<sensor thickness="50*um" width="8.409*mm" length="3.296*mm" material="G4_Si" vis="VXDVis"/>
<flex vis="GrayVis">
<slice thickness="0.4*um" material="G4_Al"/>
<slice thickness="45*um" material="CFRP_CMS"/>
</flex>
<readout thickness="50*um" width="4.155*mm" material="Kapton" vis="RedVis"/>
<driver thickness="50*um" width="1.385*mm" material="Kapton" vis="BlueVis"/>
</module>
</layer>
<layer id="1" phi0="11.4375*degree" isBent="true">
<module offset="0" phi="0" radius="16.56198*mm" nx="72" ny="6" backbone="VXD_sensor_backbone" switches="VXD_sensor_switches" bias="VXD_sensor_bias" periphery="VXD_sensor_periphery" mechanical_gap="0.5*mm" material="G4_Si">
<sensor thickness="50*um" width="8.409*mm" length="3.296*mm" material="G4_Si" vis="VXDVis"/>
<flex vis="GrayVis">
<slice thickness="0.4*um" material="G4_Al"/>
<slice thickness="32*um" material="CFRP_CMS"/>
</flex>
<readout thickness="50*um" width="4.155*mm" material="Kapton" vis="RedVis"/>
<driver thickness="50*um" width="1.385*mm" material="Kapton" vis="BlueVis"/>
</module>
<module offset="0" phi="180*degree" radius="16.56198*mm" nx="72" ny="6" backbone="VXD_sensor_backbone" switches="VXD_sensor_switches" bias="VXD_sensor_bias" periphery="VXD_sensor_periphery" mechanical_gap="0.5*mm" material="G4_Si">
<sensor thickness="50*um" width="8.409*mm" length="3.296*mm" material="G4_Si" vis="VXDVis"/>
<flex vis="GrayVis">
<slice thickness="0.4*um" material="G4_Al"/>
<slice thickness="32*um" material="CFRP_CMS"/>
</flex>
<readout thickness="50*um" width="4.155*mm" material="Kapton" vis="RedVis"/>
<driver thickness="50*um" width="1.385*mm" material="Kapton" vis="BlueVis"/>
</module>
</layer>
<layer id="2" phi0="-1.6875*degree" isBent="true">
<module offset="0" phi="0" radius="22.06142*mm" nx="96" ny="8" backbone="VXD_sensor_backbone" switches="VXD_sensor_switches" bias="VXD_sensor_bias" periphery="VXD_sensor_periphery" mechanical_gap="0.5*mm" material="G4_Si">
<sensor thickness="50*um" width="8.409*mm" length="3.296*mm" material="G4_Si" vis="VXDVis"/>
<flex vis="GrayVis">
<slice thickness="0.4*um" material="G4_Al"/>
<slice thickness="31*um" material="CFRP_CMS"/>
</flex>
<readout thickness="50*um" width="4.155*mm" material="Kapton" vis="RedVis"/>
<driver thickness="50*um" width="4.155*mm" material="Kapton" vis="BlueVis"/>
</module>
<module offset="0" phi="180*degree" radius="22.06142*mm" nx="96" ny="8" backbone="VXD_sensor_backbone" switches="VXD_sensor_switches" bias="VXD_sensor_bias" periphery="VXD_sensor_periphery" mechanical_gap="0.5*mm" material="G4_Si">
<sensor thickness="50*um" width="8.409*mm" length="3.296*mm" material="G4_Si" vis="VXDVis"/>
<flex vis="GrayVis">
<slice thickness="0.4*um" material="G4_Al"/>
<slice thickness="31*um" material="CFRP_CMS"/>
</flex>
<readout thickness="50*um" width="4.155*mm" material="Kapton" vis="RedVis"/>
<driver thickness="50*um" width="4.155*mm" material="Kapton" vis="BlueVis"/>
</module>
</layer>
<layer id="3" phi0="-6.75*degree" isBent="true">
<module offset="0" phi="0" radius="27.56086*mm" nx="120" ny="10" backbone="VXD_sensor_backbone" switches="VXD_sensor_switches" bias="VXD_sensor_bias" periphery="VXD_sensor_periphery" mechanical_gap="0.5*mm" material="G4_Si">
<sensor thickness="50*um" width="8.409*mm" length="3.296*mm" material="G4_Si" vis="VXDVis"/>
<flex vis="GrayVis">
<slice thickness="0.4*um" material="G4_Al"/>
<slice thickness="29*um" material="CFRP_CMS"/>
</flex>
<readout thickness="50*um" width="4.155*mm" material="Kapton" vis="RedVis"/>
<driver thickness="50*um" width="4.155*mm" material="Kapton" vis="BlueVis"/>
</module>
<module offset="0" phi="180*degree" radius="27.56086*mm" nx="120" ny="10" backbone="VXD_sensor_backbone" switches="VXD_sensor_switches" bias="VXD_sensor_bias" periphery="VXD_sensor_periphery" mechanical_gap="0.5*mm" material="G4_Si">
<sensor thickness="50*um" width="8.409*mm" length="3.296*mm" material="G4_Si" vis="VXDVis"/>
<flex vis="GrayVis">
<slice thickness="0.4*um" material="G4_Al"/>
<slice thickness="29*um" material="CFRP_CMS"/>
</flex>
<readout thickness="50*um" width="4.155*mm" material="Kapton" vis="RedVis"/>
<driver thickness="50*um" width="4.155*mm" material="Kapton" vis="BlueVis"/>
</module>
</layer>
<layer id="4" ladder_radius="43.792*mm" ladder_offset="(8.7+11.7)*mm" n_ladders="25" n_sensors_per_side="0">
<ladder isDoubleSided="true">
<ladderSupport height="3.2*mm" length="VXDLayer3_length" thickness="370*um" width="17.4*mm" mat="CFRP_CMS"/>
<flex>
<slice length="VXDLayer3_length" thickness="12.5*um" width="17.4*mm" mat="Acrylicglue"/> <!--glue between flex and sensor/support-->
<slice length="VXDLayer3_length" thickness="12.5*um" width="17.4*mm" mat="Kapton"/>
<slice length="VXDLayer3_length" thickness="12.5*um" width="17.4*mm" mat="Acrylicglue"/>
<slice length="VXDLayer3_length" thickness=" 8.0*um" width="17.4*mm" mat="G4_Al"/>
<slice length="VXDLayer3_length" thickness="13.0*um" width="17.4*mm" mat="Kapton"/>
<slice length="VXDLayer3_length" thickness="12.5*um" width="17.4*mm" mat="Acrylicglue"/>
<slice length="VXDLayer3_length" thickness=" 8.0*um" width="17.4*mm" mat="G4_Al"/>
<slice length="VXDLayer3_length" thickness="13.0*um" width="17.4*mm" mat="Kapton"/>
<slice length="VXDLayer3_length" thickness="12.5*um" width="17.4*mm" mat="Acrylicglue"/>
<slice length="VXDLayer3_length" thickness="12.0*um" width="17.4*mm" mat="G4_Al"/>
<slice length="VXDLayer3_length" thickness="25.0*um" width="17.4*mm" mat="Kapton"/>
<slice length="VXDLayer3_length" thickness="12.0*um" width="17.4*mm" mat="G4_Al"/>
<slice length="VXDLayer3_length" thickness="12.5*um" width="17.4*mm" mat="Acrylicglue"/>
<slice length="VXDLayer3_length" thickness="13.0*um" width="17.4*mm" mat="Kapton"/>
<slice length="VXDLayer3_length" thickness=" 8.0*um" width="17.4*mm" mat="G4_Al"/>
<slice length="VXDLayer3_length" thickness="12.5*um" width="17.4*mm" mat="Acrylicglue"/>
<slice length="VXDLayer3_length" thickness="13.0*um" width="17.4*mm" mat="Kapton"/>
<slice length="VXDLayer3_length" thickness=" 8.0*um" width="17.4*mm" mat="G4_Al"/>
<slice length="VXDLayer3_length" thickness="12.5*um" width="17.4*mm" mat="Acrylicglue"/>
<slice length="VXDLayer3_length" thickness="12.5*um" width="17.4*mm" mat="Kapton"/>
<slice length="VXDLayer3_length" thickness="12.5*um" width="17.4*mm" mat="Acrylicglue"/> <!--glue between flex and sensor/support-->
</flex>
<sensor n_sensors="29" gap="0.1*mm" thickness="50*um" active_length="25.6*mm" active_width="12.8*mm" dead_width="2*mm" sensor_mat="G4_Si"
deadwire_length="(29*(25.6+0.1)-0.1)*mm" deadwire_width="2.6*mm" deadwire_thickness="(50/10)*um" deadwire_mat="G4_Al"/>
</ladder>
</layer>
</detector>
</detectors>
<readouts>
<readout name="VXDCollection">
<!--segmentation type="CartesianGridYZ" grid_size_y="0.016*mm" grid_size_z="0.016*mm"/>
<id>system:5,side:-2,layer:9,module:8,sensor:32:8,y:-12,z:-12</id-->
<!-- old tracking not use senor id: 24-31 bit-->
<id>system:5,side:-2,layer:9,module:8,sensor:32:16</id>
</readout>
</readouts>
</lccdd>
<lccdd>
<info name="VXD_Composite_v01_03"
title="CepC VXD with stitch and ladder module"
author=""
url="http://cepc.ihep.ac.cn"
status="developing"
version="v01">
<comment>CepC vertex detector</comment>
</info>
<define>
<constant name="VXD_inner_radius" value="Vertex_inner_radius"/>
<constant name="VXD_outer_radius" value="Vertex_outer_radius"/>
<constant name="VXD_half_length" value="Vertex_half_length"/>
<!--ladder parameter-->
<constant name="VXD_ladder_length" value="682*mm"/>
<constant name="VXD_ladder_width" value="17.3*mm"/>
<constant name="VXD_ladder_flex_width" value="VXD_ladder_width"/>
<!--stitching parameter-->
<constant name="VXD_sensor_backbone" value="0.055*mm"/>
<constant name="VXD_sensor_switches" value="0.019*mm"/>
<constant name="VXD_sensor_bias" value="0.106*mm"/>
<constant name="VXD_sensor_periphery" value="0.177*mm"/>
<!--equivalent to CFRP_CMS-->
<constant name="VXD_flex_thickness" value="1.3*um"/>
</define>
<detectors>
<detector id="DetID_VXD" name="VXD" type="SiTrackerComposite_v03" vis="VXDVis" readout="VXDCollection" combineHits="true" insideTrackingVolume="true" printLevel="INFO">
<envelope>
<shape type="Assembly"/>
</envelope>
<type_flags type="DetType_TRACKER + DetType_BARREL + DetType_PIXEL "/>
<global sensitive_thickness="VXD_sensitive_thickness" support_thickness="VXD_support_thickness" sensor_length="VXD_sensor_length"
sensitive_mat="G4_Si" support_mat="G4_C" sensitive_threshold_KeV="64*keV" />
<display ladder="SeeThrough" support="VXDSupportVis" flex="VXDFlexVis" sens_env="SeeThrough" sens="GrayVis" deadsensor="GreenVis" deadwire="RedVis"/>
<shell rmin="70*mm" rmax="72.5*mm" zhalf="510*mm" material="CFRP_CMS" vis="LightGrayVis"/>
<layer id="0" phi0="0" isBent="true">
<module offset="0" phi="0" radius="11.06254*mm" nx="48" ny="4" backbone="VXD_sensor_backbone" switches="VXD_sensor_switches"
bias="VXD_sensor_bias" periphery="VXD_sensor_periphery" mechanical_gap="0*mm" material="G4_Si">
<sensor thickness="50*um" width="8.409*mm" length="3.296*mm" material="G4_Si" vis="VXDVis"/>
<flex vis="GrayVis">
<!--slice thickness="0.4*um" material="G4_Al"/-->
<slice thickness="VXD_flex_thickness+45*um" material="CFRP_CMS"/>
</flex>
<readout thickness="50*um" width="4.155*mm" material="Kapton" vis="RedVis"/>
<driver thickness="50*um" width="1.385*mm" material="Kapton" vis="BlueVis"/>
</module>
<module offset="0" phi="180*degree" radius="11.06254*mm" nx="48" ny="4" backbone="VXD_sensor_backbone" switches="VXD_sensor_switches"
bias="VXD_sensor_bias" periphery="VXD_sensor_periphery" mechanical_gap="0*mm" material="G4_Si">
<sensor thickness="50*um" width="8.409*mm" length="3.296*mm" material="G4_Si" vis="VXDVis"/>
<flex vis="GrayVis">
<!--slice thickness="0.4*um" material="G4_Al"/-->
<slice thickness="VXD_flex_thickness+45*um" material="CFRP_CMS"/>
</flex>
<readout thickness="50*um" width="4.155*mm" material="Kapton" vis="RedVis"/>
<driver thickness="50*um" width="1.385*mm" material="Kapton" vis="BlueVis"/>
</module>
</layer>
<layer id="1" phi0="11.4375*degree" isBent="true">
<module offset="0" phi="0" radius="16.56198*mm" nx="72" ny="6" backbone="VXD_sensor_backbone" switches="VXD_sensor_switches"
bias="VXD_sensor_bias" periphery="VXD_sensor_periphery" mechanical_gap="0.5*mm" material="G4_Si">
<sensor thickness="50*um" width="8.409*mm" length="3.296*mm" material="G4_Si" vis="VXDVis"/>
<flex vis="GrayVis">
<!--slice thickness="0.4*um" material="G4_Al"/-->
<slice thickness="VXD_flex_thickness+32*um" material="CFRP_CMS"/>
</flex>
<readout thickness="50*um" width="4.155*mm" material="Kapton" vis="RedVis"/>
<driver thickness="50*um" width="1.385*mm" material="Kapton" vis="BlueVis"/>
</module>
<module offset="0" phi="180*degree" radius="16.56198*mm" nx="72" ny="6" backbone="VXD_sensor_backbone" switches="VXD_sensor_switches"
bias="VXD_sensor_bias" periphery="VXD_sensor_periphery" mechanical_gap="0.5*mm" material="G4_Si">
<sensor thickness="50*um" width="8.409*mm" length="3.296*mm" material="G4_Si" vis="VXDVis"/>
<flex vis="GrayVis">
<!--slice thickness="0.4*um" material="G4_Al"/-->
<slice thickness="VXD_flex_thickness+32*um" material="CFRP_CMS"/>
</flex>
<readout thickness="50*um" width="4.155*mm" material="Kapton" vis="RedVis"/>
<driver thickness="50*um" width="1.385*mm" material="Kapton" vis="BlueVis"/>
</module>
</layer>
<layer id="2" phi0="-1.6875*degree" isBent="true">
<module offset="0" phi="0" radius="22.06142*mm" nx="96" ny="8" backbone="VXD_sensor_backbone" switches="VXD_sensor_switches"
bias="VXD_sensor_bias" periphery="VXD_sensor_periphery" mechanical_gap="0.5*mm" material="G4_Si">
<sensor thickness="50*um" width="8.409*mm" length="3.296*mm" material="G4_Si" vis="VXDVis"/>
<flex vis="GrayVis">
<!--slice thickness="0.4*um" material="G4_Al"/-->
<slice thickness="VXD_flex_thickness+31*um" material="CFRP_CMS"/>
</flex>
<readout thickness="50*um" width="4.155*mm" material="Kapton" vis="RedVis"/>
<driver thickness="50*um" width="4.155*mm" material="Kapton" vis="BlueVis"/>
</module>
<module offset="0" phi="180*degree" radius="22.06142*mm" nx="96" ny="8" backbone="VXD_sensor_backbone" switches="VXD_sensor_switches"
bias="VXD_sensor_bias" periphery="VXD_sensor_periphery" mechanical_gap="0.5*mm" material="G4_Si">
<sensor thickness="50*um" width="8.409*mm" length="3.296*mm" material="G4_Si" vis="VXDVis"/>
<flex vis="GrayVis">
<!--slice thickness="0.4*um" material="G4_Al"/-->
<slice thickness="VXD_flex_thickness+31*um" material="CFRP_CMS"/>
</flex>
<readout thickness="50*um" width="4.155*mm" material="Kapton" vis="RedVis"/>
<driver thickness="50*um" width="4.155*mm" material="Kapton" vis="BlueVis"/>
</module>
</layer>
<layer id="3" phi0="-6.75*degree" isBent="true">
<module offset="0" phi="0" radius="27.56086*mm" nx="120" ny="10" backbone="VXD_sensor_backbone" switches="VXD_sensor_switches"
bias="VXD_sensor_bias" periphery="VXD_sensor_periphery" mechanical_gap="0.5*mm" material="G4_Si">
<sensor thickness="50*um" width="8.409*mm" length="3.296*mm" material="G4_Si" vis="VXDVis"/>
<flex vis="GrayVis">
<!--slice thickness="0.4*um" material="G4_Al"/-->
<slice thickness="VXD_flex_thickness+29*um" material="CFRP_CMS"/>
</flex>
<readout thickness="50*um" width="4.155*mm" material="Kapton" vis="RedVis"/>
<driver thickness="50*um" width="4.155*mm" material="Kapton" vis="BlueVis"/>
</module>
<module offset="0" phi="180*degree" radius="27.56086*mm" nx="120" ny="10" backbone="VXD_sensor_backbone" switches="VXD_sensor_switches"
bias="VXD_sensor_bias" periphery="VXD_sensor_periphery" mechanical_gap="0.5*mm" material="G4_Si">
<sensor thickness="50*um" width="8.409*mm" length="3.296*mm" material="G4_Si" vis="VXDVis"/>
<flex vis="GrayVis">
<!--slice thickness="0.4*um" material="G4_Al"/-->
<slice thickness="VXD_flex_thickness+29*um" material="CFRP_CMS"/>
</flex>
<readout thickness="50*um" width="4.155*mm" material="Kapton" vis="RedVis"/>
<driver thickness="50*um" width="4.155*mm" material="Kapton" vis="BlueVis"/>
</module>
</layer>
<layer id="4" support_rmin="39.5*mm" rotate="13.5*degree" phi0="13.5*degree" n_ladders="24" n_sensors_per_side="0">
<ladder isDoubleSided="true">
<ladderSupport height="3.1988*mm" length="VXD_ladder_length" thickness="370*um" width="VXD_ladder_width" mat="CFRP_CMS"/>
<flex>
<slice length="VXD_ladder_length" thickness="12.5*um" width="VXD_ladder_flex_width" mat="Acrylicglue"/> <!--glue between flex and sensor/support-->
<slice length="VXD_ladder_length" thickness="12.5*um" width="VXD_ladder_flex_width" mat="Kapton"/>
<slice length="VXD_ladder_length" thickness="12.5*um" width="VXD_ladder_flex_width" mat="Acrylicglue"/>
<slice length="VXD_ladder_length" thickness=" 8.0*um" width="VXD_ladder_flex_width" mat="G4_Al"/>
<slice length="VXD_ladder_length" thickness="13.0*um" width="VXD_ladder_flex_width" mat="Kapton"/>
<slice length="VXD_ladder_length" thickness="12.5*um" width="VXD_ladder_flex_width" mat="Acrylicglue"/>
<slice length="VXD_ladder_length" thickness=" 8.0*um" width="VXD_ladder_flex_width" mat="G4_Al"/>
<slice length="VXD_ladder_length" thickness="13.0*um" width="VXD_ladder_flex_width" mat="Kapton"/>
<slice length="VXD_ladder_length" thickness="12.5*um" width="VXD_ladder_flex_width" mat="Acrylicglue"/>
<slice length="VXD_ladder_length" thickness="12.0*um" width="VXD_ladder_flex_width" mat="G4_Al"/>
<slice length="VXD_ladder_length" thickness="25.0*um" width="VXD_ladder_flex_width" mat="Kapton"/>
<slice length="VXD_ladder_length" thickness="12.0*um" width="VXD_ladder_flex_width" mat="G4_Al"/>
<slice length="VXD_ladder_length" thickness="12.5*um" width="VXD_ladder_flex_width" mat="Acrylicglue"/>
<slice length="VXD_ladder_length" thickness="13.0*um" width="VXD_ladder_flex_width" mat="Kapton"/>
<slice length="VXD_ladder_length" thickness=" 8.0*um" width="VXD_ladder_flex_width" mat="G4_Al"/>
<slice length="VXD_ladder_length" thickness="12.5*um" width="VXD_ladder_flex_width" mat="Acrylicglue"/>
<slice length="VXD_ladder_length" thickness="13.0*um" width="VXD_ladder_flex_width" mat="Kapton"/>
<slice length="VXD_ladder_length" thickness=" 8.0*um" width="VXD_ladder_flex_width" mat="G4_Al"/>
<slice length="VXD_ladder_length" thickness="12.5*um" width="VXD_ladder_flex_width" mat="Acrylicglue"/>
<slice length="VXD_ladder_length" thickness="12.5*um" width="VXD_ladder_flex_width" mat="Kapton"/>
<slice length="VXD_ladder_length" thickness="12.5*um" width="VXD_ladder_flex_width" mat="Acrylicglue"/> <!--glue between flex and sensor/support-->
</flex>
<sensor n_sensors="26" gap="0.1*mm" thickness="50*um" active_length="25.6*mm" active_width="12.8*mm" dead_width="2*mm" sensor_mat="G4_Si"
deadwire_length="(26*(25.6+0.1)-0.1)*mm" deadwire_width="2.5*mm" deadwire_thickness="(50/10)*um" deadwire_mat="G4_Al"/>
</ladder>
</layer>
</detector>
</detectors>
<readouts>
<readout name="VXDCollection">
<!--segmentation type="CartesianGridYZ" grid_size_y="0.016*mm" grid_size_z="0.016*mm"/>
<id>system:5,side:-2,layer:9,module:8,sensor:32:8,y:-12,z:-12</id-->
<!-- old tracking not use senor id: 24-31 bit-->
<id>system:5,side:-2,layer:9,module:8,sensor:32:16</id>
</readout>
</readouts>
</lccdd>
<lccdd>
<info name="VXD_StaggeredLadder_v02_01"
title="CepC VXD with staggered ladders"
author=""
url="http://cepc.ihep.ac.cn"
status="developing"
version="v01">
<comment>CepC vertex detector</comment>
</info>
<define>
<constant name="VXD_inner_radius" value="Vertex_inner_radius"/>
<constant name="VXD_outer_radius" value="Vertex_outer_radius"/>
<constant name="VXD_half_length" value="Vertex_half_length"/>
<constant name="VXDLayer1_length" value="260*mm" />
<constant name="VXDLayer2_length" value="494*mm" />
<constant name="VXDLayer3_length" value="749*mm" />
<constant name="VXD_sensor_length" value="20*mm" />
</define>
<detectors>
<detector id="DetID_VXD" name="VXD" type="SiTrackerStaggeredLadder_v01" vis="VXDVis" readout="VXDCollection" insideTrackingVolume="true">
<envelope>
<!--shape type="BooleanShape" operation="Subtraction" material="Air" >
<shape type="BooleanShape" operation="Subtraction" material="Air" >
<shape type="Tube" rmin="VXD_inner_radius" rmax="VXD_outer_radius" dz="VXD_half_length" />
<shape type="Cone" rmin1="0" rmax1="BeamPipe_VertexRegion_rmax" rmin2="0" rmax2="Vertex_Side_rmin" z="(VXD_half_length-BeamPipe_CentralAl_zmax)/2." />
<position x="0" y="0" z="VXD_half_length-(VXD_half_length-BeamPipe_CentralAl_zmax)/2."/>
</shape>
<shape type="Cone" rmin1="0" rmax1="BeamPipe_VertexRegion_rmax" rmin2="0" rmax2="Vertex_Side_rmin" z="(VXD_half_length-BeamPipe_CentralAl_zmax)/2." />
<position x="0" y="0" z="-(VXD_half_length-(VXD_half_length-BeamPipe_CentralAl_zmax)/2.)"/>
<rotation x="0" y="180.*deg" z="0" />
</shape-->
<shape type="Assembly"/>
</envelope>
<type_flags type="DetType_TRACKER + DetType_BARREL + DetType_PIXEL "/>
<global sensitive_thickness="VXD_sensitive_thickness" support_thickness="VXD_support_thickness" sensor_length="VXD_sensor_length"
sensitive_mat="G4_Si" support_mat="G4_C" sensitive_threshold_KeV="64*keV" />
<display ladder="SeeThrough" support="VXDSupportVis" flex="VXDFlexVis" sens_env="SeeThrough" sens="GrayVis" deadsensor="GreenVis" deadwire="RedVis"/>
<shell rmin="70*mm" rmax="72.5*mm" zhalf="510*mm" material="CFRP_CMS" vis="LightGrayVis"/>
<layer layer_id="0" ladder_radius="12.459*mm" ladder_offset="(8.7+0.235607)*mm" n_ladders="8" n_sensors_per_side="0">
<ladder isDoubleSided="true">
<ladderSupport height="1.7*mm" length="VXDLayer1_length" thickness="334*um" width="17.4*mm" mat="CFRP_CMS"/>
<flex>
<slice length="VXDLayer1_length" thickness="12.5*um" width="17.4*mm" mat="Acrylicglue"/> <!--glue between flex and sensor/support-->
<slice length="VXDLayer1_length" thickness="12.5*um" width="17.4*mm" mat="Kapton"/>
<slice length="VXDLayer1_length" thickness="12.5*um" width="17.4*mm" mat="Acrylicglue"/>
<slice length="VXDLayer1_length" thickness=" 8.0*um" width="17.4*mm" mat="G4_Al"/>
<slice length="VXDLayer1_length" thickness="13.0*um" width="17.4*mm" mat="Kapton"/>
<slice length="VXDLayer1_length" thickness="12.5*um" width="17.4*mm" mat="Acrylicglue"/>
<slice length="VXDLayer1_length" thickness="12.0*um" width="17.4*mm" mat="G4_Al"/>
<slice length="VXDLayer1_length" thickness="25.0*um" width="17.4*mm" mat="Kapton"/>
<slice length="VXDLayer1_length" thickness="12.0*um" width="17.4*mm" mat="G4_Al"/>
<slice length="VXDLayer1_length" thickness="12.5*um" width="17.4*mm" mat="Acrylicglue"/>
<slice length="VXDLayer1_length" thickness="13.0*um" width="17.4*mm" mat="Kapton"/>
<slice length="VXDLayer1_length" thickness=" 8.0*um" width="17.4*mm" mat="G4_Al"/>
<slice length="VXDLayer1_length" thickness="12.5*um" width="17.4*mm" mat="Acrylicglue"/>
<slice length="VXDLayer1_length" thickness="12.5*um" width="17.4*mm" mat="Kapton"/>
<slice length="VXDLayer1_length" thickness="12.5*um" width="17.4*mm" mat="Acrylicglue"/> <!--glue between flex and sensor/support-->
</flex>
<sensor n_sensors="10" gap="0.1*mm" thickness="50*um" active_length="25.6*mm" active_width="12.8*mm" dead_width="2*mm" sensor_mat="G4_Si"
deadwire_length="(10*(25.6+0.1)-0.1)*mm" deadwire_width="2.6*mm" deadwire_thickness="(50/10)*um" deadwire_mat="G4_Al"/>
</ladder>
</layer>
<layer layer_id="1" ladder_radius="27.892*mm" ladder_offset="(8.7+3.8)*mm" n_ladders="16" n_sensors_per_side="0">
<ladder isDoubleSided="true">
<ladderSupport height="2.5*mm" length="VXDLayer2_length" thickness="358*um" width="17.4*mm" mat="CFRP_CMS"/>
<flex>
<slice length="VXDLayer2_length" thickness="12.5*um" width="17.4*mm" mat="Acrylicglue"/> <!--glue between flex and sensor/support-->
<slice length="VXDLayer2_length" thickness="12.5*um" width="17.4*mm" mat="Kapton"/>
<slice length="VXDLayer2_length" thickness="12.5*um" width="17.4*mm" mat="Acrylicglue"/>
<slice length="VXDLayer2_length" thickness=" 8.0*um" width="17.4*mm" mat="G4_Al"/>
<slice length="VXDLayer2_length" thickness="13.0*um" width="17.4*mm" mat="Kapton"/>
<slice length="VXDLayer2_length" thickness="12.5*um" width="17.4*mm" mat="Acrylicglue"/>
<slice length="VXDLayer2_length" thickness=" 8.0*um" width="17.4*mm" mat="G4_Al"/>
<slice length="VXDLayer2_length" thickness="13.0*um" width="17.4*mm" mat="Kapton"/>
<slice length="VXDLayer2_length" thickness="12.5*um" width="17.4*mm" mat="Acrylicglue"/>
<slice length="VXDLayer2_length" thickness="12.0*um" width="17.4*mm" mat="G4_Al"/>
<slice length="VXDLayer2_length" thickness="25.0*um" width="17.4*mm" mat="Kapton"/>
<slice length="VXDLayer2_length" thickness="12.0*um" width="17.4*mm" mat="G4_Al"/>
<slice length="VXDLayer2_length" thickness="12.5*um" width="17.4*mm" mat="Acrylicglue"/>
<slice length="VXDLayer2_length" thickness="13.0*um" width="17.4*mm" mat="Kapton"/>
<slice length="VXDLayer2_length" thickness=" 8.0*um" width="17.4*mm" mat="G4_Al"/>
<slice length="VXDLayer2_length" thickness="12.5*um" width="17.4*mm" mat="Acrylicglue"/>
<slice length="VXDLayer2_length" thickness="13.0*um" width="17.4*mm" mat="Kapton"/>
<slice length="VXDLayer2_length" thickness=" 8.0*um" width="17.4*mm" mat="G4_Al"/>
<slice length="VXDLayer2_length" thickness="12.5*um" width="17.4*mm" mat="Acrylicglue"/>
<slice length="VXDLayer2_length" thickness="12.5*um" width="17.4*mm" mat="Kapton"/>
<slice length="VXDLayer2_length" thickness="12.5*um" width="17.4*mm" mat="Acrylicglue"/> <!--glue between flex and sensor/support-->
</flex>
<sensor n_sensors="19" gap="0.1*mm" thickness="50*um" active_length="25.6*mm" active_width="12.8*mm" dead_width="2*mm" sensor_mat="G4_Si"
deadwire_length="(19*(25.6+0.1)-0.1)*mm" deadwire_width="2.6*mm" deadwire_thickness="(50/10)*um" deadwire_mat="G4_Al"/>
</ladder>
</layer>
<layer layer_id="2" ladder_radius="43.792*mm" ladder_offset="(8.7+11.7)*mm" n_ladders="25" n_sensors_per_side="0">
<ladder isDoubleSided="true">
<ladderSupport height="3.2*mm" length="VXDLayer3_length" thickness="370*um" width="17.4*mm" mat="CFRP_CMS"/>
<flex>
<slice length="VXDLayer3_length" thickness="12.5*um" width="17.4*mm" mat="Acrylicglue"/> <!--glue between flex and sensor/support-->
<slice length="VXDLayer3_length" thickness="12.5*um" width="17.4*mm" mat="Kapton"/>
<slice length="VXDLayer3_length" thickness="12.5*um" width="17.4*mm" mat="Acrylicglue"/>
<slice length="VXDLayer3_length" thickness=" 8.0*um" width="17.4*mm" mat="G4_Al"/>
<slice length="VXDLayer3_length" thickness="13.0*um" width="17.4*mm" mat="Kapton"/>
<slice length="VXDLayer3_length" thickness="12.5*um" width="17.4*mm" mat="Acrylicglue"/>
<slice length="VXDLayer3_length" thickness=" 8.0*um" width="17.4*mm" mat="G4_Al"/>
<slice length="VXDLayer3_length" thickness="13.0*um" width="17.4*mm" mat="Kapton"/>
<slice length="VXDLayer3_length" thickness="12.5*um" width="17.4*mm" mat="Acrylicglue"/>
<slice length="VXDLayer3_length" thickness="12.0*um" width="17.4*mm" mat="G4_Al"/>
<slice length="VXDLayer3_length" thickness="25.0*um" width="17.4*mm" mat="Kapton"/>
<slice length="VXDLayer3_length" thickness="12.0*um" width="17.4*mm" mat="G4_Al"/>
<slice length="VXDLayer3_length" thickness="12.5*um" width="17.4*mm" mat="Acrylicglue"/>
<slice length="VXDLayer3_length" thickness="13.0*um" width="17.4*mm" mat="Kapton"/>
<slice length="VXDLayer3_length" thickness=" 8.0*um" width="17.4*mm" mat="G4_Al"/>
<slice length="VXDLayer3_length" thickness="12.5*um" width="17.4*mm" mat="Acrylicglue"/>
<slice length="VXDLayer3_length" thickness="13.0*um" width="17.4*mm" mat="Kapton"/>
<slice length="VXDLayer3_length" thickness=" 8.0*um" width="17.4*mm" mat="G4_Al"/>
<slice length="VXDLayer3_length" thickness="12.5*um" width="17.4*mm" mat="Acrylicglue"/>
<slice length="VXDLayer3_length" thickness="12.5*um" width="17.4*mm" mat="Kapton"/>
<slice length="VXDLayer3_length" thickness="12.5*um" width="17.4*mm" mat="Acrylicglue"/> <!--glue between flex and sensor/support-->
</flex>
<sensor n_sensors="29" gap="0.1*mm" thickness="50*um" active_length="25.6*mm" active_width="12.8*mm" dead_width="2*mm" sensor_mat="G4_Si"
deadwire_length="(29*(25.6+0.1)-0.1)*mm" deadwire_width="2.6*mm" deadwire_thickness="(50/10)*um" deadwire_mat="G4_Al"/>
</ladder>
</layer>
</detector>
<!--detector name="VXDShell" type="DD4hep_Solenoid_o1_v01" id="DetID_NOTUSED" insideTrackingVolume="true">
<envelope>
<shape type="Tube" rmin="70*mm" rmax="72.5*mm" dz="510*mm" material="Air"/>
<position x="0" y="0" z="0*mm"/>
</envelope>
<type_flags type="DetType_SUPPORT"/>
<layer id="0" inner_r="70*mm" outer_z="510*mm" vis="SeeThrough">
<slice material="CFRP_CMS" thickness="2.5*mm" vis="ShellVis"/>
</layer>
</detector-->
</detectors>
<readouts>
<readout name="VXDCollection">
<!--segmentation type="CartesianGridYZ" grid_size_y="0.016*mm" grid_size_z="0.016*mm"/>
<id>system:5,side:-2,layer:9,module:8,active:8,sensor:8,y:-12,z:-12</id-->
<id>system:5,side:-2,layer:9,module:8,active:8,sensor:8</id>
</readout>
</readouts>
</lccdd>
<lccdd>
<info name="VXD_StaggeredLadder_v02_02"
title="CepC VXD with staggered ladders"
author=""
url="http://cepc.ihep.ac.cn"
status="developing"
version="v01">
<comment>CepC vertex detector</comment>
</info>
<define>
<constant name="VXD_inner_radius" value="Vertex_inner_radius"/>
<constant name="VXD_outer_radius" value="Vertex_outer_radius"/>
<constant name="VXD_half_length" value="Vertex_half_length"/>
<constant name="VXDLayer1_length" value="257*mm" />
<constant name="VXDLayer2_length" value="257*mm" />
<constant name="VXDLayer3_length" value="257*mm" />
<constant name="VXD_sensor_length" value="20*mm" />
</define>
<detectors>
<detector id="DetID_VXD" name="VXD" type="SiTrackerStaggeredLadder_v01" vis="VXDVis" readout="VXDCollection" insideTrackingVolume="true">
<envelope>
<shape type="BooleanShape" operation="Subtraction" material="Air" >
<shape type="BooleanShape" operation="Subtraction" material="Air" >
<shape type="Tube" rmin="VXD_inner_radius" rmax="VXD_outer_radius" dz="VXD_half_length" />
<shape type="Cone" rmin1="0" rmax1="BeamPipe_VertexRegion_rmax" rmin2="0" rmax2="Vertex_Side_rmin" z="(VXD_half_length-BeamPipe_CentralAl_zmax)/2." />
<position x="0" y="0" z="VXD_half_length-(VXD_half_length-BeamPipe_CentralAl_zmax)/2."/>
</shape>
<shape type="Cone" rmin1="0" rmax1="BeamPipe_VertexRegion_rmax" rmin2="0" rmax2="Vertex_Side_rmin" z="(VXD_half_length-BeamPipe_CentralAl_zmax)/2." />
<position x="0" y="0" z="-(VXD_half_length-(VXD_half_length-BeamPipe_CentralAl_zmax)/2.)"/>
<rotation x="0" y="180.*deg" z="0" />
</shape>
</envelope>
<type_flags type="DetType_TRACKER + DetType_BARREL + DetType_PIXEL "/>
<global sensitive_thickness="VXD_sensitive_thickness" support_thickness="VXD_support_thickness" sensor_length="VXD_sensor_length"
sensitive_mat="G4_Si" support_mat="G4_C" sensitive_threshold_KeV="64*keV" />
<display ladder="SeeThrough" support="VXDSupportVis" flex="VXDFlexVis" sens_env="SeeThrough" sens="GrayVis" deadsensor="GreenVis" deadwire="RedVis"/>
<layer layer_id="0" ladder_radius="12.0*mm" ladder_offset="(8.4+0.231123)*mm" n_ladders="8" n_sensors_per_side="0">
<ladder isDoubleSided="true">
<ladderSupport height="2*mm" length="VXDLayer1_length+1*mm" thickness="250*um" width="16.8*mm" mat="CFRP_CMS"/>
<flex>
<slice length="VXDLayer1_length" thickness="12.5*um" width="16.8*mm" mat="Acrylicglue"/> <!--glue between flex and sensor/support-->
<slice length="VXDLayer1_length" thickness="12.5*um" width="16.8*mm" mat="Kapton"/>
<slice length="VXDLayer1_length" thickness="12.5*um" width="16.8*mm" mat="Acrylicglue"/>
<slice length="VXDLayer1_length" thickness=" 8.0*um" width="16.8*mm" mat="G4_Al"/>
<slice length="VXDLayer1_length" thickness="13.0*um" width="16.8*mm" mat="Kapton"/>
<slice length="VXDLayer1_length" thickness="12.5*um" width="16.8*mm" mat="Acrylicglue"/>
<slice length="VXDLayer1_length" thickness="12.0*um" width="16.8*mm" mat="G4_Al"/>
<slice length="VXDLayer1_length" thickness="25.0*um" width="16.8*mm" mat="Kapton"/>
<slice length="VXDLayer1_length" thickness="12.0*um" width="16.8*mm" mat="G4_Al"/>
<slice length="VXDLayer1_length" thickness="12.5*um" width="16.8*mm" mat="Acrylicglue"/>
<slice length="VXDLayer1_length" thickness="13.0*um" width="16.8*mm" mat="Kapton"/>
<slice length="VXDLayer1_length" thickness=" 8.0*um" width="16.8*mm" mat="G4_Al"/>
<slice length="VXDLayer1_length" thickness="12.5*um" width="16.8*mm" mat="Acrylicglue"/>
<slice length="VXDLayer1_length" thickness="12.5*um" width="16.8*mm" mat="Kapton"/>
<slice length="VXDLayer1_length" thickness="12.5*um" width="16.8*mm" mat="Acrylicglue"/> <!--glue between flex and sensor/support-->
</flex>
<sensor n_sensors="10" gap="0.1*mm" thickness="50*um" active_length="25.6*mm" active_width="12.8*mm" dead_width="2*mm" sensor_mat="G4_Si"
deadwire_length="(10*(25.6+0.1)-0.1)*mm" deadwire_width="2*mm" deadwire_thickness="(50/10)*um" deadwire_mat="G4_Al"/>
</ladder>
</layer>
<layer layer_id="1" ladder_radius="30*mm" ladder_offset="(8.4+7.041272)*mm" n_ladders="16" n_sensors_per_side="0">
<ladder isDoubleSided="true">
<ladderSupport height="2*mm" length="VXDLayer2_length+1*mm" thickness="250*um" width="16.8*mm" mat="CFRP_CMS"/>
<flex>
<slice length="VXDLayer2_length" thickness="12.5*um" width="16.8*mm" mat="Acrylicglue"/> <!--glue between flex and sensor/support-->
<slice length="VXDLayer2_length" thickness="12.5*um" width="16.8*mm" mat="Kapton"/>
<slice length="VXDLayer2_length" thickness="12.5*um" width="16.8*mm" mat="Acrylicglue"/>
<slice length="VXDLayer2_length" thickness=" 8.0*um" width="16.8*mm" mat="G4_Al"/>
<slice length="VXDLayer2_length" thickness="13.0*um" width="16.8*mm" mat="Kapton"/>
<slice length="VXDLayer2_length" thickness="12.5*um" width="16.8*mm" mat="Acrylicglue"/>
<slice length="VXDLayer2_length" thickness="12.0*um" width="16.8*mm" mat="G4_Al"/>
<slice length="VXDLayer2_length" thickness="25.0*um" width="16.8*mm" mat="Kapton"/>
<slice length="VXDLayer2_length" thickness="12.0*um" width="16.8*mm" mat="G4_Al"/>
<slice length="VXDLayer2_length" thickness="12.5*um" width="16.8*mm" mat="Acrylicglue"/>
<slice length="VXDLayer2_length" thickness="13.0*um" width="16.8*mm" mat="Kapton"/>
<slice length="VXDLayer2_length" thickness=" 8.0*um" width="16.8*mm" mat="G4_Al"/>
<slice length="VXDLayer2_length" thickness="12.5*um" width="16.8*mm" mat="Acrylicglue"/>
<slice length="VXDLayer2_length" thickness="12.5*um" width="16.8*mm" mat="Kapton"/>
<slice length="VXDLayer2_length" thickness="12.5*um" width="16.8*mm" mat="Acrylicglue"/> <!--glue between flex and sensor/support-->
</flex>
<sensor n_sensors="10" gap="0.1*mm" thickness="50*um" active_length="25.6*mm" active_width="12.8*mm" dead_width="2*mm" sensor_mat="G4_Si"
deadwire_length="(10*(25.6+0.1)-0.1)*mm" deadwire_width="2*mm" deadwire_thickness="(50/10)*um" deadwire_mat="G4_Al"/>
</ladder>
</layer>
<layer layer_id="2" ladder_radius="48*mm" ladder_offset="(8.4+10.213840)*mm" n_ladders="24" n_sensors_per_side="0">
<ladder isDoubleSided="true">
<ladderSupport height="3*mm" length="VXDLayer3_length+1*mm" thickness="250*um" width="16.8*mm" mat="CFRP_CMS"/>
<flex>
<slice length="VXDLayer3_length" thickness="12.5*um" width="16.8*mm" mat="Acrylicglue"/> <!--glue between flex and sensor/support-->
<slice length="VXDLayer3_length" thickness="12.5*um" width="16.8*mm" mat="Kapton"/>
<slice length="VXDLayer3_length" thickness="12.5*um" width="16.8*mm" mat="Acrylicglue"/>
<slice length="VXDLayer3_length" thickness=" 8.0*um" width="16.8*mm" mat="G4_Al"/>
<slice length="VXDLayer3_length" thickness="13.0*um" width="16.8*mm" mat="Kapton"/>
<slice length="VXDLayer3_length" thickness="12.5*um" width="16.8*mm" mat="Acrylicglue"/>
<slice length="VXDLayer3_length" thickness="12.0*um" width="16.8*mm" mat="G4_Al"/>
<slice length="VXDLayer3_length" thickness="25.0*um" width="16.8*mm" mat="Kapton"/>
<slice length="VXDLayer3_length" thickness="12.0*um" width="16.8*mm" mat="G4_Al"/>
<slice length="VXDLayer3_length" thickness="12.5*um" width="16.8*mm" mat="Acrylicglue"/>
<slice length="VXDLayer3_length" thickness="13.0*um" width="16.8*mm" mat="Kapton"/>
<slice length="VXDLayer3_length" thickness=" 8.0*um" width="16.8*mm" mat="G4_Al"/>
<slice length="VXDLayer3_length" thickness="12.5*um" width="16.8*mm" mat="Acrylicglue"/>
<slice length="VXDLayer3_length" thickness="12.5*um" width="16.8*mm" mat="Kapton"/>
<slice length="VXDLayer3_length" thickness="12.5*um" width="16.8*mm" mat="Acrylicglue"/> <!--glue between flex and sensor/support-->
</flex>
<sensor n_sensors="10" gap="0.1*mm" thickness="50*um" active_length="25.6*mm" active_width="12.8*mm" dead_width="2*mm" sensor_mat="G4_Si"
deadwire_length="(10*(25.6+0.1)-0.1)*mm" deadwire_width="2*mm" deadwire_thickness="(50/10)*um" deadwire_mat="G4_Al"/>
</ladder>
</layer>
</detector>
<!--TODO: move into SiTrackerStaggeredLadder_v01/-->
<detector name="VXDShell" type="DD4hep_Solenoid_o1_v01" id="DetID_NOTUSED" insideTrackingVolume="true">
<envelope>
<shape type="Tube" rmin="70*mm" rmax="72.5*mm" dz="210*mm" material="Air"/>
<position x="0" y="0" z="0*mm"/>
</envelope>
<type_flags type="DetType_SUPPORT"/>
<layer id="0" inner_r="70*mm" outer_z="210*mm" vis="SeeThrough">
<slice material="CFRP_CMS" thickness="2.5*mm" vis="ShellVis"/>
</layer>
</detector>
</detectors>
<readouts>
<readout name="VXDCollection">
<!--segmentation type="CartesianGridYZ" grid_size_y="0.016*mm" grid_size_z="0.016*mm"/>
<id>system:5,side:-2,layer:9,module:8,active:8,sensor:8,y:-12,z:-12</id-->
<id>system:5,side:-2,layer:9,module:8,active:8,sensor:8</id>
</readout>
</readouts>
</lccdd>
<lccdd>
<info name="VXD_Stitching_v01_01"
title="CepC VXD with stitch module"
author=""
url="http://cepc.ihep.ac.cn"
status="developing"
version="v01">
<comment>CepC vertex detector</comment>
</info>
<define>
<constant name="VXD_inner_radius" value="Vertex_inner_radius"/>
<constant name="VXD_outer_radius" value="Vertex_outer_radius"/>
<constant name="VXD_half_length" value="Vertex_half_length"/>
<!--constant name="VXDLayer1_length" value="260*mm" />
<constant name="VXDLayer2_length" value="494*mm" />
<constant name="VXDLayer3_length" value="749*mm" /-->
<constant name="VXD_sensor_length" value="20*mm" />
<constant name="VXD_sensor_xgap" value="0.01*mm"/>
<constant name="VXD_sensor_ygap" value="0.1*mm"/>
</define>
<detectors>
<detector id="DetID_VXD" name="VXD" type="SiTrackerStitching_v01" vis="VXDVis" readout="VXDCollection" insideTrackingVolume="true">
<envelope>
<shape type="Assembly"/>
</envelope>
<type_flags type="DetType_TRACKER + DetType_BARREL + DetType_PIXEL "/>
<shell rmin="70*mm" rmax="VXD_outer_radius" zhalf="VXD_half_length" material="CFRP_CMS" vis="LightGrayVis"/>
<modules>
<module type="Module1A" radius="12.2*mm" nx="10" ny="2" xdead="VXD_sensor_xgap" ydead="VXD_sensor_ygap" material="G4_Si">
<sensor thickness="50*um" width="20*mm" length="20*mm" material="G4_Si" vis="VXDVis"/>
<flex vis="GrayVis">
<slice thickness="12.5*um" material="Kapton"/>
<slice thickness="10.0*um" material="G4_Al"/>
</flex>
<electronics thickness="100*um" width="5*mm" material="Kapton" vis="RedVis"/>
<readout thickness="100*um" width="5*mm" material="Kapton" vis="GreenVis"/>
<driver thickness="100*um" width="8*mm" material="Kapton" vis="BlueVis"/>
</module>
<module type="Module1B" radius="12.7*mm" nx="10" ny="2" xdead="VXD_sensor_xgap" ydead="VXD_sensor_ygap" material="G4_Si">
<sensor thickness="50*um" width="20*mm" length="20*mm" material="G4_Si" vis="VXDVis"/>
<flex vis="GrayVis">
<slice thickness="12.5*um" material="Kapton"/>
<slice thickness="10.0*um" material="G4_Al"/>
</flex>
<electronics thickness="100*um" width="5*mm" material="Kapton" vis="RedVis"/>
<readout thickness="100*um" width="5*mm" material="Kapton" vis="GreenVis"/>
<driver thickness="100*um" width="8*mm" material="Kapton" vis="BlueVis"/>
</module>
<module type="Module2A" radius="13.2*mm" nx="10" ny="2" xdead="VXD_sensor_xgap" ydead="VXD_sensor_ygap" material="G4_Si">
<sensor thickness="50*um" width="21*mm" length="20*mm" material="G4_Si" vis="VXDVis"/>
<flex vis="GrayVis">
<slice thickness="12.5*um" material="Kapton"/>
<slice thickness="10.0*um" material="G4_Al"/>
</flex>
<electronics thickness="100*um" width="5*mm" material="Kapton" vis="RedVis"/>
<readout thickness="100*um" width="5*mm" material="Kapton" vis="GreenVis"/>
<driver thickness="100*um" width="8*mm" material="Kapton" vis="BlueVis"/>
</module>
<module type="Module2B" radius="13.7*mm" nx="10" ny="2" xdead="VXD_sensor_xgap" ydead="VXD_sensor_ygap" material="G4_Si">
<sensor thickness="50*um" width="21*mm" length="20*mm" material="G4_Si" vis="VXDVis"/>
<flex vis="GrayVis">
<slice thickness="12.5*um" material="Kapton"/>
<slice thickness="10.0*um" material="G4_Al"/>
</flex>
<electronics thickness="100*um" width="5*mm" material="Kapton" vis="RedVis"/>
<readout thickness="100*um" width="5*mm" material="Kapton" vis="GreenVis"/>
<driver thickness="100*um" width="8*mm" material="Kapton" vis="BlueVis"/>
</module>
<module type="Module3A" radius="25.9*mm" nx="20" ny="4" xdead="VXD_sensor_xgap" ydead="VXD_sensor_ygap" material="G4_Si">
<sensor thickness="50*um" width="21*mm" length="20*mm" material="G4_Si" vis="VXDVis"/>
<flex vis="GrayVis">
<slice thickness="12.5*um" material="Kapton"/>
<slice thickness="10.0*um" material="G4_Al"/>
</flex>
<electronics thickness="100*um" width="5*mm" material="Kapton" vis="RedVis"/>
<readout thickness="100*um" width="5*mm" material="Kapton" vis="GreenVis"/>
<driver thickness="100*um" width="8*mm" material="Kapton" vis="BlueVis"/>
</module>
<module type="Module3B" radius="26.4*mm" nx="20" ny="4" xdead="VXD_sensor_xgap" ydead="VXD_sensor_ygap" material="G4_Si">
<sensor thickness="50*um" width="21*mm" length="20*mm" material="G4_Si" vis="VXDVis"/>
<flex vis="GrayVis">
<slice thickness="12.5*um" material="Kapton"/>
<slice thickness="10.0*um" material="G4_Al"/>
</flex>
<electronics thickness="100*um" width="5*mm" material="Kapton" vis="RedVis"/>
<readout thickness="100*um" width="5*mm" material="Kapton" vis="GreenVis"/>
<driver thickness="100*um" width="8*mm" material="Kapton" vis="BlueVis"/>
</module>
<module type="Module4A" radius="26.9*mm" nx="20" ny="4" xdead="VXD_sensor_xgap" ydead="VXD_sensor_ygap" material="G4_Si">
<sensor thickness="50*um" width="22*mm" length="20*mm" material="G4_Si" vis="VXDVis"/>
<flex vis="GrayVis">
<slice thickness="12.5*um" material="Kapton"/>
<slice thickness="10.0*um" material="G4_Al"/>
</flex>
<electronics thickness="100*um" width="5*mm" material="Kapton" vis="RedVis"/>
<readout thickness="100*um" width="5*mm" material="Kapton" vis="GreenVis"/>
<driver thickness="100*um" width="8*mm" material="Kapton" vis="BlueVis"/>
</module>
<module type="Module4B" radius="27.4*mm" nx="20" ny="4" xdead="VXD_sensor_xgap" ydead="VXD_sensor_ygap" material="G4_Si">
<sensor thickness="50*um" width="22*mm" length="20*mm" material="G4_Si" vis="VXDVis"/>
<flex vis="GrayVis">
<slice thickness="12.5*um" material="Kapton"/>
<slice thickness="10.0*um" material="G4_Al"/>
</flex>
<electronics thickness="100*um" width="5*mm" material="Kapton" vis="RedVis"/>
<readout thickness="100*um" width="5*mm" material="Kapton" vis="GreenVis"/>
<driver thickness="100*um" width="8*mm" material="Kapton" vis="BlueVis"/>
</module>
<module type="Module5A" radius="39.6*mm" nx="30" ny="6" xdead="VXD_sensor_xgap" ydead="VXD_sensor_ygap" material="G4_Si">
<sensor thickness="50*um" width="22*mm" length="20*mm" material="G4_Si" vis="VXDVis"/>
<flex vis="GrayVis">
<slice thickness="12.5*um" material="Kapton"/>
<slice thickness="10.0*um" material="G4_Al"/>
</flex>
<electronics thickness="100*um" width="5*mm" material="Kapton" vis="RedVis"/>
<readout thickness="100*um" width="5*mm" material="Kapton" vis="GreenVis"/>
<driver thickness="100*um" width="8*mm" material="Kapton" vis="BlueVis"/>
</module>
<module type="Module5B" radius="40.1*mm" nx="30" ny="6" xdead="VXD_sensor_xgap" ydead="VXD_sensor_ygap" material="G4_Si">
<sensor thickness="50*um" width="22*mm" length="20*mm" material="G4_Si" vis="VXDVis"/>
<flex vis="GrayVis">
<slice thickness="12.5*um" material="Kapton"/>
<slice thickness="10.0*um" material="G4_Al"/>
</flex>
<electronics thickness="100*um" width="5*mm" material="Kapton" vis="RedVis"/>
<readout thickness="100*um" width="5*mm" material="Kapton" vis="GreenVis"/>
<driver thickness="100*um" width="8*mm" material="Kapton" vis="BlueVis"/>
</module>
<module type="Module6A" radius="40.6*mm" nx="30" ny="6" xdead="VXD_sensor_xgap" ydead="VXD_sensor_ygap" material="G4_Si">
<sensor thickness="50*um" width="23*mm" length="20*mm" material="G4_Si" vis="VXDVis"/>
<flex vis="GrayVis">
<slice thickness="12.5*um" material="Kapton"/>
<slice thickness="10.0*um" material="G4_Al"/>
</flex>
<electronics thickness="100*um" width="5*mm" material="Kapton" vis="RedVis"/>
<readout thickness="100*um" width="5*mm" material="Kapton" vis="GreenVis"/>
<driver thickness="100*um" width="8*mm" material="Kapton" vis="BlueVis"/>
</module>
<module type="Module6B" radius="41.1*mm" nx="30" ny="6" xdead="VXD_sensor_xgap" ydead="VXD_sensor_ygap" material="G4_Si">
<sensor thickness="50*um" width="23*mm" length="20*mm" material="G4_Si" vis="VXDVis"/>
<flex vis="GrayVis">
<slice thickness="12.5*um" material="Kapton"/>
<slice thickness="10.0*um" material="G4_Al"/>
</flex>
<electronics thickness="100*um" width="5*mm" material="Kapton" vis="RedVis"/>
<readout thickness="100*um" width="5*mm" material="Kapton" vis="GreenVis"/>
<driver thickness="100*um" width="8*mm" material="Kapton" vis="BlueVis"/>
</module>
</modules>
<layer id="0" phi0="0">
<module type="Module1A" offset="0" phi="0" z="0"/>
<module type="Module1B" offset="0" phi="180*degree" z="0"/>
</layer>
<layer id="1" phi0="30*degree" length="0">
<module type="Module2A" offset="0" phi="0" z="0"/>
<module type="Module2B" offset="0" phi="180*degree" z="0"/>
</layer>
<layer id="2" phi0="60*degree" length="0">
<module type="Module3A" offset="0" phi="0" z="0"/>
<module type="Module3B" offset="0" phi="180*degree" z="0"/>
</layer>
<layer id="3" phi0="90*degree" length="0">
<module type="Module4A" offset="0" phi="0" z="0"/>
<module type="Module4B" offset="0" phi="180*degree" z="0"/>
</layer>
<layer id="4" phi0="120*degree" length="0">
<module type="Module5A" offset="0" phi="0" z="0"/>
<module type="Module5B" offset="0" phi="180*degree" z="0"/>
</layer>
<layer id="5" phi0="150*degree" length="0">
<module type="Module6A" offset="0" phi="0" z="0"/>
<module type="Module6B" offset="0" phi="180*degree" z="0"/>
</layer>
</detector>
</detectors>
<readouts>
<readout name="VXDCollection">
<!--segmentation type="CartesianGridYZ" grid_size_y="0.016*mm" grid_size_z="0.016*mm"/>
<id>system:5,side:-2,layer:9,module:8,active:8,sensor:8,y:-12,z:-12</id-->
<id>system:5,side:-2,layer:9,module:8,active:8,sensor:8</id>
</readout>
</readouts>
</lccdd>
<lccdd>
<define>
<constant name="Yoke_cells_size" value="30*mm"/>
</define>
<detectors>
<detector name="YokeBarrel" type="DD4hep_PolyhedraBarrelCalorimeter2" id="DetID_YOKE" readout="MuonBarrelCollection" vis="SeeThrough" gap="10*mm" >
<comment>Yoke Barrel</comment>
<type_flags type=" DetType_CALORIMETER + DetType_BARREL + DetType_MUON " />
<dimensions numsides="Yoke_barrel_symmetry" z="Yoke_barrel_half_length*2" rmin="Yoke_barrel_inner_radius"/>
<staves vis="YOKEVis"/>
<layer repeat="1" vis="SeeThrough">
<slice material="stainless_steel" thickness="100*mm" vis="YOKEVis"/>
</layer>
<layer repeat="5" vis="SeeThrough">
<slice material="Air" thickness="0.5*mm" vis="SeeThrough" />
<slice material="G4_Al" thickness="0.5*mm" vis="SeeThrough" />
<slice material="FloatGlass" thickness="20*mm" vis="GrayVis" />
<slice material="G4_Al" thickness="1.0*mm" vis="SeeThrough" />
<slice material="FloatGlass" thickness="20*mm" vis="GrayVis" />
<slice material="G4_Al" thickness="0.5*mm" vis="SeeThrough" />
<slice material="Air" thickness="7.5*mm" vis="SeeThrough" />
<slice material="stainless_steel" thickness="100*mm" vis="YOKEVis"/>
</layer>
<layer repeat="1" vis="SeeThrough">
<slice material="Air" thickness="0.5*mm" vis="SeeThrough" />
<slice material="G4_Al" thickness="0.5*mm" vis="SeeThrough" />
<slice material="FloatGlass" thickness="20*mm" vis="GrayVis" />
<slice material="G4_Al" thickness="1.0*mm" vis="SeeThrough" />
<slice material="FloatGlass" thickness="20*mm" vis="GrayVis" />
<slice material="G4_Al" thickness="0.5*mm" vis="SeeThrough" />
<slice material="Air" thickness="7.5*mm" vis="SeeThrough" />
<slice material="stainless_steel" thickness="150*mm" vis="YOKEVis"/>
</layer>
<layer repeat="2" vis="SeeThrough">
<slice material="Air" thickness="0.5*mm" vis="SeeThrough" />
<slice material="G4_Al" thickness="0.5*mm" vis="SeeThrough" />
<slice material="FloatGlass" thickness="20*mm" vis="GrayVis" />
<slice material="G4_Al" thickness="1.0*mm" vis="SeeThrough" />
<slice material="FloatGlass" thickness="20*mm" vis="GrayVis" />
<slice material="G4_Al" thickness="0.5*mm" vis="SeeThrough" />
<slice material="Air" thickness="7.5*mm" vis="SeeThrough" />
<slice material="stainless_steel" thickness="300*mm" vis="YOKEVis"/>
</layer>
</detector>
</detectors>
<readouts>
<readout name="MuonBarrelCollection">
<!--segmentation type="TiledLayerGridXY" grid_size_x="Yoke_cells_size" grid_size_y="Yoke_cells_size"/-->
<!--id>system:5,module:3,stave:4,tower:5,layer:6,slice:4,x:32:-16,y:-16</id-->
<segmentation type="CartesianGridXY" grid_size_x="Yoke_cells_size" grid_size_y="Yoke_cells_size"/>
<id>system:5,barrel:1,module:3,stave:4,layer:6,slice:4,x:32:-16,y:-16</id>
</readout>
</readouts>
</lccdd>
<lccdd>
<define>
<constant name="Hcal_Yoke_plug_gap" value="25*mm"/>
<constant name="YokeEndcapPlug_symmetry" value="Yoke_endcap_outer_symmetry"/>
</define>
<detectors>
<detector name="YokeEndcap" type="DD4hep_PolyhedraEndcapCalorimeter2" id="DetID_YOKE_ENDCAP" readout="MuonEndcapsCollection" vis="YOKEVis" insideTrackingVolume="false" >
<envelope>
<shape type="Assembly"/>
</envelope>
<type_flags type=" DetType_CALORIMETER + DetType_ENDCAP + DetType_MUON " />
<dimensions numsides="Yoke_endcap_outer_symmetry" rmin="Yoke_endcap_inner_radius" rmax="Yoke_endcap_outer_radius/cos(pi/Yoke_endcap_outer_symmetry)" zmin="Yoke_endcap_zmin" />
<layer repeat="1" vis="SeeThrough">
<slice material="stainless_steel" thickness="100.0*mm" vis="YOKEVis" />
</layer>
<layer repeat="5" vis="SeeThrough">
<slice material="Air" thickness="0.5*mm" vis="SeeThrough" />
<slice material="G4_Al" thickness="0.5*mm" vis="SeeThrough" />
<slice material="FloatGlass" thickness="20*mm" vis="GrayVis" />
<slice material="G4_Al" thickness="1.0*mm" vis="SeeThrough" />
<slice material="FloatGlass" thickness="20*mm" vis="GrayVis" />
<slice material="G4_Al" thickness="0.5*mm" vis="SeeThrough" />
<slice material="Air" thickness="7.5*mm" vis="SeeThrough" />
<slice material="stainless_steel" thickness="100*mm" vis="YOKEVis"/>
</layer>
<layer repeat="1" vis="SeeThrough">
<slice material="Air" thickness="0.5*mm" vis="SeeThrough" />
<slice material="G4_Al" thickness="0.5*mm" vis="SeeThrough" />
<slice material="FloatGlass" thickness="20*mm" vis="GrayVis" />
<slice material="G4_Al" thickness="1.0*mm" vis="SeeThrough" />
<slice material="FloatGlass" thickness="20*mm" vis="GrayVis" />
<slice material="G4_Al" thickness="0.5*mm" vis="SeeThrough" />
<slice material="Air" thickness="7.5*mm" vis="SeeThrough" />
<slice material="stainless_steel" thickness="150*mm" vis="YOKEVis"/>
</layer>
<layer repeat="2" vis="SeeThrough">
<slice material="Air" thickness="0.5*mm" vis="SeeThrough" />
<slice material="G4_Al" thickness="0.5*mm" vis="SeeThrough" />
<slice material="FloatGlass" thickness="20*mm" vis="GrayVis" />
<slice material="G4_Al" thickness="1.0*mm" vis="SeeThrough" />
<slice material="FloatGlass" thickness="20*mm" vis="GrayVis" />
<slice material="G4_Al" thickness="0.5*mm" vis="SeeThrough" />
<slice material="Air" thickness="7.5*mm" vis="SeeThrough" />
<slice material="stainless_steel" thickness="300*mm" vis="YOKEVis"/>
</layer>
</detector>
</detectors>
<readouts>
<readout name="MuonEndcapsCollection">
<segmentation type="CartesianGridXY" grid_size_x="Yoke_cells_size" grid_size_y="Yoke_cells_size"/>
<id>system:5,side:2,module:3,stave:4,barrel:3,layer:6,slice:4,x:32:-16,y:-16</id>
</readout>
</readouts>
</lccdd>