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 1416 additions and 117 deletions
...@@ -2,43 +2,102 @@ ...@@ -2,43 +2,102 @@
# Package: DetCRD # Package: DetCRD
# CEPC Reference Detector (CRD) # CEPC Reference Detector (CRD)
################################################################################ ################################################################################
gaudi_subdir(DetCRD v0r0)
gaudi_depends_on_subdirs(GaudiKernel) gaudi_add_module(DetCRD
SOURCES src/Calorimeter/CRDEcal_v01.cpp
src/Calorimeter/LongCrystalBarBarrelCalorimeter32Polygon_v01.cpp
src/Calorimeter/LongCrystalBarBarrelCalorimeter32Polygon_v02.cpp
src/Calorimeter/LongCrystalBarEndcapCalorimeter_v01.cpp
src/Calorimeter/LongCrystalBarEndcapCalorimeter_v02.cpp
src/Calorimeter/LongCrystalBarEndcapCalorimeter_v03.cpp
src/Calorimeter/LongCrystalBarEndcapCalorimeter_v04.cpp
src/Calorimeter/CRDEcal_Short_v02.cpp
src/Calorimeter/CRDEcal_Endcap_Short_v01.cpp
src/Calorimeter/RotatedPolyhedraBarrelCalorimeter_v01_geo.cpp
src/Calorimeter/RotatedCrystalCalorimeter_v01_geo.cpp
src/Calorimeter/Lumical_v01_geo.cpp
src/Other/Lumical_v01_geo_beampipe.cpp
src/Other/CRDBeamPipe_v01_geo.cpp
src/Muon/Muon_Barrel_v01_04.cpp
src/Muon/Muon_Endcap_v01_02.cpp
src/Tracker/SiTrackerSkewRing_v01_geo.cpp
src/Tracker/ITK_EndCap_v01.cpp
src/Tracker/SiTrackerStitching_v01_geo.cpp
src/Tracker/SiTrackerStaggeredLadder_v01_geo.cpp
src/Tracker/SiTrackerStaggeredLadder_v02_geo.cpp
src/Tracker/SiTrackerStaggeredLadder_v03_geo.cpp
src/Tracker/SiTrackerComposite_v01_geo.cpp
src/Tracker/SiTrackerComposite_v02_geo.cpp
src/Tracker/SiTrackerComposite_v03_geo.cpp
src/Tracker/TPC_Simple_o1_v01.cpp
src/Tracker/TPC_ModularEndcap_o1_v01.cpp
src/Tracker/SiTracker_itkbarrel_v01_geo.cpp
src/Tracker/SiTracker_itkbarrel_v02_geo.cpp
src/Tracker/SiTracker_otkbarrel_v01_geo.cpp
src/Tracker/SiTracker_otkbarrel_v02_geo.cpp
src/Tracker/SiTracker_otkendcap_v02_geo.cpp
src/Tracker/SiTracker_otkendcap_v01_geo.cpp
src/Tracker/SiTracker_otkbarrel_v02_geo.cpp
src/Tracker/SiTracker_otkendcap_v02_geo.cpp
src/Other/ParaffinEndcap_v01.cpp
src/Other/ConcreteWall_v01.cpp
LINK ${DD4hep_COMPONENT_LIBRARIES}
DetIdentifier
)
find_package(DD4hep COMPONENTS DDRec DDG4 DDParsers REQUIRED) set(LIBRARY_OUTPUT_PATH ${CMAKE_LIBRARY_OUTPUT_DIRECTORY})
# find_package(DD4hep) message(STATUS "LIBRARY_OUTPUT_PATH -> ${LIBRARY_OUTPUT_PATH}")
find_package(Geant4) dd4hep_generate_rootmap(DetCRD)
include(${Geant4_USE_FILE})
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${DD4hep_ROOT}/cmake ) install(TARGETS DetCRD
include( DD4hep ) EXPORT CEPCSWTargets
RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" COMPONENT bin
LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}" COMPONENT shlib
COMPONENT dev)
find_package(ROOT COMPONENTS MathCore GenVector Geom REQUIRED) ################################################################################
# Add tests
################################################################################
install(DIRECTORY ${CMAKE_CURRENT_LIST_DIR}/compact DESTINATION Detector/DetCRD) foreach(detoption TDR_o1_v01 TDR_o1_v02)
add_test(
NAME Test_${detoption}_Sim
COMMAND gaudirun.py Detector/DetCRD/scripts/${detoption}/sim.py
WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}
)
set(DetCRD_src add_test(
src/Calorimeter/CRDEcal.cpp NAME Test_${detoption}_Rec
src/Other/CRDBeamPipe_v01_geo.cpp COMMAND gaudirun.py Detector/DetCRD/scripts/${detoption}/tracking.py
) WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}
)
gaudi_add_module(DetCRD add_test(
${DetCRD_src} NAME Test_${detoption}_DD4hep2TGeo
INCLUDE_DIRS COMMAND geoConverter -compact2tgeo
# DD4hep -input Detector/DetCRD/compact/${detoption}/${detoption}.xml
# ROOT -output ${detoption}.tgeo.root
# Geant4 WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}
src/include )
LINK_LIBRARIES endforeach()
# GaudiKernel
DD4hep
${DD4hep_COMPONENT_LIBRARIES}
# ROOT
# Geant4
)
set(LIBRARY_OUTPUT_PATH ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}) add_test(
message(STATUS "LIBRARY_OUTPUT_PATH -> ${LIBRARY_OUTPUT_PATH}") NAME Test_TDR_o1_v01_CaloDigi
dd4hep_generate_rootmap(DetCRD) COMMAND gaudirun.py Detector/DetCRD/scripts/TDR_o1_v01/calodigi.py
WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}
)
add_test(
NAME Test_TDR_o1_v01_PFA
COMMAND gaudirun.py Detector/DetCRD/scripts/TDR_o1_v01/rec.py
WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}
)
foreach(detoption TDR_o1_v01)
add_test(
NAME Test_${detoption}_Geo
COMMAND checkOverlaps -c Detector/DetCRD/compact/${detoption}/${detoption}.xml -t 0.001
WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}
)
endforeach()
...@@ -10,56 +10,190 @@ ...@@ -10,56 +10,190 @@
<define> <define>
<constant name="ForkAsymThickness" value="BeamPipe_Dnstream_inner_radius+BeamPipe_Cu_thickness-BeamPipe_Upstream_inner_radius"/> <constant name="ForkAsymThickness" value="BeamPipe_Dnstream_inner_radius+BeamPipe_Cu_thickness-BeamPipe_Upstream_inner_radius"/>
<constant name="BeamPipe_QD0_zmax" value="3950*mm"/>
<constant name="BeamPipe_QF1_zmin" value="4450*mm"/>
<constant name="BeamPipe_QF1_zmax" value="5910*mm"/>
<constant name="BeamPipe_QF1_inner_radius" value="20.5*mm"/>
<constant name="BeamPipe_Iron_thickness" value="2.5*mm"/>
</define> </define>
<detectors> <detectors>
<detector name="BeamPipe" type="DD4hep_CRDBeamPipe_v01" vis="BeamPipeVis"> <detector name="BeamPipe" type="CRDBeamPipe_v01" vis="VacVis">
<parameter crossingangle="CrossingAngle" /> <parameter crossingangle="CrossingAngle" />
<envelope vis="BlueVis"> <envelope>
<shape type="Assembly"/> <shape type="Assembly"/>
</envelope> </envelope>
<section type ="Center" name="IPInnerTube" zStart="0" zEnd="BeamPipe_CentralBe_zmax" rStart="0"> <section type ="Center" name="IPInnerTube" zStart="0" zEnd="BeamPipe_CentralBe_zmax" rStart="0">
<layer material="beam" thickness="BeamPipe_Central_inner_radius"/> <layer material="beam" thickness="BeamPipe_Central_inner_radius" vis="VacVis"/>
<layer material="G4_Be" thickness="BeamPipe_Be_inner_thickness"/> <layer material="G4_Be" thickness="BeamPipe_Be_inner_thickness" vis="TubeVis"/>
<layer material="G4_PARAFFIN" thickness="BeamPipe_Cooling_thickness"/> <layer material="G4_PARAFFIN" thickness="BeamPipe_Cooling_thickness" vis="GrayVis"/>
<layer material="G4_Be" thickness="BeamPipe_Be_outer_thickness"/> <layer material="G4_Be" thickness="BeamPipe_Be_outer_thickness" vis="TubeVis"/>
</section> </section>
<section type="Center" name="IPAl" zStart="BeamPipe_CentralBe_zmax" zEnd="BeamPipe_CentralAl_zmax" rStart="0"> <section type="Center" name="IPAl" zStart="BeamPipe_CentralBe_zmax" zEnd="BeamPipe_CentralAl_zmax" rStart="0">
<layer material="beam" thickness="BeamPipe_Central_inner_radius"/> <layer material="beam" thickness="BeamPipe_Central_inner_radius" vis="VacVis"/>
<layer material="G4_Al" thickness="BeamPipe_Al_thickness"/> <layer material="G4_Al" thickness="BeamPipe_Al_thickness" vis="TubeVis"/>
</section> </section>
<section type="Center" name="ExpandPipe" zStart="BeamPipe_CentralAl_zmax" zEnd="BeamPipe_ConeAl_zmax" rStart="0"> <section type="Center" name="ExpandPipe" zStart="BeamPipe_CentralAl_zmax" zEnd="BeamPipe_ConeAl_zmax" rStart="0">
<layer material="beam" thickness="BeamPipe_Central_inner_radius" thicknessEnd="BeamPipe_Expanded_inner_radius"/> <layer material="beam" thickness="BeamPipe_Central_inner_radius" thicknessEnd="BeamPipe_Expanded_inner_radius" vis="VacVis"/>
<layer material="G4_Al" thickness="BeamPipe_Al_thickness" thicknessEnd="BeamPipe_Al_thickness"/> <layer material="G4_Al" thickness="BeamPipe_Al_thickness" thicknessEnd="BeamPipe_Al_thickness" vis="TubeVis"/>
</section> </section>
<section type="Center" name="ThickPipe" zStart="BeamPipe_ConeAl_zmax" zEnd="BeamPipe_LinkerAl_zmax" rStart="0"> <section type="Center" name="ThickPipe" zStart="BeamPipe_ConeAl_zmax" zEnd="BeamPipe_LinkerAl_zmax" rStart="0">
<layer material="beam" thickness="BeamPipe_Expanded_inner_radius"/> <layer material="beam" thickness="BeamPipe_Expanded_inner_radius" vis="VacVis"/>
<layer material="G4_Al" thickness="BeamPipe_Al_thickness"/> <layer material="G4_Al" thickness="BeamPipe_Al_thickness" vis="TubeVis"/>
</section> </section>
<section type="CenterSide" name="OutsideLink" zStart="BeamPipe_LinkerAl_zmax" zEnd="BeamPipe_LinkerCu_zmax" rStart="0"> <section type="CenterSide" name="OutsideLink" zStart="BeamPipe_LinkerAl_zmax" zEnd="BeamPipe_LinkerCu_zmax" rStart="0">
<layer material="beam" thickness="BeamPipe_Expanded_inner_radius"/> <layer material="beam" thickness="BeamPipe_Expanded_inner_radius" vis="VacVis"/>
<layer material="G4_Cu" thickness="BeamPipe_Cu_thickness"/> <layer material="G4_Cu" thickness="BeamPipe_Cu_thickness" vis="TubeVis"/>
</section> </section>
<section type="FatWaist" name="Waist" zStart="BeamPipe_LinkerCu_zmax" zEnd="BeamPipe_Waist_zmax" rStart="BeamPipe_Expanded_inner_radius" size="BeamPipe_Crotch_hole_height"> <section type="FatWaist" name="Waist" zStart="BeamPipe_LinkerCu_zmax" zEnd="BeamPipe_Waist_zmax" rStart="BeamPipe_Expanded_inner_radius" size="BeamPipe_Crotch_hole_height">
<layer material="G4_Cu" thickness="BeamPipe_Cu_thickness"/> <layer material="G4_Cu" thickness="BeamPipe_Cu_thickness" vis="TubeVis"/>
</section> </section>
<!--CrotchAsymUp&CrotchAsymDn not work to fix, because of problem on convert from TGeo to Geant4--> <section type="CrotchAsymUp" name="Fork" zStart="BeamPipe_Waist_zmax" zEnd="BeamPipe_Crotch_zmax"
<!--section type="CrotchAsymUp" name="Fork" zStart="BeamPipe_Waist_zmax" zEnd="BeamPipe_Crotch_zmax"
rStart="BeamPipe_Expanded_inner_radius" rEnd="BeamPipe_Upstream_inner_radius" size="BeamPipe_Crotch_hole_height"> rStart="BeamPipe_Expanded_inner_radius" rEnd="BeamPipe_Upstream_inner_radius" size="BeamPipe_Crotch_hole_height">
<layer material="G4_Cu" thickness="BeamPipe_Cu_thickness" thicknessEnd="ForkAsymThickness"/> <layer material="G4_Cu" thickness="BeamPipe_Cu_thickness" thicknessEnd="ForkAsymThickness" vis="TubeVis"/>
</section> </section>
<section type="CrotchAsymDn" name="Fork" zStart="BeamPipe_Waist_zmax" zEnd="BeamPipe_Crotch_zmax" <section type="CrotchAsymDn" name="Fork" zStart="BeamPipe_Waist_zmax" zEnd="BeamPipe_Crotch_zmax"
rStart="BeamPipe_Expanded_inner_radius" rEnd="BeamPipe_Dnstream_inner_radius" size="BeamPipe_Crotch_hole_height"> rStart="BeamPipe_Expanded_inner_radius" rEnd="BeamPipe_Dnstream_inner_radius" size="BeamPipe_Crotch_hole_height">
<layer material="G4_Cu" thickness="BeamPipe_Cu_thickness"/> <layer material="G4_Cu" thickness="BeamPipe_Cu_thickness" vis="TubeVis"/>
</section--> </section>
<section type="FlareLegUp" name="FirstDoublePipe" zStart="BeamPipe_Crotch_zmax" zEnd="BeamPipe_FirstSeparated_zmax" rStart="0"> <section type="FlareLegUp" name="FirstDoublePipe" zStart="BeamPipe_Crotch_zmax" zEnd="BeamPipe_FirstSeparated_zmax" rStart="0">
<layer material="beam" thickness="BeamPipe_Upstream_inner_radius" thicknessEnd="BeamPipe_Dnstream_inner_radius"/> <layer material="beam" thickness="BeamPipe_Upstream_inner_radius" thicknessEnd="BeamPipe_Dnstream_inner_radius" vis="VacVis"/>
<layer material="G4_Cu" thickness="ForkAsymThickness" thicknessEnd="BeamPipe_Cu_thickness"/> <layer material="G4_Cu" thickness="ForkAsymThickness" thicknessEnd="BeamPipe_Cu_thickness" vis="TubeVis"/>
</section> </section>
<section type="FlareLegDn" name="FirstDoublePipe" zStart="BeamPipe_Crotch_zmax" zEnd="BeamPipe_FirstSeparated_zmax" rStart="0"> <section type="FlareLegDn" name="FirstDoublePipe" zStart="BeamPipe_Crotch_zmax" zEnd="BeamPipe_FirstSeparated_zmax" rStart="0">
<layer material="beam" thickness="BeamPipe_Dnstream_inner_radius"/> <layer material="beam" thickness="BeamPipe_Dnstream_inner_radius" vis="VacVis"/>
<layer material="G4_Cu" thickness="BeamPipe_Cu_thickness"/> <layer material="G4_Cu" thickness="BeamPipe_Cu_thickness" vis="TubeVis"/>
</section>
<section type="Legs" name="QD0Link" zStart="BeamPipe_FirstSeparated_zmax" zEnd="BeamPipe_SecondSeparated_zmax" rStart="0">
<layer material="beam" thickness="BeamPipe_Dnstream_inner_radius" vis="VacVis"/>
<layer material="stainless_steel" thickness="BeamPipe_Iron_thickness" vis="TubeVis"/>
</section>
<section type="Legs" name="QD0" zStart="BeamPipe_SecondSeparated_zmax" zEnd="BeamPipe_QD0_zmax" rStart="0">
<layer material="beam" thickness="BeamPipe_Dnstream_inner_radius" vis="VacVis"/>
<layer material="stainless_steel" thickness="BeamPipe_Iron_thickness" vis="TubeVis"/>
<layer material="G4_Cu" thickness="3.5*mm" vis="TubeVis"/>
<layer material="superconductor" thickness="6.0*mm" vis="MagentaVis"/>
<layer material="stainless_steel" thickness="8.0*mm" vis="ShellVis"/>
</section>
<section type="Legs" name="QF1Link" zStart="BeamPipe_QD0_zmax" zEnd="BeamPipe_QF1_zmin" rStart="0">
<layer material="beam" thickness="BeamPipe_Dnstream_inner_radius" thicknessEnd="BeamPipe_QF1_inner_radius" vis="VacVis"/>
<layer material="stainless_steel" thickness="BeamPipe_Iron_thickness" vis="TubeVis"/>
</section>
<section type="Legs" name="QF1" zStart="BeamPipe_QF1_zmin" zEnd="BeamPipe_QF1_zmax" rStart="0">
<layer material="beam" thickness="BeamPipe_QF1_inner_radius" vis="VacVis"/>
<layer material="stainless_steel" thickness="BeamPipe_Iron_thickness" vis="TubeVis"/>
<layer material="G4_Cu" thickness="3.0*mm" vis="TubeVis"/>
<layer material="superconductor" thickness="6.0*mm" vis="MagentaVis"/>
<layer material="stainless_steel" thickness="8.0*mm" vis="ShellVis"/>
</section>
<section type="Legs" name="Farest" zStart="BeamPipe_QF1_zmax" zEnd="BeamPipe_end_z" rStart="0">
<layer material="beam" thickness="BeamPipe_QF1_inner_radius" vis="VacVis"/>
<layer material="stainless_steel" thickness="BeamPipe_Iron_thickness" vis="TubeVis"/>
</section>
<!-- Magnets and their cooling, support -->
<section type="CenterSide" name="Magnet_1" zStart="1160*mm" zEnd="1900*mm" rStart="90*mm">
<layer material="superconductor" thickness="20*mm" vis="MagentaVis"/>
</section>
<section type="CenterSide" name="Magnet_2" zStart="1930*mm" zEnd="3964*mm" rStart="120*mm">
<layer material="superconductor" thickness="10*mm" vis="MagentaVis"/>
</section>
<section type="CenterSide" name="Magnet_3" zStart="3970*mm" zEnd="7000*mm" rStart="185*mm">
<layer material="superconductor" thickness="10*mm" vis="MagentaVis"/>
</section>
<section type="CenterSide" name="MagnetShell_1" zStart="970*mm" zEnd="1110*mm" rStart="31*mm">
<layer material="stainless_steel" thickness="1.5*mm" vis="ShellVis"/>
</section>
<section type="CenterSide" name="MagnetShell_2" zStart="1110*mm" zEnd="1115*mm" rStart="50.0*mm">
<layer material="stainless_steel" thickness="91.25*mm" vis="ShellVis"/>
</section>
<section type="CenterSide" name="MagnetShell_3" zStart="1115*mm" zEnd="1900*mm" rStart="130.75*mm" rEnd="175*mm">
<layer material="stainless_steel" thickness="10.5*mm" thicknessEnd="65*mm" vis="ShellVis"/>
</section>
<section type="CenterSide" name="MagnetShell_4" zStart="1900*mm" zEnd="3800*mm" rStart="175*mm">
<layer material="stainless_steel" thickness="65*mm" vis="ShellVis"/>
</section>
<section type="CenterSide" name="MagnetShell_5" zStart="3800*mm" zEnd="3910*mm" rStart="175*mm">
<layer material="stainless_steel" thickness="135*mm" vis="ShellVis"/>
</section>
<section type="CenterSide" name="MagnetShell_6" zStart="3910*mm" zEnd="7160*mm" rStart="240*mm">
<layer material="stainless_steel" thickness="70*mm" vis="ShellVis"/>
</section>
<section type="CenterSide" name="MagnetSupport_1" zStart="1130*mm" zEnd="1135*mm" rStart="75*mm">
<layer material="stainless_steel" thickness="50*mm" vis="ShellVis"/>
</section>
<section type="CenterSide" name="MagnetSupport_2i" zStart="1135*mm" zEnd="1925*mm" rStart="75*mm">
<layer material="stainless_steel" thickness="5*mm" vis="ShellVis"/>
</section>
<section type="CenterSide" name="MagnetSupport_2o" zStart="1135*mm" zEnd="1900*mm" rStart="120*mm">
<layer material="stainless_steel" thickness="5*mm" vis="ShellVis"/>
</section>
<section type="CenterSide" name="MagnetSupport_3l" zStart="1900*mm" zEnd="1905*mm" rStart="120*mm">
<layer material="stainless_steel" thickness="25*mm" vis="ShellVis"/>
</section>
<section type="CenterSide" name="MagnetSupport_3r" zStart="1925*mm" zEnd="1930*mm" rStart="75*mm">
<layer material="stainless_steel" thickness="35*mm" vis="ShellVis"/>
</section>
<section type="CenterSide" name="MagnetSupport_4i" zStart="1930*mm" zEnd="4000*mm" rStart="105*mm">
<layer material="stainless_steel" thickness="5*mm" vis="ShellVis"/>
</section>
<section type="CenterSide" name="MagnetSupport_4o" zStart="1905*mm" zEnd="3940*mm" rStart="140*mm">
<layer material="stainless_steel" thickness="5*mm" vis="ShellVis"/>
</section>
<section type="CenterSide" name="MagnetSupport_5l" zStart="3940*mm" zEnd="3945*mm" rStart="140*mm">
<layer material="stainless_steel" thickness="70*mm" vis="ShellVis"/>
</section>
<section type="CenterSide" name="MagnetSupport_5r" zStart="4000*mm" zEnd="4005*mm" rStart="105*mm">
<layer material="stainless_steel" thickness="70*mm" vis="ShellVis"/>
</section>
<section type="CenterSide" name="MagnetSupport_6i" zStart="4005*mm" zEnd="7050*mm" rStart="170*mm">
<layer material="stainless_steel" thickness="5*mm" vis="ShellVis"/>
</section>
<section type="CenterSide" name="MagnetSupport_6o" zStart="3945*mm" zEnd="7050*mm" rStart="205*mm">
<layer material="stainless_steel" thickness="5*mm" vis="ShellVis"/>
</section>
<section type="CenterSide" name="MagnetSupport_7" zStart="7050*mm" zEnd="7055*mm" rStart="170*mm">
<layer material="stainless_steel" thickness="40*mm" vis="ShellVis"/>
</section>
<section type="CenterSide" name="MagnetCooling_1l" zStart="1135*mm" zEnd="1160*mm" rStart="80*mm">
<layer material="lN2" thickness="40*mm" vis="BlueVis"/>
</section>
<section type="CenterSide" name="MagnetCooling_1i" zStart="1160*mm" zEnd="1900*mm" rStart="80*mm">
<layer material="lN2" thickness="10*mm" vis="BlueVis"/>
</section>
<section type="CenterSide" name="MagnetCooling_1o" zStart="1160*mm" zEnd="1900*mm" rStart="110*mm">
<layer material="lN2" thickness="10*mm" vis="BlueVis"/>
</section>
<section type="CenterSide" name="MagnetCooling_1r" zStart="1900*mm" zEnd="1925*mm" rStart="80*mm">
<layer material="lN2" thickness="40*mm" vis="BlueVis"/>
</section>
<section type="CenterSide" name="MagnetCooling_2l" zStart="1905*mm" zEnd="1930*mm" rStart="120*mm">
<layer material="lN2" thickness="20*mm" vis="BlueVis"/>
</section>
<section type="CenterSide" name="MagnetCooling_2i" zStart="1925*mm" zEnd="3964*mm" rStart="110*mm">
<layer material="lN2" thickness="10*mm" vis="BlueVis"/>
</section>
<section type="CenterSide" name="MagnetCooling_2o" zStart="1930*mm" zEnd="3945*mm" rStart="130*mm">
<layer material="lN2" thickness="10*mm" vis="BlueVis"/>
</section>
<section type="CenterSide" name="MagnetCooling_2r1" zStart="3964*mm" zEnd="4000*mm" rStart="110*mm">
<layer material="lN2" thickness="65*mm" vis="BlueVis"/>
</section>
<section type="CenterSide" name="MagnetCooling_2r2" zStart="3945*mm" zEnd="3964*mm" rStart="130*mm">
<layer material="lN2" thickness="45*mm" vis="BlueVis"/>
</section>
<section type="CenterSide" name="MagnetCooling_3l" zStart="3945*mm" zEnd="3970*mm" rStart="175*mm">
<layer material="lN2" thickness="30*mm" vis="BlueVis"/>
</section>
<section type="CenterSide" name="MagnetCooling_3i" zStart="3970*mm" zEnd="7000*mm" rStart="175*mm">
<layer material="lN2" thickness="10*mm" vis="BlueVis"/>
</section>
<section type="CenterSide" name="MagnetCooling_3o" zStart="3970*mm" zEnd="7000*mm" rStart="195*mm">
<layer material="lN2" thickness="10*mm" vis="BlueVis"/>
</section>
<section type="CenterSide" name="MagnetCooling_3r" zStart="7000*mm" zEnd="7050*mm" rStart="175*mm">
<layer material="lN2" thickness="30*mm" vis="BlueVis"/>
</section> </section>
</detector> </detector>
</detectors> </detectors>
......
<lccdd>
<info name="CRD" title="CRD Beam pipe" author="Chengdong Fu" url="no" status="development" version="1.0">
<comment>A beampipe for CRD</comment>
</info>
<display>
<vis name="TubeVis" alpha="0.1" r="1.0" g="0.7" b="0.5" showDaughters="true" visible="true"/>
<vis name="VacVis" alpha="1.0" r="0.0" g="0.0" b="0.0" showDaughters="true" visible="false"/>
</display>
<define>
<!--only needed for asymetry double pipe-->
<!--constant name="ForkAsymThickness" value="BeamPipe_Dnstream_inner_radius+BeamPipe_Cu_thickness-BeamPipe_Upstream_inner_radius"/-->
<constant name="BeamPipe_QD0_zmax" value="3950*mm"/>
<constant name="BeamPipe_QF1_zmin" value="4450*mm"/>
<constant name="BeamPipe_QF1_zmax" value="5910*mm"/>
<constant name="BeamPipe_QF1_inner_radius" value="20.5*mm"/>
<constant name="BeamPipe_Iron_thickness" value="2.5*mm"/>
</define>
<detectors>
<detector name="BeamPipe" type="CRDBeamPipe_v01" vis="VacVis">
<parameter crossingangle="CrossingAngle" />
<envelope>
<shape type="Assembly"/>
</envelope>
<section type ="Center" name="IPInnerTube" zStart="0" zEnd="BeamPipe_CentralBe_zmax" rStart="0">
<layer material="beam" thickness="BeamPipe_Central_inner_radius" vis="VacVis"/>
<layer material="G4_Be" thickness="BeamPipe_Be_inner_thickness" vis="TubeVis"/>
<layer material="G4_PARAFFIN" thickness="BeamPipe_Cooling_thickness" vis="GrayVis"/>
<layer material="G4_Be" thickness="BeamPipe_Be_outer_thickness" vis="TubeVis"/>
</section>
<section type="Center" name="IPAl" zStart="BeamPipe_CentralBe_zmax" zEnd="BeamPipe_CentralAl_zmax" rStart="0">
<layer material="beam" thickness="BeamPipe_Central_inner_radius" vis="VacVis"/>
<layer material="G4_Al" thickness="BeamPipe_Al_thickness" vis="TubeVis"/>
</section>
<section type="Waist" name="Waist1st" zStart="BeamPipe_CentralAl_zmax" zEnd="BeamPipe_ExpandAl_zmax" rStart="BeamPipe_Central_inner_radius" size="BeamPipe_FirstExpand_width">
<layer material="G4_Al" thickness="BeamPipe_Al_thickness" vis="TubeVis"/>
</section>
<section type="Runway" name="Waist2nd" zStart="BeamPipe_ExpandAl_zmax" zEnd="BeamPipe_Linker_zmin" rStart="BeamPipe_Central_inner_radius" size="BeamPipe_FirstExpand_width">
<layer material="G4_Al" thickness="BeamPipe_Al_thickness" vis="TubeVis"/>
</section>
<section type="Runway" name="Waist3rd" zStart="BeamPipe_Linker_zmin" zEnd="BeamPipe_Linker_zmax" rStart="BeamPipe_Central_inner_radius" size="BeamPipe_FirstExpand_width">
<layer material="G4_Cu" thickness="BeamPipe_Cu_thickness" vis="TubeVis"/>
</section>
<section type="Runway" name="Waist4th" zStart="BeamPipe_Linker_zmax" zEnd="BeamPipe_Waist_zmax" rStart="BeamPipe_Central_inner_radius" size="BeamPipe_FirstExpand_width"
shift="BeamPipe_SecondExpand_width-BeamPipe_FirstExpand_width">
<layer material="G4_Cu" thickness="BeamPipe_Cu_thickness" vis="TubeVis"/>
</section>
<section type="Crotch" name="Fork" zStart="BeamPipe_Waist_zmax" zEnd="BeamPipe_Crotch_zmax"
rStart="BeamPipe_Central_inner_radius" rEnd="BeamPipe_Central_inner_radius" size="BeamPipe_SecondExpand_width">
<layer material="G4_Cu" thickness="BeamPipe_Cu_thickness" vis="TubeVis"/>
</section>
<section type="Legs" name="FirstDoublePipe" zStart="BeamPipe_Crotch_zmax" zEnd="BeamPipe_FirstSeparated_zmax" rStart="0">
<layer material="beam" thickness="BeamPipe_Fork_inner_radius" vis="VacVis"/>
<layer material="G4_Cu" thickness="BeamPipe_Cu_thickness" vis="TubeVis"/>
</section>
<section type="Legs" name="BeforeMask" zStart="BeamPipe_FirstSeparated_zmax" zEnd="BeamPipe_Mask_zmin" rStart="0">
<layer material="beam" thickness="BeamPipe_Fork_inner_radius" vis="VacVis"/>
<layer material="G4_Cu" thickness="BeamPipe_Cu_thickness" vis="TubeVis"/>
</section>
<section type="Legs" name="Mask" zStart="BeamPipe_Mask_zmin" zEnd="BeamPipe_Mask_zmax" rStart="0">
<layer material="beam" thickness="BeamPipe_Mask_inner_radius" vis="VacVis"/>
<layer material="G4_Cu" thickness="BeamPipe_Cu_thickness+BeamPipe_Fork_inner_radius-BeamPipe_Mask_inner_radius" vis="TubeVis"/>
</section>
<section type="Legs" name="SecondDoublePipe" zStart="BeamPipe_Mask_zmax" zEnd="BeamPipe_SecondSeparated_zmax" rStart="0">
<layer material="beam" thickness="BeamPipe_Fork_inner_radius" vis="VacVis"/>
<layer material="G4_Cu" thickness="BeamPipe_Cu_thickness" vis="TubeVis"/>
</section>
<section type="Legs" name="QD0" zStart="BeamPipe_SecondSeparated_zmax" zEnd="BeamPipe_QD0_zmax" rStart="0">
<layer material="beam" thickness="BeamPipe_Fork_inner_radius" vis="VacVis"/>
<layer material="stainless_steel" thickness="BeamPipe_Iron_thickness" vis="TubeVis"/>
<layer material="G4_Cu" thickness="3.5*mm" vis="TubeVis"/>
<layer material="superconductor" thickness="6.0*mm" vis="MagentaVis"/>
<layer material="stainless_steel" thickness="8.0*mm" vis="ShellVis"/>
</section>
<section type="Legs" name="QF1Linker" zStart="BeamPipe_QD0_zmax" zEnd="BeamPipe_QF1_zmin" rStart="0">
<layer material="beam" thickness="BeamPipe_Fork_inner_radius" thicknessEnd="BeamPipe_QF1_inner_radius" vis="VacVis"/>
<layer material="stainless_steel" thickness="BeamPipe_Iron_thickness" vis="TubeVis"/>
</section>
<section type="Legs" name="QF1" zStart="BeamPipe_QF1_zmin" zEnd="BeamPipe_QF1_zmax" rStart="0">
<layer material="beam" thickness="BeamPipe_QF1_inner_radius" vis="VacVis"/>
<layer material="stainless_steel" thickness="BeamPipe_Iron_thickness" vis="TubeVis"/>
<layer material="G4_Cu" thickness="3.0*mm" vis="TubeVis"/>
<layer material="superconductor" thickness="6.0*mm" vis="MagentaVis"/>
<layer material="stainless_steel" thickness="8.0*mm" vis="ShellVis"/>
</section>
<section type="Legs" name="Farest" zStart="BeamPipe_QF1_zmax" zEnd="BeamPipe_end_z" rStart="0">
<layer material="beam" thickness="BeamPipe_QF1_inner_radius" vis="VacVis"/>
<layer material="stainless_steel" thickness="BeamPipe_Iron_thickness" vis="TubeVis"/>
</section>
<!-- Magnets and their cooling, support -->
<section type="CenterSide" name="Magnet_1" zStart="1160*mm" zEnd="1900*mm" rStart="90*mm">
<layer material="superconductor" thickness="20*mm" vis="MagentaVis"/>
</section>
<section type="CenterSide" name="Magnet_2" zStart="1930*mm" zEnd="3964*mm" rStart="120*mm">
<layer material="superconductor" thickness="10*mm" vis="MagentaVis"/>
</section>
<section type="CenterSide" name="Magnet_3" zStart="3970*mm" zEnd="7000*mm" rStart="185*mm">
<layer material="superconductor" thickness="10*mm" vis="MagentaVis"/>
</section>
<!--TO DO: overlap with Lumical-->
<!--section type="CenterSide" name="MagnetShell_1" zStart="970*mm" zEnd="1110*mm" rStart="33*mm">
<layer material="stainless_steel" thickness="1.5*mm" vis="ShellVis"/>
</section-->
<section type="CenterSide" name="MagnetShell_2" zStart="1110*mm" zEnd="1115*mm" rStart="50.0*mm">
<layer material="stainless_steel" thickness="91.25*mm" vis="ShellVis"/>
</section>
<section type="CenterSide" name="MagnetShell_3" zStart="1115*mm" zEnd="1900*mm" rStart="130.75*mm" rEnd="175*mm">
<layer material="stainless_steel" thickness="10.5*mm" thicknessEnd="65*mm" vis="ShellVis"/>
</section>
<section type="CenterSide" name="MagnetShell_4" zStart="1900*mm" zEnd="3800*mm" rStart="175*mm">
<layer material="stainless_steel" thickness="65*mm" vis="ShellVis"/>
</section>
<section type="CenterSide" name="MagnetShell_5" zStart="3800*mm" zEnd="3910*mm" rStart="175*mm">
<layer material="stainless_steel" thickness="135*mm" vis="ShellVis"/>
</section>
<section type="CenterSide" name="MagnetShell_6" zStart="3910*mm" zEnd="7160*mm" rStart="240*mm">
<layer material="stainless_steel" thickness="70*mm" vis="ShellVis"/>
</section>
<section type="CenterSide" name="MagnetSupport_1" zStart="1130*mm" zEnd="1135*mm" rStart="75*mm">
<layer material="stainless_steel" thickness="50*mm" vis="ShellVis"/>
</section>
<section type="CenterSide" name="MagnetSupport_2i" zStart="1135*mm" zEnd="1925*mm" rStart="75*mm">
<layer material="stainless_steel" thickness="5*mm" vis="ShellVis"/>
</section>
<section type="CenterSide" name="MagnetSupport_2o" zStart="1135*mm" zEnd="1900*mm" rStart="120*mm">
<layer material="stainless_steel" thickness="5*mm" vis="ShellVis"/>
</section>
<section type="CenterSide" name="MagnetSupport_3l" zStart="1900*mm" zEnd="1905*mm" rStart="120*mm">
<layer material="stainless_steel" thickness="25*mm" vis="ShellVis"/>
</section>
<section type="CenterSide" name="MagnetSupport_3r" zStart="1925*mm" zEnd="1930*mm" rStart="75*mm">
<layer material="stainless_steel" thickness="35*mm" vis="ShellVis"/>
</section>
<section type="CenterSide" name="MagnetSupport_4i" zStart="1930*mm" zEnd="4000*mm" rStart="105*mm">
<layer material="stainless_steel" thickness="5*mm" vis="ShellVis"/>
</section>
<section type="CenterSide" name="MagnetSupport_4o" zStart="1905*mm" zEnd="3940*mm" rStart="140*mm">
<layer material="stainless_steel" thickness="5*mm" vis="ShellVis"/>
</section>
<section type="CenterSide" name="MagnetSupport_5l" zStart="3940*mm" zEnd="3945*mm" rStart="140*mm">
<layer material="stainless_steel" thickness="70*mm" vis="ShellVis"/>
</section>
<section type="CenterSide" name="MagnetSupport_5r" zStart="4000*mm" zEnd="4005*mm" rStart="105*mm">
<layer material="stainless_steel" thickness="70*mm" vis="ShellVis"/>
</section>
<section type="CenterSide" name="MagnetSupport_6i" zStart="4005*mm" zEnd="7050*mm" rStart="170*mm">
<layer material="stainless_steel" thickness="5*mm" vis="ShellVis"/>
</section>
<section type="CenterSide" name="MagnetSupport_6o" zStart="3945*mm" zEnd="7050*mm" rStart="205*mm">
<layer material="stainless_steel" thickness="5*mm" vis="ShellVis"/>
</section>
<section type="CenterSide" name="MagnetSupport_7" zStart="7050*mm" zEnd="7055*mm" rStart="170*mm">
<layer material="stainless_steel" thickness="40*mm" vis="ShellVis"/>
</section>
<section type="CenterSide" name="MagnetCooling_1l" zStart="1135*mm" zEnd="1160*mm" rStart="80*mm">
<layer material="lN2" thickness="40*mm" vis="BlueVis"/>
</section>
<section type="CenterSide" name="MagnetCooling_1i" zStart="1160*mm" zEnd="1900*mm" rStart="80*mm">
<layer material="lN2" thickness="10*mm" vis="BlueVis"/>
</section>
<section type="CenterSide" name="MagnetCooling_1o" zStart="1160*mm" zEnd="1900*mm" rStart="110*mm">
<layer material="lN2" thickness="10*mm" vis="BlueVis"/>
</section>
<section type="CenterSide" name="MagnetCooling_1r" zStart="1900*mm" zEnd="1925*mm" rStart="80*mm">
<layer material="lN2" thickness="40*mm" vis="BlueVis"/>
</section>
<section type="CenterSide" name="MagnetCooling_2l" zStart="1905*mm" zEnd="1930*mm" rStart="120*mm">
<layer material="lN2" thickness="20*mm" vis="BlueVis"/>
</section>
<section type="CenterSide" name="MagnetCooling_2i" zStart="1925*mm" zEnd="3964*mm" rStart="110*mm">
<layer material="lN2" thickness="10*mm" vis="BlueVis"/>
</section>
<section type="CenterSide" name="MagnetCooling_2o" zStart="1930*mm" zEnd="3945*mm" rStart="130*mm">
<layer material="lN2" thickness="10*mm" vis="BlueVis"/>
</section>
<section type="CenterSide" name="MagnetCooling_2r1" zStart="3964*mm" zEnd="4000*mm" rStart="110*mm">
<layer material="lN2" thickness="65*mm" vis="BlueVis"/>
</section>
<section type="CenterSide" name="MagnetCooling_2r2" zStart="3945*mm" zEnd="3964*mm" rStart="130*mm">
<layer material="lN2" thickness="45*mm" vis="BlueVis"/>
</section>
<section type="CenterSide" name="MagnetCooling_3l" zStart="3945*mm" zEnd="3970*mm" rStart="175*mm">
<layer material="lN2" thickness="30*mm" vis="BlueVis"/>
</section>
<section type="CenterSide" name="MagnetCooling_3i" zStart="3970*mm" zEnd="7000*mm" rStart="175*mm">
<layer material="lN2" thickness="10*mm" vis="BlueVis"/>
</section>
<section type="CenterSide" name="MagnetCooling_3o" zStart="3970*mm" zEnd="7000*mm" rStart="195*mm">
<layer material="lN2" thickness="10*mm" vis="BlueVis"/>
</section>
<section type="CenterSide" name="MagnetCooling_3r" zStart="7000*mm" zEnd="7050*mm" rStart="175*mm">
<layer material="lN2" thickness="30*mm" vis="BlueVis"/>
</section>
</detector>
</detectors>
</lccdd>
<lccdd>
<detectors>
<detector name="Coil" type="DD4hep_Solenoid_o1_v01" id="DetID_COIL" insideTrackingVolume="false" readout="COILCollection">
<envelope>
<shape type="Tube" rmin="Solenoid_inner_radius" rmax="Solenoid_outer_radius" dz="Solenoid_half_length" material="Vacuum"/>
</envelope>
<type_flags type=" DetType_SUPPORT + DetType_COIL " />
<!-- slice can put as sensitive (tracker type), currently without sensitive, so COILCollection is null -->
<layer id="0" inner_r="Solenoid_inner_radius" outer_z="Solenoid_half_length" vis="SeeThrough">
<slice material="g10" thickness="3*mm" vis="SOLVis"/>
<slice material="Vacuum" thickness="6*mm" vis="Invisible"/>
<slice material="G4_Al" thickness="6*mm" vis="SOLVis"/>
</layer>
<layer id="1" inner_r="SolenoidCoil_radius" outer_z="Solenoid_half_length" vis="SeeThrough">
<slice material="G4_Al" thickness="55*mm" vis="SOLVis"/>
</layer>
<layer id="2" inner_r="Solenoid_outer_radius-27*mm" outer_z="Solenoid_half_length" vis="SeeThrough">
<slice material="G4_Al" thickness="6*mm" vis="SOLVis"/>
<slice material="Vacuum" thickness="6*mm" vis="Invisible"/>
<slice material="G4_Al" thickness="15*mm" vis="SOLVis"/>
</layer>
</detector>
</detectors>
<readouts>
<readout name="COILCollection">
<id>system:5,side:-2,layer:9,slice:8,sensor:8,barrelside:-2</id>
</readout>
</readouts>
</lccdd>
<?xml version="1.0" encoding="UTF-8"?>
<lccdd>
<define>
<constant name="concrete_position_z" value="592.5*cm"/>
<constant name="concrete_hole_rmin" value="65*cm"/>
<constant name="concrete_wall_size" value="520*cm"/>
<constant name="concrete_wall_hz" value="50*cm"/>
</define>
<detectors>
<detector name="ConcreteWall" type="ConcreteWall_v01" vis="VisibleBrown" material="Concrete">
<!-- Use cm as unit if you want to use Pandora for reconstruction -->
<position x="0" y="0" z="concrete_position_z"/>
<dimensions rmax="concrete_wall_size" rmin="concrete_hole_rmin" dz="concrete_wall_hz"/>
</detector>
</detectors>
</lccdd>
<?xml version="1.0" encoding="UTF-8"?>
<lccdd>
<info name="DriftChamber"
title="Test with Drift Chamber"
author="Tao Lin"
url="http://github.com/cepc/CEPCSW"
status="development"
version="v0">
<comment>Test with Drift Chamber</comment>
</info>
<define>
<constant name="SDT_radius_min" value="InnerTracker_inner_radius"/>
<constant name="SDT_radius_max" value="OuterTracker_outer_radius"/>
<constant name="SDT_half_length" value="MainTracker_half_length"/>
<constant name="SDT_length" value="SDT_half_length*2"/>
<constant name="SDT_inner_chamber_radius_min" value="SDT_radius_min"/>
<constant name="SDT_inner_chamber_radius_max" value="InnerTracker_outer_radius"/>
<constant name="SDT_inner_chamber_length" value="SDT_length"/>
<constant name="SDT_outer_chamber_radius_min" value="OuterTracker_inner_radius"/>
<constant name="SDT_outer_chamber_radius_max" value="SDT_radius_max"/>
<constant name="SDT_outer_chamber_length" value="SDT_length"/>
<constant name="SDT_inner_chamber_layer_number" value="67"/>
<constant name="SDT_outer_chamber_layer_number" value="63"/>
<constant name="SDT_chamber_layer_width" value="10*mm"/>
<constant name="Epsilon" value="0*deg"/>
</define>
<detectors>
<detector id="DetID_DC" name="DriftChamber" type="DriftChamber" readout="DriftChamberHitsCollection" vis="BlueVis" sensitive="true" insideTrackingVolume="true">
<envelope vis="SeeThrough">
<shape type="BooleanShape" operation="Union" material="Air">
<shape type="Tube" rmin="SDT_inner_chamber_radius_min" rmax="SDT_inner_chamber_radius_max" dz="SDT_half_length" />
<shape type="Tube" rmin="SDT_outer_chamber_radius_min" rmax="SDT_outer_chamber_radius_max" dz="SDT_half_length" />
</shape>
</envelope>
<type_flags type="DetType_TRACKER + DetType_BARREL + DetType_GASEOUS + DetType_WIRE"/>
<!-- Use cm as unit if you want to use Pandora for reconstruction -->
<sensitive type="SimpleDriftChamber"/>
</detector>
</detectors>
<readouts>
<readout name="DriftChamberHitsCollection">
<segmentation type="GridDriftChamber" cell_size="10*mm" epsilon0="Epsilon" detector_length="SDT_length" identifier_phi="cellID" />
<id>system:8,chamber:1,layer:8,cellID:16</id>
</readout>
</readouts>
</lccdd>
<?xml version="1.0" encoding="UTF-8"?>
<lccdd>
<info name="DriftChamber"
title="Test with Drift Chamber"
author="Tao Lin"
url="http://github.com/cepc/CEPCSW"
status="development"
version="v0">
<comment>Test with Drift Chamber</comment>
</info>
<define>
<constant name="DC_layer_number" value="100"/>
<constant name="Alpha" value="12*deg"/>
<constant name="Gas_radius_min" value="DC_rbegin+DC_inner_wall_thickness+DC_safe_distance"/>
<constant name="Gas_half_length" value="DC_half_length-DC_Endcap_dz-DC_safe_distance"/>
<constant name="Gas_length" value="Gas_half_length*2"/>
<constant name="DC_cell_width" value="10*mm"/>
<constant name="DC_inner_wall_radius_min" value="DC_rbegin"/>
<constant name="DC_inner_wall_radius_max" value="DC_rbegin+DC_inner_wall_thickness"/>
<constant name="DC_Endcap_rmin" value="DC_rbegin"/>
<constant name="DC_Endcap_rmax" value="DC_rend"/>
<constant name="DC_construct_wire" value="1"/>
<constant name="DC_layer_width" value="9.57687*mm"/>
</define>
<limits>
<limitset name="DC_limits">
<limit name="step_length_max" particles="*" value="0.1" unit="mm" />
</limitset>
</limits>
<regions>
<region name="DriftChamberRegion">
</region>
</regions>
<detectors>
<detector id="DetID_DC" name="DriftChamber" type="DriftChamber" readout="DriftChamberHitsCollection" vis="DCVis" sensitive="true" region="DriftChamberRegion" limits="DC_limits">
<material name="Air"/>
<chamber id="0" material="GasHe_90Isob_10"/>
<side material="CarbonFiber"/>
<envelope vis="SeeThrough">
<shape type="BooleanShape" operation="Union" material="Air">
<shape type="Tube" rmin="DC_rbegin" rmax="DC_rend" dz="DC_half_length" />
</shape>
</envelope>
<module id="0" name="SignalWire" type="Tube" rmin="0*mm" rmax="0.01*mm" vis="RedVis">
<tubs name="W" type="Tube" rmin="0*mm" rmax="0.007*mm" material="Tungsten"/>
<tubs name="Au" type="Tube" rmin="0.007*mm" rmax="0.01*mm" material="Gold"/>
</module>
<module id="1" name="FieldWire" type="Tube" rmin="0*mm" rmax="0.02*mm" vis="GreenVis">
<tubs name="Al" type="Tube" rmin="0*mm" rmax="0.017*mm" material="Aluminum"/>
<tubs name="Ag" type="Tube" rmin="0.017*mm" rmax="0.02*mm" material="Silver"/>
</module>
<type_flags type="DetType_TRACKER + DetType_BARREL + DetType_GASEOUS + DetType_WIRE"/>
<!-- Use cm as unit if you want to use Pandora for reconstruction -->
<sensitive type="SimpleDriftChamber"/>
</detector>
</detectors>
<readouts>
<readout name="DriftChamberHitsCollection">
<segmentation type="GridDriftChamber" cell_size="DC_cell_width" detector_length="Gas_length" identifier_phi="cellID" layerID="layer" DC_rbegin="DC_rbegin" DC_rend="DC_rend" layer_width="DC_layer_width"/>
<id>system:5,layer:7:9,chamber:8,cellID:32:16</id>
</readout>
</readouts>
</lccdd>
<?xml version="1.0" encoding="UTF-8"?>
<lccdd>
<info name="DriftChamber"
title="Test with Drift Chamber"
author="Tao Lin"
url="http://github.com/cepc/CEPCSW"
status="development"
version="v0">
<comment>Test with Drift Chamber</comment>
</info>
<define>
<constant name="DC_layer_number" value="55"/>
<constant name="Alpha" value="12*deg"/>
<constant name="Gas_radius_min" value="DC_rbegin+DC_inner_wall_thickness+DC_safe_distance"/>
<constant name="Gas_half_length" value="DC_half_length-DC_Endcap_dz-DC_safe_distance"/>
<constant name="Gas_length" value="Gas_half_length*2"/>
<constant name="DC_cell_width" value="18*mm"/>
<constant name="DC_inner_wall_radius_min" value="DC_rbegin"/>
<constant name="DC_inner_wall_radius_max" value="DC_rbegin+DC_inner_wall_thickness"/>
<constant name="DC_Endcap_rmin" value="DC_rbegin"/>
<constant name="DC_Endcap_rmax" value="DC_rend"/>
<constant name="DC_construct_wire" value="0"/>
<constant name="DC_layer_width" value="18*mm"/>
</define>
<limits>
<limitset name="DC_limits">
<limit name="step_length_max" particles="*" value="0.1" unit="mm" />
</limitset>
</limits>
<regions>
<region name="DriftChamberRegion">
</region>
</regions>
<detectors>
<detector id="DetID_DC" name="DriftChamber" type="DriftChamber" readout="DriftChamberHitsCollection" vis="DCVis" sensitive="true" limits="DC_limits">
<material name="Air"/>
<chamber id="0" material="GasHe_90Isob_10"/>
<side material="CarbonFiber"/>
<envelope vis="SeeThrough">
<shape type="BooleanShape" operation="Union" material="Air">
<shape type="Tube" rmin="DC_rbegin" rmax="DC_rend" dz="DC_half_length" />
</shape>
</envelope>
<module id="0" name="SignalWire" type="Tube" rmin="0*mm" rmax="0.01*mm" vis="RedVis">
<tubs name="W" type="Tube" rmin="0*mm" rmax="0.007*mm" material="Tungsten"/>
<tubs name="Au" type="Tube" rmin="0.007*mm" rmax="0.01*mm" material="Gold"/>
</module>
<module id="1" name="FieldWire" type="Tube" rmin="0*mm" rmax="0.02*mm" vis="GreenVis">
<tubs name="Al" type="Tube" rmin="0*mm" rmax="0.017*mm" material="Aluminum"/>
<tubs name="Ag" type="Tube" rmin="0.017*mm" rmax="0.02*mm" material="Silver"/>
</module>
<type_flags type="DetType_TRACKER + DetType_BARREL + DetType_GASEOUS + DetType_WIRE"/>
<!-- Use cm as unit if you want to use Pandora for reconstruction -->
<sensitive type="SimpleDriftChamber"/>
</detector>
</detectors>
<readouts>
<readout name="DriftChamberHitsCollection">
<segmentation type="GridDriftChamber" cell_size="DC_cell_width" detector_length="Gas_length" identifier_phi="cellID" layerID="layer" DC_rbegin="DC_rbegin" DC_rend="DC_rend" layer_width="DC_layer_width"/>
<id>system:5,layer:7:9,chamber:8,cellID:32:16</id>
</readout>
</readouts>
</lccdd>
<?xml version="1.0" encoding="UTF-8"?>
<lccdd>
<info name="DriftChamber"
title="Test with Drift Chamber"
author="Tao Lin"
url="http://github.com/cepc/CEPCSW"
status="development"
version="v0">
<comment>Test with Drift Chamber</comment>
</info>
<define>
<constant name="DC_layer_number" value="66"/>
<constant name="Alpha" value="12*deg"/>
<constant name="Gas_radius_min" value="DC_rbegin+DC_inner_wall_thickness+DC_safe_distance"/>
<constant name="Gas_half_length" value="DC_half_length-DC_Endcap_dz-DC_safe_distance"/>
<constant name="Gas_length" value="Gas_half_length*2"/>
<constant name="DC_cell_width" value="18*mm"/>
<constant name="DC_inner_wall_radius_min" value="DC_rbegin"/>
<constant name="DC_inner_wall_radius_max" value="DC_rbegin+DC_inner_wall_thickness"/>
<constant name="DC_Endcap_rmin" value="DC_rbegin"/>
<constant name="DC_Endcap_rmax" value="DC_rend"/>
<constant name="DC_construct_wire" value="0"/>
<constant name="DC_layer_width" value="18*mm"/>
</define>
<limits>
<limitset name="DC_limits">
<limit name="step_length_max" particles="*" value="0.1" unit="mm" />
</limitset>
</limits>
<regions>
<region name="DriftChamberRegion">
</region>
</regions>
<detectors>
<detector id="DetID_DC" name="DriftChamber" type="DriftChamber" readout="DriftChamberHitsCollection" vis="DCVis" sensitive="true" limits="DC_limits">
<material name="Air"/>
<chamber id="0" material="GasHe_90Isob_10"/>
<side material="CarbonFiber"/>
<envelope vis="SeeThrough">
<shape type="BooleanShape" operation="Union" material="Air">
<shape type="Tube" rmin="DC_rbegin" rmax="DC_rend" dz="DC_half_length" />
</shape>
</envelope>
<module id="0" name="SignalWire" type="Tube" rmin="0*mm" rmax="0.01*mm" vis="RedVis">
<tubs name="W" type="Tube" rmin="0*mm" rmax="0.007*mm" material="Tungsten"/>
<tubs name="Au" type="Tube" rmin="0.007*mm" rmax="0.01*mm" material="Gold"/>
</module>
<module id="1" name="FieldWire" type="Tube" rmin="0*mm" rmax="0.03*mm" vis="GreenVis">
<tubs name="Al" type="Tube" rmin="0*mm" rmax="0.027*mm" material="Aluminum"/>
<tubs name="Ag" type="Tube" rmin="0.027*mm" rmax="0.03*mm" material="Silver"/>
</module>
<type_flags type="DetType_TRACKER + DetType_BARREL + DetType_GASEOUS + DetType_WIRE"/>
<!-- Use cm as unit if you want to use Pandora for reconstruction -->
<sensitive type="SimpleDriftChamber"/>
</detector>
</detectors>
<readouts>
<readout name="DriftChamberHitsCollection">
<segmentation type="GridDriftChamber" cell_size="DC_cell_width" detector_length="Gas_length" identifier_phi="cellID" layerID="layer" DC_rbegin="DC_rbegin" DC_rend="DC_rend" layer_width="DC_layer_width"/>
<id>system:5,layer:7:9,chamber:8,cellID:32:16</id>
</readout>
</readouts>
</lccdd>
<?xml version="1.0" encoding="UTF-8"?>
<lccdd>
<info name="DriftChamber"
title="Test with Drift Chamber"
author="Tao Lin"
url="http://github.com/cepc/CEPCSW"
status="development"
version="v0">
<comment>Test with Drift Chamber</comment>
</info>
<define>
<!-- SDT -->
<constant name="SDT_radius_min" value="DC_inner_radius"/>
<constant name="SDT_radius_max" value="DC_outer_radius"/>
<constant name="SDT_half_length" value="MainTracker_half_length"/>
<constant name="DC_length" value="DC_half_length*2"/>
<constant name="SDT_length" value="SDT_half_length*2"/>
<constant name="SDT_chamber_radius_min" value="DC_chamber_layer_rbegin-DC_safe_distance"/>
<constant name="SDT_chamber_radius_max" value="DC_chamber_layer_rend+DC_chamber_safe_distance+DC_safe_distance"/>
<constant name="SDT_chamber_half_length" value="DC_half_length"/>
<constant name="SDT_chamber_layer_width" value="10*mm"/>
<constant name="SDT_chamber_cell_width" value="10*mm"/>
<constant name="Alpha" value="12*deg"/>
<constant name="SDT_chamber_inner_wall_radius_min" value="SDT_chamber_radius_min-SDT_inner_wall_thickness"/>
<constant name="SDT_chamber_inner_wall_radius_max" value="SDT_chamber_radius_min"/>
<constant name="SDT_chamber_outer_wall_radius_min" value="SDT_chamber_radius_max"/>
<constant name="SDT_chamber_outer_wall_radius_max" value="SDT_chamber_radius_max+SDT_outer_wall_thickness"/>
<constant name="DC_Endcap_rmin" value="SDT_radius_min"/>
<constant name="DC_Endcap_rmax" value="SDT_radius_max"/>
</define>
<limits>
<limitset name="DC_limits">
<limit name="step_length_max" particles="*" value="0.1" unit="mm" />
</limitset>
</limits>
<regions>
<region name="DriftChamberRegion">
<limitsetref name="DC_limits"/>
</region>
</regions>
<detectors>
<detector id="DetID_DC" name="DriftChamber_Stero" type="DriftChamber_Stero" readout="DriftChamberHitsCollection" vis="DCVis" sensitive="true" insideTrackingVolume="true" limits="DC_limits">
<material name="Air"/>
<chamber id="0" material="GasHe_90Isob_10"/>
<side material="CarbonFiber"/>
<envelope vis="SeeThrough">
<shape type="BooleanShape" operation="Union" material="Air">
<shape type="Tube" rmin="SDT_radius_min" rmax="SDT_radius_max" dz="SDT_half_length" />
</shape>
</envelope>
<module id="0" name="SignalWire" type="Tube" rmin="0*mm" rmax="0.01*mm" vis="RedVis">
<tubs name="W" type="Tube" rmin="0*mm" rmax="0.007*mm" material="Tungsten"/>
<tubs name="Au" type="Tube" rmin="0.007*mm" rmax="0.01*mm" material="Gold"/>
</module>
<module id="1" name="FieldWire" type="Tube" rmin="0*mm" rmax="0.02*mm" vis="GreenVis">
<tubs name="Al" type="Tube" rmin="0*mm" rmax="0.017*mm" material="Aluminum"/>
<tubs name="Ag" type="Tube" rmin="0.017*mm" rmax="0.02*mm" material="Silver"/>
</module>
<type_flags type="DetType_TRACKER + DetType_BARREL + DetType_GASEOUS + DetType_WIRE"/>
<!-- Use cm as unit if you want to use Pandora for reconstruction -->
<sensitive type="SimpleDriftChamber"/>
</detector>
</detectors>
<readouts>
<readout name="DriftChamberHitsCollection">
<segmentation type="GridDriftChamber" cell_size="SDT_chamber_cell_width" detector_length="DC_length" identifier_phi="cellID" DC_rbegin="DC_chamber_layer_rbegin" DC_rend="DC_chamber_layer_rend" DC_rmin="SDT_chamber_radius_min" DC_rmax="SDT_chamber_radius_max" safe_distance="DC_safe_distance" layerID="layer" layer_width="SDT_chamber_layer_width"/>
<id>system:5,layer:7:9,chamber:8,cellID:32:16</id>
</readout>
</readouts>
</lccdd>
<?xml version="1.0" encoding="UTF-8"?>
<lccdd xmlns:compact="http://www.lcsim.org/schemas/compact/1.0"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xs:noNamespaceSchemaLocation="http://www.lcsim.org/schemas/compact/1.0/compact.xsd">
<info name="DriftChamber"
title="Test with Drift Chamber"
author="Tao Lin"
url="http://github.com/cepc/CEPCSW"
status="development"
version="v0">
<comment>Test with Drift Chamber</comment>
</info>
<define>
<!-- SDT -->
<constant name="SDT_radius_min" value="DC_inner_radius"/>
<constant name="SDT_radius_max" value="DC_outer_radius"/>
<constant name="SDT_half_length" value="MainTracker_half_length"/>
<constant name="DC_length" value="DC_half_length*2"/>
<constant name="SDT_length" value="SDT_half_length*2"/>
<constant name="SDT_chamber_radius_min" value="DC_chamber_layer_rbegin-DC_safe_distance"/>
<constant name="SDT_chamber_radius_max" value="DC_chamber_layer_rend+DC_safe_distance"/>
<constant name="SDT_chamber_half_length" value="DC_half_length"/>
<constant name="SDT_chamber_layer_width" value="10*mm"/>
<constant name="SDT_chamber_cell_width" value="10*mm"/>
<constant name="Alpha" value="0*deg"/>
<constant name="SDT_chamber_inner_wall_radius_min" value="SDT_chamber_radius_min-SDT_inner_wall_thickness"/>
<constant name="SDT_chamber_inner_wall_radius_max" value="SDT_chamber_radius_min"/>
<constant name="SDT_chamber_outer_wall_radius_min" value="SDT_chamber_radius_max"/>
<constant name="SDT_chamber_outer_wall_radius_max" value="SDT_chamber_radius_max+SDT_outer_wall_thickness"/>
<constant name="DC_Endcap_rmin" value="SDT_radius_min"/>
<constant name="DC_Endcap_rmax" value="SDT_radius_max"/>
</define>
<limits>
<limitset name="DC_limits">
<limit name="step_length_max" particles="*" value="0.1" unit="mm" />
</limitset>
</limits>
<regions>
<region name="DriftChamberRegion">
</region>
</regions>
<detectors>
<detector id="DetID_DC" name="DriftChamber" type="DriftChamber" readout="DriftChamberHitsCollection" vis="DCVis" sensitive="true" region="DriftChamberRegion" limits="DC_limits">
<material name="Air"/>
<chamber id="0" material="GasHe_90Isob_10"/>
<side material="CarbonFiber"/>
<envelope vis="SeeThrough">
<shape type="BooleanShape" operation="Union" material="Air">
<shape type="Tube" rmin="SDT_radius_min" rmax="SDT_radius_max" dz="SDT_half_length" />
</shape>
</envelope>
<module id="0" name="SignalWire" type="Tube" rmin="0*mm" rmax="0.01*mm" vis="RedVis">
<tubs name="W" type="Tube" rmin="0*mm" rmax="0.007*mm" material="Tungsten"/>
<tubs name="Au" type="Tube" rmin="0.007*mm" rmax="0.01*mm" material="Gold"/>
</module>
<module id="1" name="FieldWire" type="Tube" rmin="0*mm" rmax="0.02*mm" vis="GreenVis">
<tubs name="Al" type="Tube" rmin="0*mm" rmax="0.017*mm" material="Aluminum"/>
<tubs name="Ag" type="Tube" rmin="0.017*mm" rmax="0.02*mm" material="Silver"/>
</module>
<type_flags type="DetType_TRACKER + DetType_BARREL + DetType_GASEOUS + DetType_WIRE"/>
<!-- Use cm as unit if you want to use Pandora for reconstruction -->
<sensitive type="SimpleDriftChamber"/>
</detector>
</detectors>
<readouts>
<readout name="DriftChamberHitsCollection">
<segmentation type="GridDriftChamber" cell_size="SDT_chamber_cell_width" detector_length="DC_length" identifier_phi="cellID" DC_rbegin="DC_chamber_layer_rbegin" DC_rend="DC_chamber_layer_rend" DC_rmin="SDT_chamber_radius_min" DC_rmax="SDT_chamber_radius_max" safe_distance="DC_safe_distance" layerID="layer" layer_width="SDT_chamber_layer_width"/>
<!-- <id>system:8,chamber:1,layer:8,cellID:16</id> -->
<id>system:5,layer:7:9,chamber:8,cellID:32:16</id>
</readout>
</readouts>
</lccdd>
<?xml version="1.0" encoding="UTF-8"?>
<lccdd xmlns:compact="http://www.lcsim.org/schemas/compact/1.0"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xs:noNamespaceSchemaLocation="http://www.lcsim.org/schemas/compact/1.0/compact.xsd">
<info name="DriftChamber"
title="Test with Drift Chamber"
author="Tao Lin"
url="http://github.com/cepc/CEPCSW"
status="development"
version="v0">
<comment>Test with Drift Chamber</comment>
</info>
<define>
<!-- SDT -->
<constant name="SDT_radius_min" value="DC_inner_radius"/>
<constant name="SDT_radius_max" value="DC_outer_radius"/>
<constant name="SDT_half_length" value="MainTracker_half_length"/>
<constant name="DC_length" value="DC_half_length*2"/>
<constant name="SDT_length" value="SDT_half_length*2"/>
<constant name="SDT_chamber_radius_min" value="DC_chamber_layer_rbegin-DC_safe_distance"/>
<constant name="SDT_chamber_radius_max" value="DC_chamber_layer_rend+DC_safe_distance"/>
<constant name="SDT_chamber_half_length" value="DC_half_length"/>
<constant name="SDT_chamber_layer_width" value="10*mm"/>
<constant name="SDT_chamber_cell_width" value="10*mm"/>
<constant name="Alpha" value="0*deg"/>
<constant name="SDT_chamber_inner_wall_radius_min" value="SDT_chamber_radius_min-SDT_inner_wall_thickness"/>
<constant name="SDT_chamber_inner_wall_radius_max" value="SDT_chamber_radius_min"/>
<constant name="SDT_chamber_outer_wall_radius_min" value="SDT_chamber_radius_max"/>
<constant name="SDT_chamber_outer_wall_radius_max" value="SDT_chamber_radius_max+SDT_outer_wall_thickness"/>
<constant name="DC_Endcap_rmin" value="SDT_radius_min"/>
<constant name="DC_Endcap_rmax" value="SDT_radius_max"/>
</define>
<limits>
<limitset name="DC_limits">
<limit name="step_length_max" particles="*" value="10" unit="mm" />
</limitset>
</limits>
<regions>
<region name="DriftChamberRegion">
<limitsetref name="DC_limits"/>
</region>
</regions>
<detectors>
<detector id="DetID_DC" name="DriftChamber" type="DriftChamber" readout="DriftChamberHitsCollection" vis="DCVis" sensitive="true" insideTrackingVolume="true" limits="DC_limits">
<material name="Air"/>
<chamber id="0" material="GasHe_90Isob_10"/>
<side material="CarbonFiber"/>
<envelope>
<shape type="BooleanShape" operation="Union" material="Air">
<shape type="Tube" rmin="SDT_radius_min" rmax="SDT_radius_max" dz="SDT_half_length" />
</shape>
</envelope>
<module id="0" name="SignalWire" type="Tube" rmin="0*mm" rmax="0.01*mm" vis="RedVis">
<tubs name="W" type="Tube" rmin="0*mm" rmax="0.007*mm" material="Tungsten"/>
<tubs name="Au" type="Tube" rmin="0.007*mm" rmax="0.01*mm" material="Gold"/>
</module>
<module id="1" name="FieldWire" type="Tube" rmin="0*mm" rmax="0.02*mm" vis="GreenVis">
<tubs name="Al" type="Tube" rmin="0*mm" rmax="0.017*mm" material="Aluminum"/>
<tubs name="Ag" type="Tube" rmin="0.017*mm" rmax="0.02*mm" material="Silver"/>
</module>
<type_flags type="DetType_TRACKER + DetType_BARREL + DetType_GASEOUS + DetType_WIRE"/>
<!-- Use cm as unit if you want to use Pandora for reconstruction -->
<sensitive type="SimpleDriftChamber"/>
</detector>
</detectors>
<readouts>
<readout name="DriftChamberHitsCollection">
<segmentation type="GridDriftChamber" cell_size="SDT_chamber_cell_width" detector_length="DC_length" identifier_phi="cellID" DC_rbegin="DC_chamber_layer_rbegin" DC_rend="DC_chamber_layer_rend" DC_rmin="SDT_chamber_radius_min" DC_rmax="SDT_chamber_radius_max" safe_distance="DC_safe_distance" layerID="layer" layer_width="SDT_chamber_layer_width"/>
<!-- <id>system:8,chamber:1,layer:8,cellID:16</id> -->
<id>system:5,layer:7:9,chamber:8,cellID:32:16</id>
</readout>
</readouts>
</lccdd>
<?xml version="1.0" encoding="UTF-8"?>
<lccdd>
<define>
<constant name="ecalbarrel_inner_radius" value="Ecal_barrel_inner_radius"/>
<constant name="ecalbarrel_outer_radius" value="Ecal_barrel_outer_radius"/>
<!--<constant name="ecalbarrel_thickness" value="Ecal_barrel_thickness"/>-->
<constant name="ecalbarrel_thickness" value="28.5*cm"/>
<constant name="ecalbarrel_zlength" value="Ecal_barrel_half_length*2"/>
<constant name="Nmodule" value="32"/>
<constant name="Nblock_z" value="15"/>
<constant name="module_rotation" value="12*degree"/>
<constant name="crystal_r" value="4.1*cm"/>
<constant name="crystal_phi" value="1*cm"/>
<constant name="crystal_z_barrel" value="1*cm"/>
<constant name="esr_thickness_barrel" value="0.1*mm"/>
<constant name="sipm_r" value="0.8*mm"/>
<constant name="sipm_phi" value="3*mm"/>
<constant name="sipm_z_barrel" value="3*mm"/>
<constant name="pcb_thickness_barrel" value="2.2*mm"/>
<constant name="cu_thickness_barrel" value="1*mm"/>
<constant name="fibre_thickness_barrel" value="0.1*mm"/>
<constant name="collection_width" value="300*mm"/>
<constant name="collection_thickness" value="10*mm"/>
<constant name="boundary_safety_barrel" value="1*nm"/>
</define>
<regions>
<region name="EcalBarrelRegion">
</region>
</regions>
<detectors>
<detector id="DetID_ECAL"
name="EcalBarrel"
type="CRDEcalBarrel_Short_v02"
readout="EcalBarrelCollection"
vis="Invisible"
sensitive="true"
region="EcalBarrelRegion">
<!-- Use cm as unit if you want to use Pandora for reconstruction -->
<material name="G4_BGO"/>
</detector>
</detectors>
<readouts>
<readout name="EcalBarrelCollection">
<segmentation type="NoSegmentation"/>
<!--segmentation type="CartesianGridXYZ"
grid_size_x="1*cm"
grid_size_y="1*cm"
grid_size_z="1*cm"/-->
<id>system:5,module:5,stave:4,layer:5,phi:6,z:6</id>
</readout>
</readouts>
</lccdd>
...@@ -2,25 +2,35 @@ ...@@ -2,25 +2,35 @@
<lccdd> <lccdd>
<define> <define>
<constant name="ecalbarrel_inner_radius" value="Ecal_barrel_inner_radius"/> <constant name="ecalbarrel_inner_radius" value="Ecal_barrel_inner_radius"/>
<constant name="ecalbarrel_thickness" value="Ecal_barrel_thickness"/> <!--Must be n*10*mm! --> <constant name="ecalbarrel_thickness" value="Ecal_barrel_thickness"/> <!--Must be n*10*mm! -->
<constant name="ecalbarrel_zlength" value="Ecal_barrel_half_length*2"/> <!--Must be n*10*mm! --> <constant name="ecalbarrel_zlength" value="Ecal_barrel_half_length*2"/> <!--Must be n*10*mm n*Nblock_z! -->
<constant name="n_symm" value="Ecal_barrel_symmetry" /> <!--Only support 8 and 12 now -->
<constant name="Nblock_z" value="11" />
<constant name="Nblock_phi" value="4" />
<constant name="bar_x" value="1*cm"/>
<constant name="bar_y" value="1*cm"/>
</define> </define>
<regions>
<region name="EcalBarrelRegion">
</region>
</regions>
<detectors> <detectors>
<detector id="DetID_ECAL" name="CaloDetector" type="CRDEcalBarrel" readout="EcalBarrelCollection" vis="Invisible" sensitive="true"> <detector id="DetID_ECAL" name="CaloDetector" type="CRDEcalBarrel_v01" readout="EcalBarrelCollection" vis="Invisible" sensitive="true" region="EcalBarrelRegion">
<!-- Use cm as unit if you want to use Pandora for reconstruction --> <!-- Use cm as unit if you want to use Pandora for reconstruction -->
</detector> </detector>
</detectors> </detectors>
<readouts> <readouts>
<readout name="EcalBarrelCollection"> <readout name="EcalBarrelCollection">
<!-- <segmentation type="NoSegmentation"/> --> <!--segmentation type="NoSegmentation"/-->
<!--segmentation type="CartesianGridXYZ" <!--segmentation type="CartesianGridXYZ"
grid_size_x="1*cm" grid_size_x="1*cm"
grid_size_y="1*cm" grid_size_y="1*cm"
grid_size_z="1*cm"/--> grid_size_z="1*cm"/-->
<id>system:4,layer:6,block:8,bar:10</id> <id>system:5,module:3,stave:4,dlayer:5,part:3,slayer:32:2,bar:6</id>
</readout> </readout>
</readouts> </readouts>
......
<?xml version="1.0" encoding="UTF-8"?>
<lccdd>
<define>
<constant name="ecalbarrel_inner_radius" value="Ecal_barrel_inner_radius"/>
<constant name="ecalbarrel_outer_radius" value="Ecal_barrel_outer_radius"/>
<constant name="ecalbarrel_zlength" value="Ecal_barrel_half_length*2"/>
<constant name="ecalbarrel_layer" value="28" />
<constant name="ecalbarrel_phimodule_number" value="32" />
<constant name="ecalbarrel_Zmodule_number" value="15"/>
<constant name="ecalbarrel_module_ratation" value="12.*degree" />
<constant name="ecalbarrel_width_crystal" value="10.2*mm"/>
<constant name="ecalbarrel_crystal_wrapping" value="0.1*mm"/>
<constant name="ecalbarrel_length_photoelectronic" value="0.7*mm"/>
<constant name="ecalbarrel_width_photoelectronic" value="3*mm"/>
<constant name="ecalbarrel_length_carbon" value="5.*mm"/>
<constant name="ecalbarrel_length_cable" value="0.*mm"/>
<constant name="ecalbarrel_length_cooling" value="1.*mm"/>
<constant name="ecalbarrel_length_pcb" value="1.2*mm"/>
<constant name="ecalbarrel_length_asic" value="1.*mm"/>
<constant name="ecalbarrel_length_back" value="10.*mm"/>
</define>
<regions>
<region name="EcalBarrelRegion">
</region>
</regions>
<detectors>
<detector id="DetID_ECAL" name="EcalBarrel" type="LongCrystalBarBarrelCalorimeter32Polygon_v01" readout="EcalBarrelCollection" vis="Invisible" sensitive="true" region="EcalBarrelRegion">
<!-- Use cm as unit if you want to use Pandora for reconstruction -->
</detector>
</detectors>
<readouts>
<readout name="EcalBarrelCollection">
<segmentation type="NoSegmentation"/>
<!--segmentation type="CartesianGridXYZ"
grid_size_x="1*cm"
grid_size_y="1*cm"
grid_size_z="1*cm"/-->
<id>system:5,module:5,stave:4,dlayer:5,slayer:6,bar:15</id>
</readout>
</readouts>
</lccdd>
<?xml version="1.0" encoding="UTF-8"?>
<lccdd>
<define>
<constant name="ecalbarrel_inner_radius" value="Ecal_barrel_inner_radius"/>
<constant name="ecalbarrel_outer_radius" value="Ecal_barrel_outer_radius"/>
<constant name="ecalbarrel_zlength" value="Ecal_barrel_half_length*2"/>
<constant name="ecalbarrel_layer" value="18" />
<constant name="ecalbarrel_phimodule_number" value="32" />
<constant name="ecalbarrel_Zmodule_number" value="15"/>
<constant name="ecalbarrel_module_ratation" value="12.*degree" />
<constant name="ecalbarrel_width_crystal" value="15.2*mm"/>
<constant name="ecalbarrel_crystal_wrapping" value="0.1*mm"/>
<constant name="ecalbarrel_length_photoelectronic" value="0.7*mm"/>
<constant name="ecalbarrel_width_photoelectronic" value="3*mm"/>
<constant name="ecalbarrel_length_carbon" value="5.*mm"/>
<constant name="ecalbarrel_length_cable" value="0.*mm"/>
<constant name="ecalbarrel_length_cooling" value="1.*mm"/>
<constant name="ecalbarrel_length_pcb" value="1.2*mm"/>
<constant name="ecalbarrel_length_asic" value="1.*mm"/>
<constant name="ecalbarrel_length_back" value="10.*mm"/>
</define>
<regions>
<region name="EcalBarrelRegion">
</region>
</regions>
<detectors>
<detector id="DetID_ECAL" name="EcalBarrel" type="LongCrystalBarBarrelCalorimeter32Polygon_v01" readout="EcalBarrelCollection" vis="Invisible" sensitive="true" region="EcalBarrelRegion">
<!-- Use cm as unit if you want to use Pandora for reconstruction -->
</detector>
</detectors>
<readouts>
<readout name="EcalBarrelCollection">
<segmentation type="NoSegmentation"/>
<!--segmentation type="CartesianGridXYZ"
grid_size_x="1*cm"
grid_size_y="1*cm"
grid_size_z="1*cm"/-->
<id>system:5,module:5,stave:4,dlayer:5,slayer:6,bar:15</id>
</readout>
</readouts>
</lccdd>
<?xml version="1.0" encoding="UTF-8"?>
<lccdd>
<define>
<constant name="ecalbarrel_inner_radius" value="Ecal_barrel_inner_radius"/>
<constant name="ecalbarrel_outer_radius" value="Ecal_barrel_outer_radius"/>
<constant name="ecalbarrel_zlength" value="Ecal_barrel_half_length*2"/>
<constant name="ecalbarrel_24X0" value="268.8*mm"/>
<constant name="ecalbarrel_layer" value="18" />
<constant name="ecalbarrel_phimodule_number" value="32" />
<constant name="ecalbarrel_phimodule_number_display" value="32" />
<constant name="ecalbarrel_Zmodule_number" value="15"/>
<constant name="ecalbarrel_Zmodule_number_display" value="15"/>
<constant name="ecalbarrel_module_ratation" value="12.*degree" />
<constant name="ecalbarrel_width_crystal" value="15.2*mm"/>
<constant name="ecalbarrel_width_crystal_n" value="15.8*mm"/>
<constant name="ecalbarrel_size_crystal" value="15.2*mm"/>
<constant name="ecalbarrel_crystal_wrapping" value="0.1*mm"/>
<constant name="ecalbarrel_crystal_supportting" value="0.000001*mm"/>
<constant name="ecalbarrel_length_photoelectronic" value="0.699999*mm"/>
<constant name="ecalbarrel_width_photoelectronic" value="3*mm"/>
<constant name="ecalbarrel_length_carbon" value="2.5*mm"/>
<constant name="ecalbarrel_length_carbon_z" value="2.5*mm"/>
<constant name="ecalbarrel_length_cable" value="0.*mm"/>
<constant name="ecalbarrel_length_cooling" value="1.*mm"/>
<constant name="ecalbarrel_length_pcb" value="2*mm"/>
<constant name="ecalbarrel_length_asic" value="2*mm"/>
<constant name="ecalbarrel_length_back" value="12*mm"/>
</define>
<regions>
<region name="EcalBarrelRegion">
</region>
</regions>
<detectors>
<detector id="DetID_ECAL" name="EcalBarrel" type="LongCrystalBarBarrelCalorimeter32Polygon_v02" readout="EcalBarrelCollection" vis="Invisible" sensitive="true" region="EcalBarrelRegion">
<!-- Use cm as unit if you want to use Pandora for reconstruction -->
</detector>
</detectors>
<readouts>
<readout name="EcalBarrelCollection">
<segmentation type="NoSegmentation"/>
<!--segmentation type="CartesianGridXYZ"
grid_size_x="1*cm"
grid_size_y="1*cm"
grid_size_z="1*cm"/-->
<id>system:5,module:5,stave:4,dlayer:5,slayer:6,bar:15</id>
</readout>
</readouts>
</lccdd>
<?xml version="1.0" encoding="UTF-8"?>
<lccdd>
<define>
<constant name="ecalendcap_inner_radius" value="Ecal_endcap_inner_radius"/>
<constant name="ecalendcap_outer_radius" value="Ecal_endcap_outer_radius"/>
<constant name="ecalendcap_block_xy" value="350*mm"/>
<constant name="ecalendcap_thickness" value="Ecal_endcap_zmax-Ecal_endcap_zmin"/>
<constant name="ecalendcap_z" value="0.5*(Ecal_endcap_zmin+Ecal_endcap_zmax)"/>
<constant name="Nblock_xy" value="6"/>
<constant name="Nsectors" value="4"/>
<!-- Fill in the space at the corner-->
<constant name="ecalendcap_block_fill_rect_short" value="260*mm"/>
<constant name="ecalendcap_block_fill_sq1" value="180*mm"/>
<constant name="ecalendcap_block_fill_sq2" value="270*mm"/>
<constant name="Ncell_rect_short" value="26"/>
<constant name="Ncell_sq1_xy" value="18"/>
<constant name="Ncell_sq2_xy" value="27"/>
<constant name="gap_narrow" value="2*mm"/>
<constant name="gap_wide" value="10*mm"/>
<!-- CrystalXY = CellXY - 2 * BoundarySafety - 2 * ESRThickness-->
<!-- CrystalZ = CellZ - 2 * BoundarySafety - 2 * ESRThickness-->
<constant name="Ncell_xy" value="35"/>
<constant name="crystal_z_endcap" value="4.1*cm"/>
<constant name="esr_thickness_endcap" value="0.1*mm"/>
<constant name="sipm_x" value="3*mm"/>
<constant name="sipm_y" value="3*mm"/>
<constant name="sipm_z_endcap" value="0.8*mm"/>
<constant name="pcb_thickness_endcap" value="2.2*mm"/>
<constant name="cu_thickness_endcap" value="1*mm"/>
<constant name="fibre_thickness_endcap" value="0.1*mm"/>
<constant name="boundary_safety_endcap" value="1*nm"/>
</define>
<regions>
<region name="EcalEndcapsRegion">
</region>
</regions>
<detectors>
<detector id="DetID_ECAL_ENDCAP"
name="EcalEndcaps"
type="CRDEcalEndcap_Short_v01"
readout="EcalEndcapsCollection"
vis="Invisible"
sensitive="true"
region="EcalEndcapsRegion">
<!-- Use cm as unit if you want to use Pandora for reconstruction -->
<material name="G4_BGO"/>
</detector>
</detectors>
<readouts>
<readout name="EcalEndcapsCollection">
<segmentation type="NoSegmentation"/>
<!--segmentation type="CartesianGridXYZ"
grid_size_x="1*cm"
grid_size_y="1*cm"
grid_size_z="1*cm"/-->
<id>system:5,module:3,stave:5,layer:5,x:6,y:6</id>
</readout>
</readouts>
</lccdd>
<?xml version="1.0" encoding="UTF-8"?>
<lccdd>
<define>
<constant name="ecalendcap_inner_radius" value="Ecal_endcap_inner_radius"/>
<constant name="ecalendcap_outer_radius" value="Ecal_endcap_outer_radius"/>
<constant name="ecalendcap_zmin" value="Ecal_endcap_zmin"/>
<constant name="ecalendcap_depth" value="Ecal_endcap_thickness"/>
<constant name="ecalendcap_layer" value="28" />
<constant name="ecalendcap_x_width" value="350*mm" />
<constant name="ecalendcap_y_width" value="350*mm" />
<constant name="ecalendcap_width_crystal" value="10.2*mm"/>
<constant name="ecalendcap_crystal_wrapping" value="0.1*mm"/>
<constant name="ecalendcap_length_photoelectronic" value="0.7*mm"/>
<constant name="ecalendcap_width_photoelectronic" value="3*mm"/>
<constant name="ecalendcap_length_carbon" value="2.5*mm"/>
<constant name="ecalendcap_length_cable" value="0.*mm"/>
<constant name="ecalendcap_length_cooling" value="1.*mm"/>
<constant name="ecalendcap_length_pcb" value="1.2*mm"/>
<constant name="ecalendcap_length_asic" value="1.*mm"/>
<constant name="ecalendcap_length_back" value="10.*mm"/>
</define>
<regions>
<region name="EcalendcapRegion">
</region>
</regions>
<detectors>
<detector id="DetID_ECAL_ENDCAP" name="EcalEndcaps" type="LongCrystalBarEndcapCalorimeter_v01" readout="EcalEndcapsCollection" vis="Invisible" sensitive="true" region="EcalendcapRegion">
<!-- Use cm as unit if you want to use Pandora for reconstruction -->
</detector>
</detectors>
<readouts>
<readout name="EcalEndcapsCollection">
<segmentation type="NoSegmentation"/>
<!--segmentation type="CartesianGridXYZ"
grid_size_x="1*cm"
grid_size_y="1*cm"
grid_size_z="1*cm"/-->
<id>system:5,module:1,stave:15,dlayer:5,slayer:1,bar:15</id>
</readout>
</readouts>
</lccdd>
<lccdd>
<define>
<!-- <constant name="Ecal_endcap_inner_radius" value="2.5*mm"/>
<constant name="Ecal_endcap_inner_radius" value="2.5*mm"/> -->
<constant name="Ecal_endcap_nlayers" value="28"/>
<constant name="Ecal_scintillator_thickness" value="10*mm"/>
<constant name="Ecal_deadarea_thickness" value="8.5*mm"/>
</define>
<detectors>
<detector id="DetID_ECAL_ENDCAP" name="EcalEndcap" type="LongCrystalBarEndcapCalorimeter_v02" readout="EcalEndcapsCollection" vis="CyanVis" calorimeterType="EMC_ENDCAP">
<comment>Electromagnetic Calorimeter Endcap</comment>
<envelope vis="SeeThrough">
<shape type="BooleanShape" operation="Subtraction" material="Air">
<shape type="BooleanShape" operation="Subtraction" material="Air">
<shape type="Tube" rmin="0.0" rmax="Ecal_endcap_outer_radius - env_safety" dz="Ecal_endcap_zmax"/> <!--there is a thin plane in envolop -->
<shape type="Tube" rmin="0.0" rmax="Ecal_endcap_outer_radius + env_safety" dz="Ecal_endcap_zmin"/>
</shape>
<shape type="Box" dx="Ecal_endcap_inner_radius" dy="Ecal_endcap_inner_radius" dz="Ecal_endcap_zmax + env_safety"/>
</shape>
<rotation x="0" y="0" z="0"/>
</envelope>
<type_flags type=" DetType_CALORIMETER + DetType_ENDCAP + DetType_EMC " />
<material name="CarbonFiber"/>
<dimensions numsides="Ecal_x_module" > <!-- 0:cube 1:isosceles trapezoid 2:right trapezoid -->
<dimensions id="1" module_type="0" module_number="3" x_offset="766.5*mm" y_offset="766.5*mm" z_offset="Ecal_endcap_zmin+Ecal_endcap_thickness/2" dim_x="326*mm" dim_y="326*mm" dim_z="300*mm"/>
<dimensions id="2" module_type="0" module_number="2" x_offset="1067.5*mm" y_offset="1067.5*mm" z_offset="Ecal_endcap_zmin+Ecal_endcap_thickness/2" dim_x="276*mm" dim_y="276*mm" dim_z="300*mm"/>
<dimensions id="3" module_type="0" module_number="1" x_offset="1304*mm" y_offset="1304*mm" z_offset="Ecal_endcap_zmin+Ecal_endcap_thickness/2" dim_x="197*mm" dim_y="197*mm" dim_z="300*mm"/>
<dimensions id="4" module_type="1" module_number="4" x_offset="570.5*mm" y_offset="0*mm" z_offset="Ecal_endcap_zmin+Ecal_endcap_thickness/2" dim_x1="574*mm" dim_x2="495*mm" dim_y1="441*mm" dim_y2="441*mm" dim_z="300*mm" />
<dimensions id="7" module_type="4" module_number="4" x_offset="570.5*mm" y_offset="0*mm" z_offset="Ecal_endcap_zmin+Ecal_endcap_thickness/2" dim_x1="574*mm" dim_x2="495*mm" dim_y1="441*mm" dim_y2="441*mm" dim_z="300*mm" />
<dimensions id="5" module_type="2" module_number="4" x_offset="425.5*mm" y_offset="435*mm" z_offset="Ecal_endcap_zmin+Ecal_endcap_thickness/2" dim_x1="318*mm" dim_x2="356*mm" dim_y1="356*mm" dim_y2="356*mm" dim_z="300*mm"/>
<dimensions id="8" module_type="5" module_number="4" x_offset="425.5*mm" y_offset="435*mm" z_offset="Ecal_endcap_zmin+Ecal_endcap_thickness/2" dim_x1="318*mm" dim_x2="356*mm" dim_y1="356*mm" dim_y2="356*mm" dim_z="300*mm"/>
<dimensions id="6" module_type="3" module_number="1" x_offset="425.5*mm" y_offset="425.5*mm" z_offset="Ecal_endcap_zmin+Ecal_endcap_thickness/2" dim_x="178*mm" dim_y="140*mm" dim_z="300*mm"/>
<dimensions id="9" module_type="6" module_number="1" x_offset="425.5*mm" y_offset="425.5*mm" z_offset="Ecal_endcap_zmin+Ecal_endcap_thickness/2" dim_x="178*mm" dim_y="140*mm" dim_z="300*mm"/>
<dimensions id="10" module_type="7" module_number="1" x_offset="425.5*mm" y_offset="425.5*mm" z_offset="Ecal_endcap_zmin+Ecal_endcap_thickness/2" dim_x="178*mm" dim_y="140*mm" dim_z="300*mm"/>
<dimensions id="11" module_type="8" module_number="1" x_offset="425.5*mm" y_offset="425.5*mm" z_offset="Ecal_endcap_zmin+Ecal_endcap_thickness/2" dim_x="178*mm" dim_y="140*mm" dim_z="300*mm"/>
<!-- 425.5 -->
</dimensions>
<layer repeat="Ecal_endcap_nlayers" vis="CyanVis" material="G4_BGO" thickness = "Ecal_scintillator_thickness">
<slice material="G4_BGO" thickness = "Ecal_scintillator_thickness" sensitive = "yes" limits="cal_limits" vis="CyanVis" />
</layer>
</detector>
</detectors>
<readouts>
<readout name="EcalEndcapsCollection">
<segmentation type="NoSegmentation"/>
<id>system:5,module:1,part:7,stave:7,type:4,dlayer:4,slayer:1,bar:7</id>
</readout>
</readouts>
</lccdd>