From 280a18d45908e28742f684c89bd69cf8d77b7e2a Mon Sep 17 00:00:00 2001 From: Chengdong Fu <fucd@ihep.ac.cn> Date: Thu, 12 Nov 2020 20:18:20 +0800 Subject: [PATCH] combine config --- .../CRD_common_v01/Beampipe_v01_01.xml | 66 ++ .../CRD_common_v01/DC_Simple_v01_01.xml | 57 ++ .../Ecal_Crystal_Barrel_v01_01.xml | 27 + .../FTD_SimpleStaggered_v01_01.xml | 77 +++ .../SET_SimplePlanar_v01_01.xml | 45 ++ .../SIT_SimplePlanar_v01_01.xml | 56 ++ .../compact/CRD_common_v01/VXD_v01_01.xml | 107 ++++ .../compact/CRD_common_v01/materials.xml | 565 ++++++++++++++++++ .../CRD_o1_v01/CRD_Dimensions_v01_01.xml | 220 +++++++ .../DetCRD/compact/CRD_o1_v01/CRD_o1_v01.xml | 42 ++ Detector/DetCRD/compact/README.md | 40 ++ Detector/DetCRD/compact/ecalBarrel.xml | 45 -- Detector/DetCRD/scripts/sim_CRD.py | 93 +++ 13 files changed, 1395 insertions(+), 45 deletions(-) create mode 100644 Detector/DetCRD/compact/CRD_common_v01/Beampipe_v01_01.xml create mode 100644 Detector/DetCRD/compact/CRD_common_v01/DC_Simple_v01_01.xml create mode 100644 Detector/DetCRD/compact/CRD_common_v01/Ecal_Crystal_Barrel_v01_01.xml create mode 100644 Detector/DetCRD/compact/CRD_common_v01/FTD_SimpleStaggered_v01_01.xml create mode 100644 Detector/DetCRD/compact/CRD_common_v01/SET_SimplePlanar_v01_01.xml create mode 100644 Detector/DetCRD/compact/CRD_common_v01/SIT_SimplePlanar_v01_01.xml create mode 100644 Detector/DetCRD/compact/CRD_common_v01/VXD_v01_01.xml create mode 100644 Detector/DetCRD/compact/CRD_common_v01/materials.xml create mode 100644 Detector/DetCRD/compact/CRD_o1_v01/CRD_Dimensions_v01_01.xml create mode 100644 Detector/DetCRD/compact/CRD_o1_v01/CRD_o1_v01.xml create mode 100644 Detector/DetCRD/compact/README.md delete mode 100644 Detector/DetCRD/compact/ecalBarrel.xml create mode 100644 Detector/DetCRD/scripts/sim_CRD.py diff --git a/Detector/DetCRD/compact/CRD_common_v01/Beampipe_v01_01.xml b/Detector/DetCRD/compact/CRD_common_v01/Beampipe_v01_01.xml new file mode 100644 index 00000000..58c49be5 --- /dev/null +++ b/Detector/DetCRD/compact/CRD_common_v01/Beampipe_v01_01.xml @@ -0,0 +1,66 @@ +<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> + <constant name="ForkAsymThickness" value="BeamPipe_Dnstream_inner_radius+BeamPipe_Cu_thickness-BeamPipe_Upstream_inner_radius"/> + </define> + + <detectors> + <detector name="BeamPipe" type="DD4hep_CRDBeamPipe_v01" vis="BeamPipeVis"> + <parameter crossingangle="CrossingAngle" /> + <envelope vis="BlueVis"> + <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"/> + <layer material="G4_Be" thickness="BeamPipe_Be_inner_thickness"/> + <layer material="G4_PARAFFIN" thickness="BeamPipe_Cooling_thickness"/> + <layer material="G4_Be" thickness="BeamPipe_Be_outer_thickness"/> + </section> + <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="G4_Al" thickness="BeamPipe_Al_thickness"/> + </section> + <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="G4_Al" thickness="BeamPipe_Al_thickness" thicknessEnd="BeamPipe_Al_thickness"/> + </section> + <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="G4_Al" thickness="BeamPipe_Al_thickness"/> + </section> + <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="G4_Cu" thickness="BeamPipe_Cu_thickness"/> + </section> + <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"/> + </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" + 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"/> + </section> + <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"> + <layer material="G4_Cu" thickness="BeamPipe_Cu_thickness"/> + </section--> + <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="G4_Cu" thickness="ForkAsymThickness" thicknessEnd="BeamPipe_Cu_thickness"/> + </section> + <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="G4_Cu" thickness="BeamPipe_Cu_thickness"/> + </section> + </detector> + </detectors> +</lccdd> diff --git a/Detector/DetCRD/compact/CRD_common_v01/DC_Simple_v01_01.xml b/Detector/DetCRD/compact/CRD_common_v01/DC_Simple_v01_01.xml new file mode 100644 index 00000000..3b843fc9 --- /dev/null +++ b/Detector/DetCRD/compact/CRD_common_v01/DC_Simple_v01_01.xml @@ -0,0 +1,57 @@ +<?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> diff --git a/Detector/DetCRD/compact/CRD_common_v01/Ecal_Crystal_Barrel_v01_01.xml b/Detector/DetCRD/compact/CRD_common_v01/Ecal_Crystal_Barrel_v01_01.xml new file mode 100644 index 00000000..b408c7a3 --- /dev/null +++ b/Detector/DetCRD/compact/CRD_common_v01/Ecal_Crystal_Barrel_v01_01.xml @@ -0,0 +1,27 @@ +<?xml version="1.0" encoding="UTF-8"?> +<lccdd> + <define> + <constant name="ecalbarrel_inner_radius" value="Ecal_barrel_inner_radius"/> + <constant name="ecalbarrel_thickness" value="Ecal_barrel_thickness"/> <!--Must be n*10*mm! --> + <constant name="ecalbarrel_zlength" value="Ecal_barrel_half_length*2"/> <!--Must be n*10*mm! --> + </define> + + <detectors> + <detector id="DetID_ECAL" name="CaloDetector" type="CRDEcalBarrel" readout="EcalBarrelCollection" vis="Invisible" sensitive="true"> + <!-- 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:4,layer:6,block:8,bar:10</id> + </readout> + </readouts> + +</lccdd> diff --git a/Detector/DetCRD/compact/CRD_common_v01/FTD_SimpleStaggered_v01_01.xml b/Detector/DetCRD/compact/CRD_common_v01/FTD_SimpleStaggered_v01_01.xml new file mode 100644 index 00000000..dce464bf --- /dev/null +++ b/Detector/DetCRD/compact/CRD_common_v01/FTD_SimpleStaggered_v01_01.xml @@ -0,0 +1,77 @@ +<lccdd> + <define> + <constant name="FTD_inner_radius" value="BeamPipe_VertexRegion_rmax + FTD_BeamPipe_cable_clearance"/> + <constant name="FTD_outer_radius" value="InnerTracker_inner_radius - FTD_InnerTracker_gap"/> + <constant name="FTD_outer_radius_1" value="SIT1_inner_radius - env_safety"/> + <constant name="FTD_outer_radius_2" value="FTD_outer_radius - env_safety"/> + <constant name="FTD_half_length" value="InnerTracker_half_length"/> + <constant name="FTD_min_z_0" value="Vertex_half_length + env_safety"/> + <constant name="FTD_min_z_2" value="SIT1_half_length + env_safety"/> + <constant name="FTD_cone_min_z" value="BeamPipe_CentralAl_zmax"/> + <constant name="FTD_cone_radius" value="FTD_half_length*tan(CrossingAngle/2) + BeamPipe_Dnstream_inner_radius + BeamPipe_Cu_thickness + FTD_BeamPipe_cable_clearance/2"/> + <!--FTD_inner_radius/(BeamPipe_ConeAl_zmax-BeamPipe_CentralAl_zmax)*(FTD_half_length-BeamPipe_CentralAl_zmax)"/--> + <constant name="petal_cp_support_thickness" value="2.0*mm"/> + <constant name="petal_support_zoffset" value="1.5*mm"/> + <constant name="FTD1_vtx3_distance_z" value="95*mm"/> + <constant name="FTD7_ecal_distance_z" value="200*mm"/> + <constant name="FTD_disk2_zPosRelToDCLength" value="0.158004*2350*mm/InnerTracker_half_length"/> + <constant name="FTD_disk3_zPosRelToDCLength" value="0.273577*2350*mm/InnerTracker_half_length"/> + <constant name="FTD_disk4_zPosRelToDCLength" value="0.359149*2350*mm/InnerTracker_half_length"/> + <constant name="FTD_disk5_zPosRelToDCLength" value="0.393600*2350*mm/InnerTracker_half_length"/> + </define> + + <detectors> + <detector id="DetID_FTD" name="FTD" type="FTD_Simple_Staggered" vis="FTDVis" readout="FTDCollection" insideTrackingVolume="true"> + <envelope vis="FTDVis"> + <shape type="BooleanShape" operation="Subtraction" material="Air" > + <shape type="BooleanShape" operation="Subtraction" material="Air" > + <shape type="BooleanShape" operation="Subtraction" material="Air" > + <shape type="BooleanShape" operation="Subtraction" material="Air" > + <shape type="Tube" rmin="FTD_inner_radius" rmax="FTD_outer_radius" dz="FTD_half_length" /> + <shape type="Tube" rmin="0." rmax="FTD_outer_radius+env_safety" dz="FTD_min_z_0" /> + </shape> + <shape type="Tube" rmin="FTD_outer_radius_1" rmax="FTD_outer_radius+env_safety" dz="FTD_min_z_2" /> + </shape> + <shape type="Cone" rmin1="0" rmax1="FTD_inner_radius" rmin2="0" rmax2="FTD_cone_radius" + z="(FTD_half_length-FTD_cone_min_z)/2. + env_safety "/> + <position x="0" y="0" z="FTD_cone_min_z+(FTD_half_length-FTD_cone_min_z)/2."/> + </shape> + <shape type="Cone" rmin1="0" rmax1="FTD_inner_radius" rmin2="0" rmax2="FTD_cone_radius" + z="(FTD_half_length-FTD_cone_min_z)/2. + env_safety "/> + <position x="0" y="0" z="-FTD_cone_min_z-(FTD_half_length-FTD_cone_min_z)/2."/> + <rotation x="0" y="180.*deg" z="0" /> + </shape> + </envelope> + + <type_flags type="DetType_TRACKER + DetType_ENDCAP + DetType_PIXEL + DetType_STRIP "/> + + <!-- SQL command: "select * from common_parameters;" --> + <common_parameters ftd1_vtx3_distance_z="FTD1_vtx3_distance_z" + ftd7_ecal_distance_z="FTD7_ecal_distance_z" ftd1_sit1_radial_diff="-1*mm" ftd2_sit1_radial_diff="-1*mm" ftd3_sit2_radial_diff="-FTD_InnerTracker_gap" + ftd4to7_tpc_radial_gap="FTD_InnerTracker_gap" beamtube_clearance="FTD_BeamPipe_gap" cables_thickness="0.08*mm" cable_shield_thickness="0.1*mm" + outer_cylinder_total_thickness="1*mm" petal_half_angle_support="11.25*deg" petal_y_ratio="0.5015" + support_spaceframe_width="10*mm"/> + + <!-- SQL command: "select * from extended_reconstruction_parameters;" --> + <extended_reconstruction_parameters strip_width="0.001*mm" strip_length="250*mm" strip_pitch="0.01*mm" strip_angle="5*deg" /> + + <!-- SQL command: "select * from disks;" --> + <disk disk_number="1" z_position_ReltoTPCLength="0" disk_si_thickness="0.02*mm" petal_cp_support_dxMax="71.9*mm" padUp_Si_dxMax="68*mm" petal_cp_support_thickness="1*mm" petal_support_zoffset="1.5*mm" sensor_is_pixel="1" double_sided="0" /> + <disk disk_number="2" z_position_ReltoTPCLength="FTD_disk2_zPosRelToDCLength" disk_si_thickness="0.02*mm" petal_cp_support_dxMax="71.9*mm" padUp_Si_dxMax="68*mm" petal_cp_support_thickness="1*mm" petal_support_zoffset="1.5*mm" sensor_is_pixel="1" double_sided="0" /> + <disk disk_number="3" z_position_ReltoTPCLength="FTD_disk3_zPosRelToDCLength" disk_si_thickness="0.2*mm" petal_cp_support_dxMax="103.49*mm" padUp_Si_dxMax="99.46*mm" petal_cp_support_thickness="2*mm" petal_support_zoffset="1.5*mm" sensor_is_pixel="0" double_sided="1" /> + <disk disk_number="4" z_position_ReltoTPCLength="FTD_disk4_zPosRelToDCLength" disk_si_thickness="0.2*mm" petal_cp_support_dxMax="103.49*mm" padUp_Si_dxMax="99.46*mm" petal_cp_support_thickness="2*mm" petal_support_zoffset="1.5*mm" sensor_is_pixel="0" double_sided="1" /> + <disk disk_number="5" z_position_ReltoTPCLength="FTD_disk5_zPosRelToDCLength" disk_si_thickness="0.2*mm" petal_cp_support_dxMax="103.49*mm" padUp_Si_dxMax="99.46*mm" petal_cp_support_thickness="2*mm" petal_support_zoffset="1.5*mm" sensor_is_pixel="0" double_sided="1" /> + + </detector> + + </detectors> + + <readouts> + <readout name="FTDCollection"> + <!-- fixme: for now DD4hep cannot handle signed values - side should actually be "-2" --> + <id>system:5,side:2,layer:9,module:8,sensor:8</id> + </readout> + </readouts> + + +</lccdd> diff --git a/Detector/DetCRD/compact/CRD_common_v01/SET_SimplePlanar_v01_01.xml b/Detector/DetCRD/compact/CRD_common_v01/SET_SimplePlanar_v01_01.xml new file mode 100644 index 00000000..5e391517 --- /dev/null +++ b/Detector/DetCRD/compact/CRD_common_v01/SET_SimplePlanar_v01_01.xml @@ -0,0 +1,45 @@ +<lccdd> + <define> + <constant name="SET_inner_radius" value="OuterTracker_outer_radius + env_safety"/> + <constant name="SET_outer_radius" value="Ecal_barrel_inner_radius - env_safety "/> + <constant name="SET_half_length" value="OuterTracker_half_length"/> + </define> + + <detectors> + <detector id="DetID_SET" name="SET" type="SET_Simple_Planar" vis="SETVis" readout="SETCollection" insideTrackingVolume="true"> + <envelope vis="SETVis"> + <shape type="Tube" rmin="SET_inner_radius" rmax="SET_outer_radius" dz="SET_half_length" material = "Air" /> + </envelope> + + <type_flags type="DetType_TRACKER + DetType_BARREL + DetType_STRIP "/> + + <!-- database : set_simple_planar_sensors_01 --> + + <!-- SQL command: "select * from extended_reconstruction_parameters;" --> + <reconstruction strip_width="0.0125*mm" strip_length="92*mm" strip_pitch="0.05*mm" strip_angle="7*deg" /> + + <!-- SQL command: "select * from global;" --> + <global sensitive_thickness="0.2*mm" support_thickness="1*mm" sensor_length="92*mm" sensitive_mat="G4_Si" + support_mat="G4_C" sensitive_threshold_KeV="64*keV" /> + + <!-- SQL command: "select * from set_layers;" --> + + <layer layer_id="0" sensitive_distance_from_tpc="3*mm" coverage_of_TPC_Ecal_Hcal_barrel="0.98" + n_ladders="24" ladder_clearance="0.1*mm" faces_IP="1" /> + + <layer layer_id="1" sensitive_distance_from_tpc="5.5*mm" coverage_of_TPC_Ecal_Hcal_barrel="0.98" + n_ladders="24" ladder_clearance="0.1*mm" faces_IP="0" /> + + </detector> + + </detectors> + + <readouts> + <readout name="SETCollection"> + <id>system:5,side:-2,layer:9,module:8,sensor:8,barrelside:-2</id> + </readout> + </readouts> + + +</lccdd> + diff --git a/Detector/DetCRD/compact/CRD_common_v01/SIT_SimplePlanar_v01_01.xml b/Detector/DetCRD/compact/CRD_common_v01/SIT_SimplePlanar_v01_01.xml new file mode 100644 index 00000000..857af327 --- /dev/null +++ b/Detector/DetCRD/compact/CRD_common_v01/SIT_SimplePlanar_v01_01.xml @@ -0,0 +1,56 @@ +<lccdd> + <define> + <constant name="SIT_sensitive_thickness" value="0.2*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="InnerTracker_outer_radius + env_safety"/> + <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_Planar" vis="SITVis" readout="SITCollection" insideTrackingVolume="true"> + <envelope vis="SeeThrough"> + <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_STRIP "/> + + <!-- database : sit_simple_planar_sensors_03 --> + + <!-- SQL command: "select * from extended_reconstruction_parameters;" --> + <reconstruction strip_width="0." strip_length="92*mm" strip_pitch="0." strip_angle="0*deg" /> + + <!-- SQL command: "select * from global;" --> + <global sensitive_thickness="SIT_sensitive_thickness" support_thickness="1*mm" sensor_length="92*mm" + sensitive_mat="G4_Si" support_mat="G4_C" sensitive_threshold_KeV="64*keV" /> + + <!-- SQL command: "select * from sit_layers;" --> + <layer layer_id="0" sensitive_radius="SIT_inner_radius_1+0.5*SIT_sensitive_thickness" n_sensors_per_ladder="8" n_ladders="10" + ladder_clearance="0.1*mm" faces_IP="1" is_SIT1="1" is_SIT2="0" /> + + <layer layer_id="1" sensitive_radius="SIT_inner_radius_1+0.5*SIT_sensitive_thickness+SIT_layer_gap" n_sensors_per_ladder="8" n_ladders="10" + ladder_clearance="0.1*mm" faces_IP="0" is_SIT1="0" is_SIT2="0" /> + + <layer layer_id="2" sensitive_radius="SIT_inner_radius_2+0.5*SIT_sensitive_thickness" n_sensors_per_ladder="48" n_ladders="24" + ladder_clearance="0.1*mm" faces_IP="1" is_SIT1="0" is_SIT2="1" /> + + <layer layer_id="3" sensitive_radius="SIT_inner_radius_2+0.5*SIT_sensitive_thickness+SIT_layer_gap" n_sensors_per_ladder="48" n_ladders="24" + ladder_clearance="0.1*mm" faces_IP="0" 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> diff --git a/Detector/DetCRD/compact/CRD_common_v01/VXD_v01_01.xml b/Detector/DetCRD/compact/CRD_common_v01/VXD_v01_01.xml new file mode 100644 index 00000000..07298268 --- /dev/null +++ b/Detector/DetCRD/compact/CRD_common_v01/VXD_v01_01.xml @@ -0,0 +1,107 @@ +<lccdd> + <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="VXD_inner_radius_1" value="BeamPipe_VertexRegion_rmax"/> + <constant name="VXD_radius_r1" value="16*mm"/> + <constant name="VXD_radius_r3" value="37*mm"/> + <constant name="VXD_radius_r5" value="58*mm"/> + <constant name="VXD_length_r1" value="62.5*mm"/> + <constant name="VXD_length_r3" value="125*mm"/> + <constant name="VXD_length_r5" value="125*mm"/> + <constant name="VXD_cone_max_z" value="Vertex_half_length-10*mm"/> + <constant name="VXD_cone_min_z" value="VXD_length_r5+10*mm"/> + </define> + + <detectors> + <detector id="DetID_VXD" name="VXD" type="VXD04" vis="VXDVis" readout="VXDCollection" insideTrackingVolume="true"> + <envelope vis="VXDVis"> + <shape type="BooleanShape" operation="Subtraction" material="Air" > + <shape type="BooleanShape" operation="Subtraction" material="Air" > + <shape type="BooleanShape" operation="Subtraction" material="Air" > + <shape type="BooleanShape" operation="Subtraction" material="Air" > + <shape type="Tube" rmin="VXD_inner_radius" rmax="VXD_outer_radius" dz="VXD_half_length" /> + <shape type="Tube" rmin="0." rmax="VXD_inner_radius_1" dz="(VXD_half_length - VXD_cone_max_z)/2. + env_safety " /> + <position x="0" y="0" z="VXD_half_length-(VXD_half_length - VXD_cone_max_z)/2.+ env_safety"/> + </shape> + <shape type="Tube" rmin="0." rmax="VXD_inner_radius_1" dz="(VXD_half_length - VXD_cone_max_z)/2. + env_safety " /> + <position x="0" y="0" z="- ( VXD_half_length-(VXD_half_length - VXD_cone_max_z)/2.+ env_safety ) "/> + <rotation x="0" y="180.*deg" z="0" /> + </shape> + <shape type="Cone" rmin1="0" rmax1="VXD_inner_radius" rmin2="0" rmax2="VXD_inner_radius_1" + z="(VXD_cone_max_z-VXD_cone_min_z)/2. + env_safety "/> + <position x="0" y="0" z="VXD_cone_min_z+(VXD_cone_max_z-VXD_cone_min_z)/2."/> + </shape> + <shape type="Cone" rmin1="0" rmax1="VXD_inner_radius" rmin2="0" rmax2="VXD_inner_radius_1" + z="(VXD_cone_max_z-VXD_cone_min_z)/2. + env_safety "/> + <position x="0" y="0" z="-(VXD_cone_min_z+(VXD_cone_max_z-VXD_cone_min_z)/2.)"/> + <rotation x="0" y="180.*deg" z="0" /> + </shape> + </envelope> + + <!-- set the detecor type flag - note: using the '+' operator here as the evaluator does not understand '|' + -> be carefull not to add any flags twice !!! --> + <type_flags type=" DetType_TRACKER + DetType_PIXEL + DetType_VERTEX "/> + + <!-- database : TMP_DB10 --> + <!-- SQL command: "select * from layers_common_parameters;" --> + <layers_common_parameters id="1" + electronics_structure_thickness="0.1*mm" + active_silicon_thickness="0.05*mm" + support_structure_radial_thickness="0.49392*mm" + end_electronics_half_z="5*mm" + strip_final_beampipe_radious="VXD_inner_radius_1" + side_band_electronics_option="1" + end_ladd_electronics_option="1" + side_band_electronics_width="0.5*mm" + side_band_electronics_thickness="0.05*mm" + active_side_band_electronics_option="0" + layer_gap="2*mm" + flex_cable_material="G4_KAPTON" + flex_cable_thickness="0.05*mm" + foam_spacer_material="SiC_foam" + foam_spacer_thickness="0.94*mm" + metal_traces_material="G4_Al" + metal_traces_thickness="0.01*mm" + cool_pipe_material="titanium" + cool_pipe_inner_radius="0.75*mm" + cool_pipe_outer_radius="1*mm" + external_kapton_thickness="0.05*mm" + external_metal_thickness="0.009*mm" /> + <!-- SQL command: "SELECT * FROM cryostat;" --> + <cryostat id="1" alu_skin_inner_radious="100*mm" alu_skin_tickness="0.5*mm" foam_inner_radious="90*mm" foam_tickness="10*mm" foam_half_z="166.6*mm" + endplate_inner_radious="VXD_inner_radius_1" + cryostat_option="1" cryostat_apperture="30*mm" cryostat_apperture_radius="1.5*mm" /> + <!-- SQL command: "select * from support_shell;" --> + <support_shell id="0" inner_radious="65*mm" half_z="145*mm" thickess="0.49392*mm" endplate_inner_radious="30*mm" endplate_inner_radius_L1="15.7*mm" endplate_outer_radius_L1="20*mm" + offset_ladder_block="0.28224*mm" beryllium_ladder_block_length="5*mm" beryllium_ladder_block_thickness="0.25*mm" shell_endplate_thickness="2*mm" forward_shell_half_z="6.5*mm" /> + <!-- SQL command: "select * from layer;" --> + <layer id="0" layer_radius="VXD_radius_r1" ladder_length="VXD_length_r1" ladder_width="5.5*mm" nb_ladder="10" ladder_gap="0" strip_line_final_z="150*mm" end_electronics_width="5.5*mm" + initial_kapton_striplines_thickness="0.04566*mm" final_kapton_striplines_thickness="0.02435*mm" initial_metal_striplines_thickness="0.00806*mm" + final_metal_striplines_thickness="0.0043*mm" support_width="4.5*mm" /> + <layer id="1" layer_radius="VXD_radius_r1" ladder_length="VXD_length_r1" ladder_width="5.5*mm" nb_ladder="10" ladder_gap="0" strip_line_final_z="150*mm" end_electronics_width="5.5*mm" + initial_kapton_striplines_thickness="0.04566*mm" final_kapton_striplines_thickness="0.02435*mm" initial_metal_striplines_thickness="0.00806*mm" + final_metal_striplines_thickness="0.0043*mm" support_width="4.5*mm" /> + <layer id="2" layer_radius="VXD_radius_r3" ladder_length="VXD_length_r3" ladder_width="11*mm" nb_ladder="11" ladder_gap="0*mm" strip_line_final_z="150*mm" end_electronics_width="11*mm" + initial_kapton_striplines_thickness="0.04102*mm" final_kapton_striplines_thickness="0.05059*mm" initial_metal_striplines_thickness="0.00724*mm" + final_metal_striplines_thickness="0.00893*mm" support_width="10*mm" /> + <layer id="3" layer_radius="VXD_radius_r3" ladder_length="VXD_length_r3" ladder_width="11*mm" nb_ladder="11" ladder_gap="0*mm" strip_line_final_z="150*mm" end_electronics_width="11*mm" + initial_kapton_striplines_thickness="0.04102*mm" final_kapton_striplines_thickness="0.05059*mm" initial_metal_striplines_thickness="0.00724*mm" + final_metal_striplines_thickness="0.00893*mm" support_width="10*mm" /> + <layer id="4" layer_radius="VXD_radius_r5" ladder_length="VXD_length_r3" ladder_width="11*mm" nb_ladder="17" ladder_gap="0*mm" strip_line_final_z="150*mm" end_electronics_width="11*mm" + initial_kapton_striplines_thickness="0.04044*mm" final_kapton_striplines_thickness="0.07819*mm" initial_metal_striplines_thickness="0.00714*mm" + final_metal_striplines_thickness="0.0138*mm" support_width="10*mm" /> + <layer id="5" layer_radius="VXD_radius_r5" ladder_length="VXD_length_r3" ladder_width="11*mm" nb_ladder="17" ladder_gap="0*mm" strip_line_final_z="150*mm" end_electronics_width="11*mm" + initial_kapton_striplines_thickness="0.04044*mm" final_kapton_striplines_thickness="0.07819*mm" initial_metal_striplines_thickness="0.00714*mm" + final_metal_striplines_thickness="0.0138*mm" support_width="10*mm" /> + </detector> + + </detectors> + + <readouts> + <readout name="VXDCollection"> + <id>system:5,side:-2,layer:9,module:8,sensor:8,barrelside:-2</id> + </readout> + </readouts> +</lccdd> diff --git a/Detector/DetCRD/compact/CRD_common_v01/materials.xml b/Detector/DetCRD/compact/CRD_common_v01/materials.xml new file mode 100644 index 00000000..74b3f3fa --- /dev/null +++ b/Detector/DetCRD/compact/CRD_common_v01/materials.xml @@ -0,0 +1,565 @@ + <materials> + <isotope N="1" Z="1" name="H1"> + <atom unit="g/mole" value="1.00782503081372"/> + </isotope> + <isotope N="2" Z="1" name="H2"> + <atom unit="g/mole" value="2.01410199966617"/> + </isotope> + <element name="H"> + <fraction n="0.999885" ref="H1"/> + <fraction n="0.000115" ref="H2"/> + </element> + <isotope N="12" Z="6" name="C12"> + <atom unit="g/mole" value="12"/> + </isotope> + <isotope N="13" Z="6" name="C13"> + <atom unit="g/mole" value="13.0034"/> + </isotope> + <element name="C"> + <fraction n="0.9893" ref="C12"/> + <fraction n="0.0107" ref="C13"/> + </element> + <isotope N="14" Z="7" name="N14"> + <atom unit="g/mole" value="14.0031"/> + </isotope> + <isotope N="15" Z="7" name="N15"> + <atom unit="g/mole" value="15.0001"/> + </isotope> + <element name="N"> + <fraction n="0.99632" ref="N14"/> + <fraction n="0.00368" ref="N15"/> + </element> + <isotope N="16" Z="8" name="O16"> + <atom unit="g/mole" value="15.9949"/> + </isotope> + <isotope N="17" Z="8" name="O17"> + <atom unit="g/mole" value="16.9991"/> + </isotope> + <isotope N="18" Z="8" name="O18"> + <atom unit="g/mole" value="17.9992"/> + </isotope> + <element name="O"> + <fraction n="0.99757" ref="O16"/> + <fraction n="0.00038" ref="O17"/> + <fraction n="0.00205" ref="O18"/> + </element> + <material name="G4_KAPTON" state="solid"> + <MEE unit="eV" value="79.6"/> + <D unit="g/cm3" value="1.42"/> + <fraction n="0.026362" ref="H"/> + <fraction n="0.691133" ref="C"/> + <fraction n="0.07327" ref="N"/> + <fraction n="0.209235" ref="O"/> + </material> + <isotope N="28" Z="14" name="Si28"> + <atom unit="g/mole" value="27.9769"/> + </isotope> + <isotope N="29" Z="14" name="Si29"> + <atom unit="g/mole" value="28.9765"/> + </isotope> + <isotope N="30" Z="14" name="Si30"> + <atom unit="g/mole" value="29.9738"/> + </isotope> + <element name="Si"> + <fraction n="0.922296077703922" ref="Si28"/> + <fraction n="0.0468319531680468" ref="Si29"/> + <fraction n="0.0308719691280309" ref="Si30"/> + </element> + <material name="SiC_foam" state="solid"> + <MEE unit="eV" value="137.77733431141"/> + <D unit="g/cm3" value="0.19"/> + <fraction n="0.299548759813591" ref="C"/> + <fraction n="0.700451240186409" ref="Si"/> + </material> + <material Z="13" name="G4_Al" state="solid"> + <MEE unit="eV" value="166"/> + <D unit="g/cm3" value="2.699"/> + <atom unit="g/mole" value="26.9815"/> + <fraction n="1" ref="Al"/> + </material> + <material name="G4_Si" state="solid"> + <MEE unit="eV" value="173"/> + <D unit="g/cm3" value="2.33"/> + <fraction n="1" ref="Si"/> + </material> + <isotope N="63" Z="29" name="Cu63"> + <atom unit="g/mole" value="62.9296"/> + </isotope> + <isotope N="65" Z="29" name="Cu65"> + <atom unit="g/mole" value="64.9278"/> + </isotope> + <element name="Cu"> + <fraction n="0.6917" ref="Cu63"/> + <fraction n="0.3083" ref="Cu65"/> + </element> + <material name="G4_Cu" state="solid"> + <MEE unit="eV" value="322"/> + <D unit="g/cm3" value="8.96"/> + <fraction n="1" ref="Cu"/> + </material> + <material Z="4" name="G4_Be" state="solid"> + <MEE unit="eV" value="63.7"/> + <D unit="g/cm3" value="1.848"/> + <atom unit="g/mole" value="9.01218"/> + <fraction n="1" ref="Be"/> + </material> + <isotope N="46" Z="22" name="Ti46"> + <atom unit="g/mole" value="45.9526"/> + </isotope> + <isotope N="47" Z="22" name="Ti47"> + <atom unit="g/mole" value="46.9518"/> + </isotope> + <isotope N="48" Z="22" name="Ti48"> + <atom unit="g/mole" value="47.9479"/> + </isotope> + <isotope N="49" Z="22" name="Ti49"> + <atom unit="g/mole" value="48.9479"/> + </isotope> + <isotope N="50" Z="22" name="Ti50"> + <atom unit="g/mole" value="49.9448"/> + </isotope> + <element name="Ti"> + <fraction n="0.0825" ref="Ti46"/> + <fraction n="0.0744" ref="Ti47"/> + <fraction n="0.7372" ref="Ti48"/> + <fraction n="0.0541" ref="Ti49"/> + <fraction n="0.0518" ref="Ti50"/> + </element> + <material name="G4_Ti" state="solid"> + <MEE unit="eV" value="233"/> + <D unit="g/cm3" value="4.54"/> + <fraction n="1" ref="Ti"/> + </material> + <material name="styropor" state="solid"> + <MEE unit="eV" value="65.9436601819466"/> + <D unit="g/cm3" value="0.025"/> + <fraction n="0.922577329294378" ref="C"/> + <fraction n="0.0774226707056217" ref="H"/> + </material> + <material name="GroundOrHVMix" state="solid"> + <MEE unit="eV" value="259.806022507979"/> + <D unit="g/cm3" value="5.19"/> + <fraction n="0.00360636223506744" ref="H"/> + <fraction n="0.0945480597302505" ref="C"/> + <fraction n="0.0100234489402697" ref="N"/> + <fraction n="0.0286236705202312" ref="O"/> + <fraction n="0.863198458574181" ref="Cu"/> + </material> + <isotope N="35" Z="17" name="Cl35"> + <atom unit="g/mole" value="34.9689"/> + </isotope> + <isotope N="37" Z="17" name="Cl37"> + <atom unit="g/mole" value="36.9659"/> + </isotope> + <element name="Cl"> + <fraction n="0.7578" ref="Cl35"/> + <fraction n="0.2422" ref="Cl37"/> + </element> + <material name="siPCBMix" state="solid"> + <MEE unit="eV" value="262.475002085268"/> + <D unit="g/cm3" value="5.05076923076923"/> + <fraction n="0.014498933901919" ref="Cl"/> + <fraction n="0.083477099995865" ref="O"/> + <fraction n="0.0654857498400853" ref="Si"/> + <fraction n="0.00351122019083304" ref="H"/> + <fraction n="0.0142636698452849" ref="C"/> + <fraction n="0.818763326226013" ref="Cu"/> + </material> + <isotope N="36" Z="18" name="Ar36"> + <atom unit="g/mole" value="35.9675"/> + </isotope> + <isotope N="38" Z="18" name="Ar38"> + <atom unit="g/mole" value="37.9627"/> + </isotope> + <isotope N="40" Z="18" name="Ar40"> + <atom unit="g/mole" value="39.9624"/> + </isotope> + <element name="Ar"> + <fraction n="0.003365" ref="Ar36"/> + <fraction n="0.000632" ref="Ar38"/> + <fraction n="0.996003" ref="Ar40"/> + </element> + <material name="G4_AIR" state="gas"> + <MEE unit="eV" value="85.7"/> + <D unit="g/cm3" value="0.00120479"/> + <fraction n="0.000124000124000124" ref="C"/> + <fraction n="0.755267755267755" ref="N"/> + <fraction n="0.231781231781232" ref="O"/> + <fraction n="0.0128270128270128" ref="Ar"/> + </material> + <material name="Vacuum" state="gas"> + <D unit="g/cm3" value="0.00000000001"/> + <fraction n="1" ref="G4_AIR"/> + </material> + <material name="Air" state="gas"> + <D unit="g/cm3" value="0.00120479"/> + <fraction n="1" ref="G4_AIR"/> + </material> + <material name="ThinAir" state="gas"> + <D unit="g/cm3" value="0.00120479*1e-2"/> + <fraction n="1" ref="G4_AIR"/> + </material> + <isotope N="180" Z="74" name="W180"> + <atom unit="g/mole" value="179.947"/> + </isotope> + <isotope N="182" Z="74" name="W182"> + <atom unit="g/mole" value="181.948"/> + </isotope> + <isotope N="183" Z="74" name="W183"> + <atom unit="g/mole" value="182.95"/> + </isotope> + <isotope N="184" Z="74" name="W184"> + <atom unit="g/mole" value="183.951"/> + </isotope> + <isotope N="186" Z="74" name="W186"> + <atom unit="g/mole" value="185.954"/> + </isotope> + <element name="W"> + <fraction n="0.0012" ref="W180"/> + <fraction n="0.265" ref="W182"/> + <fraction n="0.1431" ref="W183"/> + <fraction n="0.3064" ref="W184"/> + <fraction n="0.2843" ref="W186"/> + </element> + <material name="G4_W" state="solid"> + <MEE unit="eV" value="727"/> + <D unit="g/cm3" value="19.3"/> + <fraction n="1" ref="W"/> + </material> + <material name="g10" state="solid"> + <MEE unit="eV" value="114.378463512112"/> + <D unit="g/cm3" value="1.7"/> + <fraction n="0.08" ref="Cl"/> + <fraction n="0.460597175271302" ref="O"/> + <fraction n="0.361327255" ref="Si"/> + <fraction n="0.0193736737588317" ref="H"/> + <fraction n="0.078701895969866" ref="C"/> + </material> + <isotope N="54" Z="26" name="Fe54"> + <atom unit="g/mole" value="53.9396"/> + </isotope> + <isotope N="56" Z="26" name="Fe56"> + <atom unit="g/mole" value="55.9349"/> + </isotope> + <isotope N="57" Z="26" name="Fe57"> + <atom unit="g/mole" value="56.9354"/> + </isotope> + <isotope N="58" Z="26" name="Fe58"> + <atom unit="g/mole" value="57.9333"/> + </isotope> + <element name="Fe"> + <fraction n="0.05845" ref="Fe54"/> + <fraction n="0.91754" ref="Fe56"/> + <fraction n="0.02119" ref="Fe57"/> + <fraction n="0.00282" ref="Fe58"/> + </element> + <isotope N="50" Z="24" name="Cr50"> + <atom unit="g/mole" value="49.946"/> + </isotope> + <isotope N="52" Z="24" name="Cr52"> + <atom unit="g/mole" value="51.9405"/> + </isotope> + <isotope N="53" Z="24" name="Cr53"> + <atom unit="g/mole" value="52.9407"/> + </isotope> + <isotope N="54" Z="24" name="Cr54"> + <atom unit="g/mole" value="53.9389"/> + </isotope> + <element name="Cr"> + <fraction n="0.04345" ref="Cr50"/> + <fraction n="0.83789" ref="Cr52"/> + <fraction n="0.09501" ref="Cr53"/> + <fraction n="0.02365" ref="Cr54"/> + </element> + <isotope N="58" Z="28" name="Ni58"> + <atom unit="g/mole" value="57.9353"/> + </isotope> + <isotope N="60" Z="28" name="Ni60"> + <atom unit="g/mole" value="59.9308"/> + </isotope> + <isotope N="61" Z="28" name="Ni61"> + <atom unit="g/mole" value="60.9311"/> + </isotope> + <isotope N="62" Z="28" name="Ni62"> + <atom unit="g/mole" value="61.9283"/> + </isotope> + <isotope N="64" Z="28" name="Ni64"> + <atom unit="g/mole" value="63.928"/> + </isotope> + <element name="Ni"> + <fraction n="0.680769" ref="Ni58"/> + <fraction n="0.262231" ref="Ni60"/> + <fraction n="0.011399" ref="Ni61"/> + <fraction n="0.036345" ref="Ni62"/> + <fraction n="0.009256" ref="Ni64"/> + </element> + <material name="stainless_steel" state="solid"> + <MEE unit="eV" value="282.929693036223"/> + <D unit="g/cm3" value="7.87"/> + <fraction n="0.70611" ref="Fe"/> + <fraction n="0.18784" ref="Cr"/> + <fraction n="0.10605" ref="Ni"/> + </material> + <material name="fanele2" state="solid"> + <MEE unit="eV" value="75.3984269235952"/> + <D unit="g/cm3" value="2.04"/> + <fraction n="0.0814736540216391" ref="H"/> + <fraction n="0.543350389498575" ref="C"/> + <fraction n="0.257623229207059" ref="O"/> + <fraction n="0.0266436363636364" ref="N"/> + <fraction n="0.0909090909090909" ref="Cu"/> + </material> + <material name="fanele1" state="solid"> + <MEE unit="eV" value="83.6887639821308"/> + <D unit="g/cm3" value="2.61666666666667"/> + <fraction n="0.0746841828531692" ref="H"/> + <fraction n="0.498071190373694" ref="C"/> + <fraction n="0.236154626773137" ref="O"/> + <fraction n="0.0244233333333333" ref="N"/> + <fraction n="0.166666666666667" ref="Cu"/> + </material> + <material name="G4_POLYSTYRENE" state="solid"> + <MEE unit="eV" value="68.7"/> + <D unit="g/cm3" value="1.06"/> + <fraction n="0.077418" ref="H"/> + <fraction n="0.922582" ref="C"/> + </material> + <isotope N="79" Z="35" name="Br79"> + <atom unit="g/mole" value="78.9183"/> + </isotope> + <isotope N="81" Z="35" name="Br81"> + <atom unit="g/mole" value="80.9163"/> + </isotope> + <element name="Br"> + <fraction n="0.5069" ref="Br79"/> + <fraction n="0.4931" ref="Br81"/> + </element> + <material name="PCB" state="solid"> + <MEE unit="eV" value="88.255598548367"/> + <D unit="g/cm3" value="1.7"/> + <fraction n="0.180774" ref="Si"/> + <fraction n="0.405633" ref="O"/> + <fraction n="0.278042" ref="C"/> + <fraction n="0.0684428" ref="H"/> + <fraction n="0.0671091" ref="Br"/> + </material> + <material name="G4_Fe" state="solid"> + <MEE unit="eV" value="286"/> + <D unit="g/cm3" value="7.874"/> + <fraction n="1" ref="Fe"/> + </material> + <material name="beam" state="gas"> + <P unit="pascal" value="6.25e-06"/> + <MEE unit="eV" value="38.5760755714278"/> + <D unit="g/cm3" value="1.7e-14"/> + <fraction n="0.36264" ref="H"/> + <fraction n="0.36276" ref="N"/> + <fraction n="0.117748421296248" ref="C"/> + <fraction n="0.156851578703752" ref="O"/> + </material> + <material name="TDR_gas" state="gas"> + <MEE unit="eV" value="177.374841770826"/> + <D unit="g/cm3" value="0.001731"/> + <fraction n="0.95667" ref="Ar"/> + <fraction n="0.00519198196" ref="H"/> + <fraction n="0.02165502376" ref="C"/> + <fraction n="0.01648299428" ref="O"/> + </material> + <material name="epoxy" state="solid"> + <MEE unit="eV" value="60.8292941662115"/> + <D unit="g/cm3" value="1.3"/> + <fraction n="0.131793699039672" ref="H"/> + <fraction n="0.535387047414054" ref="C"/> + <fraction n="0.332819253546274" ref="O"/> + </material> + <material name="G4_C" state="solid"> + <MEE unit="eV" value="81"/> + <D unit="g/cm3" value="2"/> + <fraction n="1" ref="C"/> + </material> + <isotope N="27" Z="13" name="Al27"> + <atom unit="g/mole" value="26.9815"/> + </isotope> + <element name="Al"> + <fraction n="1" ref="Al27"/> + </element> + +<!-- + <material name="TPC_endplate_mix"> + <! D value="1.7" unit="g/cm3"/ > + <composite n="74" ref="G4_AIR"/> + <composite n="12" ref="g10"/> + <composite n="14" ref="G4_Al"/> + </material> +--> + + <material name="TPC_endplate_mix" state="solid"> + <MEE unit="eV" value="97.0754229107761"/> + <D unit="g/cm3" value="0.5827515446"/> + <fraction n="0.00953598760814401" ref="C"/> + <fraction n="0.558898138898139" ref="N"/> + <fraction n="0.226789772550668" ref="O"/> + <fraction n="0.00949198949198949" ref="Ar"/> + <fraction n="0.14" ref="Al"/> + <fraction n="0.0096" ref="Cl"/> + <fraction n="0.0433592706" ref="Si"/> + <fraction n="0.00232484085105981" ref="H"/> + </material> + <material name="CarbonFiber" state="solid"> + <MEE unit="eV" value="70.7270877537631"/> + <D unit="g/cm3" value="1.46666666666667"/> + <fraction n="0.794091986922138" ref="C"/> + <fraction n="0.058408571165309" ref="H"/> + <fraction n="0.147499441912553" ref="O"/> + </material> + <material name="CarbonFiber_25percent"> + <D type="density" value="0.375" unit="g/cm3"/> + <fraction n="1.0" ref="CarbonFiber"/> + </material> + <material name="CarbonFiber_15percent"> + <D type="density" value="0.225" unit="g/cm3"/> + <fraction n="1.0" ref="CarbonFiber"/> + </material> + <material name="G4_GRAPHITE" state="solid"> + <MEE unit="eV" value="78"/> + <D unit="g/cm3" value="2.21"/> + <fraction n="1" ref="C"/> + </material> + <material name="diamond" state="solid"> + <MEE unit="eV" value="81"/> + <D unit="g/cm3" value="3.51"/> + <fraction n="1" ref="C"/> + </material> + <material Z="79" name="G4_Au" state="solid"> + <MEE unit="eV" value="790"/> + <D unit="g/cm3" value="19.32"/> + <atom unit="g/mole" value="196.967"/> + </material> + <material name="G4_POLYETHYLENE" state="solid"> + <MEE unit="eV" value="57.4"/> + <D unit="g/cm3" value="0.94"/> + <fraction n="0.143711" ref="H"/> + <fraction n="0.856289" ref="C"/> + </material> + <isotope N="55" Z="25" name="Mn55"> + <atom unit="g/mole" value="54.938"/> + </isotope> + <element name="Mn"> + <fraction n="1" ref="Mn55"/> + </element> + <material name="Steel235" state="solid"> + <MEE unit="eV" value="285.146562707739"/> + <D unit="g/cm3" value="7.87"/> + <fraction n="0.9843" ref="Fe"/> + <fraction n="0.0017" ref="C"/> + <fraction n="0.014" ref="Mn"/> + </material> + + <comment> materials introduced for the BeamCal</comment> + <material name="TungstenDens24"> + <D value="17.8" unit="g/cm3"/> + <fraction n="0.93" ref="W"/> + <fraction n="0.061" ref="Ni"/> + <fraction n="0.009" ref="Fe"/> + </material> + + <material name="Kapton"> + <D value="1.43" unit="g/cm3" /> + <composite n="22" ref="C"/> + <composite n="10" ref="H" /> + <composite n="2" ref="N" /> + <composite n="5" ref="O" /> + </material> + + <comment> materials for the SemiDigital Hadronic calorimeter</comment> + <material name="RPCGAS2" > + <!-- C2H2F4 (TFE) 0.93% + IsoButane 0.05% + SF6 0.02% --> + <!-- <D value="0.00421" unit="g/cm3" /> --> + <D value="0.00449" unit="g/cm3" /> + <fraction n="0.70828" ref="F"/> + <fraction n="0.26054" ref="C"/> + <fraction n="0.01928" ref="H"/> + <fraction n="0.00439" ref="S"/> + </material> + + <material name="FloatGlass" > +<!-- <D value="2.44" unit="g/cm3" /> --> + <D value="2.49" unit="g/cm3" /> + <fraction n="0.46645" ref="O"/> + <fraction n="0.34125" ref="Si"/> + <fraction n="0.06432" ref="Ca"/> + <fraction n="0.02412" ref="Mg"/> + <fraction n="0.10386" ref="Na"/> + </material> + + <material name="mylar"> + <D value="1.4" unit="g/cm3" /> + <fraction n="0.333025" ref="O"/> + <fraction n="0.041959" ref="H"/> + <fraction n="0.625016" ref="C"/> + </material> + + <material name="Nylon" > + <!-- Nylon-6-6 --> +<!-- <MEE unit="eV" value="63.9"/> --> + <D value="1.14" unit="g/cm3" /> + <fraction n="0.097976" ref="H"/> + <fraction n="0.636856" ref="C"/> + <fraction n="0.123779" ref="N"/> + <fraction n="0.141389" ref="O"/> + </material> + + <material name="PEEK-GF30" > + <D value="1.51" unit="g/cm3" /> + <fraction n="0.554056" ref="C"/> + <fraction n="0.116535" ref="O"/> + <fraction n="0.029408" ref="H"/> + <fraction n="0.333333" ref="Si"/> + </material> + + <material name="g10-RPC"> +<!-- <MEE unit="eV" value="114.378463512112"/> --> + <D value="1.80" unit="g/cm3" /> + <fraction n="0.07868" ref="C"/> + <fraction n="0.46056" ref="O"/> + <fraction n="0.02045" ref="H"/> + <fraction n="0.46056" ref="Si"/> + <fraction n="0.080" ref="Cl"/> + </material> + + <material name="graphite"> + <MEE unit="eV" value="78"/> + <D value="2.21" unit="g/cm3" /> + <fraction n="1.00" ref="C"/> + </material> + + <material name="Steel304L"> + <D type="density" value="8.00" unit="g/cm3" /> + <fraction n="0.695" ref="Fe" /> + <fraction n="0.185" ref="Cr" /> + <fraction n="0.100" ref="Ni" /> + <fraction n="0.020" ref="Mn" /> + </material> + + <!-- to model beampipe with 2mm Be + 0.7mm Cu cables (calc by DJeans) --> + <material name="BeampipeBeCableMix"> + <D type="density" value="3.69" unit="g/cm3" /> + <fraction n="0.806" ref="Be" /> + <fraction n="0.194" ref="Cu" /> + </material> + + <material name="G4_PARAFFIN"> + <D type="density" value="0.93" unit="g/cm3" /> + <fraction n="0.148605" ref="H" /> + <fraction n="0.851395" ref="C" /> + </material> + + <material name="G4_BGO" state="solid"> + <MEE unit="eV" value="534.1"/> + <D value="7.13" unit="g/cm3" /> + <fraction n="0.154126" ref="O"/> + <fraction n="0.174820" ref="Ge" /> + <fraction n="0.671054" ref="Bi" /> + </material> + + </materials> diff --git a/Detector/DetCRD/compact/CRD_o1_v01/CRD_Dimensions_v01_01.xml b/Detector/DetCRD/compact/CRD_o1_v01/CRD_Dimensions_v01_01.xml new file mode 100644 index 00000000..ce0f6b82 --- /dev/null +++ b/Detector/DetCRD/compact/CRD_o1_v01/CRD_Dimensions_v01_01.xml @@ -0,0 +1,220 @@ +<?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="CRDDimensions" + title="master file with includes and world dimension" + author="C.D.Fu, " + url="no" + status="development" + version="1.0"> + <comment> + undeterminded parameters + </comment> + </info> + + <define> + <constant name="CrossingAngle" value="0.033*rad"/> + + <constant name="GlobalTrackerReadoutID_DCH" type="string" value="system:8,chamber:1,layer:7,phi:16"/> + <constant name="GlobalTrackerReadoutID" type="string" value="system:5,side:-2,layer:9,module:8,sensor:8,barrelside:-2"/> + + <constant name="SolenoidField" value="3*tesla"/> + + <constant name="env_safety" value="0.1*mm"/> + + <constant name="DetID_NOTUSED" value=" 0"/> + <constant name="DetID_VXD" value=" 1"/> + <constant name="DetID_SIT" value=" 2"/> + <constant name="DetID_FTD" value=" 3"/> + <constant name="DetID_TPC" value=" 4"/> + <constant name="DetID_SET" value=" 5"/> + <constant name="DetID_ETD" value=" 6"/> + <constant name="DetID_DC" value=" 7"/> + + <constant name="DetID_ECAL" value=" 20"/> + <constant name="DetID_ECAL_PLUG" value=" 21"/> + <constant name="DetID_HCAL" value=" 22"/> + <constant name="DetID_HCAL_RING" value=" 23"/> + <constant name="DetID_LCAL" value=" 24"/> + <constant name="DetID_BCAL" value=" 25"/> + <constant name="DetID_LHCAL" value=" 26"/> + <constant name="DetID_YOKE" value=" 27"/> + <constant name="DetID_COIL" value=" 28"/> + <constant name="DetID_ECAL_ENDCAP" value=" 29"/> + <constant name="DetID_HCAL_ENDCAP" value=" 30"/> + <constant name="DetID_YOKE_ENDCAP" value=" 31"/> + + <constant name="DetID_bwd" value="-1"/> + <constant name="DetID_barrel" value=" 0"/> + <constant name="DetID_fwd" value="+1"/> + + <constant name="BeamPipe_Be_inner_thickness" value="0.5*mm"/> + <constant name="BeamPipe_Cooling_thickness" value="0.5*mm"/> + <constant name="BeamPipe_Be_outer_thickness" value="0.3*mm"/> + <constant name="BeamPipe_Be_total_thickness" value="BeamPipe_Be_inner_thickness+BeamPipe_Cooling_thickness+BeamPipe_Be_outer_thickness"/> + <constant name="BeamPipe_Al_thickness" value="BeamPipe_Be_total_thickness"/> + <constant name="BeamPipe_Cu_thickness" value="2.0*mm"/> + + <constant name="BeamPipe_CentralBe_zmax" value="120*mm"/> + <constant name="BeamPipe_CentralAl_zmax" value="205*mm"/> + <constant name="BeamPipe_ConeAl_zmax" value="655*mm"/> + <constant name="BeamPipe_LinkerAl_zmax" value="700*mm"/> + <constant name="BeamPipe_LinkerCu_zmax" value="780*mm"/> + <constant name="BeamPipe_Waist_zmax" value="805*mm"/> + <constant name="BeamPipe_Crotch_zmax" value="855*mm"/> + <constant name="BeamPipe_FirstSeparated_zmax" value="1110*mm"/> + <constant name="BeamPipe_SecondSeparated_zmax" value="2200*mm"/> + <constant name="BeamPipe_end_z" value="12*m"/> + + <constant name="BeamPipe_Central_inner_radius" value="14*mm"/> + <constant name="BeamPipe_Expanded_inner_radius" value="20*mm"/> + <constant name="BeamPipe_Upstream_inner_radius" value="6*mm"/> + <constant name="BeamPipe_Dnstream_inner_radius" value="10*mm"/> + <constant name="BeamPipe_Crotch_hole_height" value="30.67*mm"/> + <constant name="BeamPipe_VertexRegion_rmax" value="BeamPipe_Central_inner_radius+BeamPipe_Al_thickness"/> + <constant name="BeamPipe_ForwardRegion_rmax" value="BeamPipe_Expanded_inner_radius+BeamPipe_Cu_thickness"/> + + <constant name="Vertex_inner_radius" value="BeamPipe_Central_inner_radius+BeamPipe_Be_total_thickness"/> + <constant name="Vertex_outer_radius" value="101*mm"/> + <constant name="Vertex_half_length" value="200*mm"/> + + <constant name="MainTracker_half_length" value="2225*mm" /> + <constant name="InnerTracker_half_length" value="MainTracker_half_length" /> + <constant name="InnerTracker_inner_radius" value="235*mm"/> + <constant name="InnerTracker_outer_radius" value="909*mm"/> + <constant name="OuterTracker_half_length" value="MainTracker_half_length"/> + <constant name="OuterTracker_inner_radius" value="1085*mm"/> + <constant name="OuterTracker_outer_radius" value="1716*mm"/> + + <constant name="SIT1_inner_radius" value="152.90*mm"/> + <constant name="SIT1_half_length" value="368.00*mm"/> + <constant name="SIT2_inner_radius" value="InnerTracker_outer_radius + env_safety"/> + <constant name="SIT2_half_length" value="InnerTracker_half_length"/> + + <constant name="FTD_BeamPipe_cable_clearance" value="10*mm"/> + <constant name="FTD_BeamPipe_gap" value="15*mm"/> + <constant name="FTD_InnerTracker_gap" value="5*mm"/> + + <!--obseleted constance, used by old construct, should be removed while creating new constrcut--> + <constant name="TPC_Ecal_Hcal_barrel_halfZ" value="MainTracker_half_length"/> + <constant name="TPC_inner_radius" value="InnerTracker_inner_radius"/> + <constant name="TPC_outer_radius" value="OuterTracker_outer_radius"/> + <constant name="SIT1_Radius" value="SIT1_inner_radius"/> + <constant name="SIT1_Half_Length_Z" value="SIT1_half_length"/> + <constant name="SIT2_Radius" value="InnerTracker_inner_radius"/> <!--fake, used by FTD_Simple_Staggered and FTD_cepc, now should be determined by inner tracker--> + <constant name="SIT2_Half_Length_Z" value="SIT2_half_length"/> + <constant name="TUBE_IPOuterTube_end_z" value="BeamPipe_CentralAl_zmax"/> + <constant name="TUBE_IPOuterTube_end_radius" value="BeamPipe_Central_inner_radius+BeamPipe_Al_thickness"/> + <constant name="TUBE_IPOuterBulge_end_z" value="BeamPipe_Crotch_zmax"/><!--"BeamPipe_ConeAl_zmax"/--> + <constant name="TUBE_IPOuterBulge_end_radius" value="BeamPipe_Crotch_zmax*tan(CrossingAngle/2)+BeamPipe_Dnstream_inner_radius+BeamPipe_Cu_thickness"/> + <!--"BeamPipe_Expanded_inner_radius+BeamPipe_Al_thickness+5*mm"/--> + + <constant name="Ecal_barrel_inner_radius" value="1800*mm"/> + <constant name="Ecal_barrel_thickness" value="280*mm"/> + <constant name="Ecal_barrel_outer_radius" value="(Ecal_barrel_inner_radius+Ecal_barrel_thickness)/cos(pi/8)"/> + <constant name="Ecal_barrel_half_length" value="2300*mm"/> + <constant name="Ecal_barrel_symmetry" value="8"/> + + <constant name="Ecal_endcap_inner_radius" value="340*mm"/> + <constant name="Ecal_endcap_outer_radius" value="Ecal_barrel_outer_radius"/> + <constant name="Ecal_endcap_zmin" value="2260*mm"/> + <constant name="Ecal_endcap_zmax" value="2540*mm"/> + <constant name="Ecal_endcap_symmetry" value="8"/> + + <constant name="Solenoid_inner_radius" value="2250*mm"/> + <constant name="Solenoid_outer_radius" value="2550*mm"/> + <constant name="Solenoid_half_length" value="3000*mm"/> + <constant name="SolenoidCoil_half_length" value="2900*mm"/> + <constant name="SolenoidCoil_radius" value="2300*mm"/> + + <constant name="Hcal_barrel_inner_radius" value="2600*mm"/> + <constant name="Hcal_barrel_outer_radius" value="3700*mm"/> + <constant name="Hcal_barrel_half_length" value="3000*mm"/> + <constant name="Hcal_barrel_symmetry" value="8"/> + + <constant name="Hcal_endcap_inner_radius" value="340*mm"/> + <constant name="Hcal_endcap_outer_radius" value="Hcal_barrel_outer_radius"/> + <constant name="Hcal_endcap_zmin" value="3010*mm"/> + <constant name="Hcal_endcap_zmax" value="4110*mm"/> + <constant name="Hcal_endcap_symmetry" value="8"/> + + <constant name="Hcal_ring_inner_radius" value="Hcal_endcap_inner_radius"/> + <constant name="Hcal_ring_outer_radius" value="Solenoid_inner_radius"/> + <constant name="Hcal_ring_zmin" value="2600*mm"/> + <constant name="Hcal_ring_zmax" value="Hcal_endcap_zmin"/> + <constant name="Hcal_ring_symmetry" value="8"/> + + <constant name="Yoke_barrel_inner_radius" value="3710*mm"/> + <constant name="Yoke_barrel_outer_radius" value="5170*mm"/> + <constant name="Yoke_barrel_half_length" value="3650*mm"/> + <constant name="Yoke_barrel_symmetry" value="8"/> + + <constant name="Yoke_endcap_inner_radius" value="400*mm"/> + <constant name="Yoke_endcap_outer_radius" value="5170*mm"/> + <constant name="Yoke_endcap_zmin" value="4150*mm"/> + <constant name="Yoke_endcap_zmax" value="5610*mm"/> + <constant name="Yoke_endcap_outer_symmetry" value="8"/> + <constant name="Yoke_endcap_inner_symmetry" value="0"/> + + <constant name="LumiCal_zmax" value="805*mm" /> + <constant name="LumiCal_zmin" value="700*mm"/> + <constant name="LumiCal_thickness" value="(LumiCal_zmax-LumiCal_zmin)/2.0"/> + <constant name="LumiCal_inner_radius" value="35.0*mm"/> + <constant name="LumiCal_outer_radius" value="100.0*mm- env_safety"/> + + <constant name="tracker_region_zmax" value="OuterTracker_half_length"/> + <constant name="tracker_region_rmax" value="OuterTracker_outer_radius"/> + + </define> + + <limits> + <limitset name="cal_limits"> + <limit name="step_length_max" particles="*" value="5.0" unit="mm" /> + </limitset> + <limitset name="dc_limits"> + <limit name="step_length_max" particles="*" value="10.0" unit="mm" /> + </limitset> + <limitset name="tracker_limits"> + <limit name="step_length_max" particles="*" value="5.0" unit="mm" /> + </limitset> + </limits> + + <regions> + <region name="BeampipeRegion"/> + <region name="VertexRegion"/> + <region name="ForwardRegion"/> + </regions> + + <display> + <vis name="VXDVis" alpha="0.1" r="0.1" g=".5" b=".5" showDaughters="true" visible="true"/> + <vis name="VXDLayerVis" alpha="1.0" r="0.1" g=".5" b=".5" showDaughters="true" visible="true"/> + <vis name="VXDSupportVis" alpha="1.0" r="0.0" g="1.0" b="0.0" showDaughters="true" visible="true"/> + <vis name="FTDVis" alpha="1.0" r="0.0" g="0.1" b="0.0" showDaughters="true" visible="false"/> + <vis name="FTDSensitiveVis" alpha="1.0" r="1.0" g="1.0" b="0.45" showDaughters="true" visible="true"/> + <vis name="FTDSupportVis" alpha="1.0" r="1.0" g="0.5" b="0.5" showDaughters="true" visible="true"/> + <vis name="SITVis" alpha="1.0" r="0.54" g="0.43" b="0.04" showDaughters="true" visible="true"/> + <vis name="SETVis" alpha="1.0" r="0.8" g="0.8" b="0.4" showDaughters="true" visible="false"/> + <vis name="ECALVis" alpha="1.0" r="0.2" g="0.6" b="0" showDaughters="true" visible="true"/> + <vis name="HCALVis" alpha="1.0" r="0.078" g="0.01176" b="0.588" showDaughters="true" visible="true"/> + <vis name="SOLVis" alpha="1.0" r="0.4" g="0.4" b="0.4" showDaughters="true" visible="true"/> + <vis name="YOKEVis" alpha="1.0" r="0.6" g="0.0" b="0.0" showDaughters="true" visible="true"/> + <vis name="LCALVis" alpha="1.0" r="0.25" g="0.88" b="0.81" showDaughters="true" visible="true"/> + <vis name="SupportVis" alpha="1.0" r="0.2" g="0.2" b="0.2" showDaughters="true" visible="true"/> + + <vis name="WhiteVis" alpha="0.0" r=".96" g=".96" b=".96" showDaughters="true" visible="true"/> + <vis name="LightGrayVis" alpha="0.0" r=".75" g=".75" b=".75" showDaughters="true" visible="true"/> + <vis name="Invisible" alpha="0.0" r="0.0" g="0.0" b="0.0" showDaughters="false" visible="false"/> + <vis name="SeeThrough" alpha="0.0" r="0.0" g="0.0" b="0.0" showDaughters="true" visible="false"/> + <vis name="RedVis" alpha="1.0" r="1.0" g="0.0" b="0.0" showDaughters="true" visible="true"/> + <vis name="GreenVis" alpha="1.0" r="0.0" g="1.0" b="0.0" showDaughters="true" visible="true"/> + <vis name="BlueVis" alpha="1.0" r="0.0" g="0.0" b="1.0" showDaughters="true" visible="true"/> + <vis name="CyanVis" alpha="1.0" r="0.0" g="1.0" b="1.0" showDaughters="true" visible="true"/> + <vis name="MagentaVis" alpha="1.0" r="1.0" g="0.0" b="1.0" showDaughters="true" visible="true"/> + <vis name="YellowVis" alpha="1.0" r="1.0" g="1.0" b="0.0" showDaughters="true" visible="true"/> + <vis name="BlackVis" alpha="1.0" r="0.0" g="0.0" b="0.0" showDaughters="true" visible="true"/> + <vis name="GrayVis" alpha="1.0" r="0.5" g="0.5" b="0.5" showDaughters="true" visible="true"/> + </display> + +</lccdd> diff --git a/Detector/DetCRD/compact/CRD_o1_v01/CRD_o1_v01.xml b/Detector/DetCRD/compact/CRD_o1_v01/CRD_o1_v01.xml new file mode 100644 index 00000000..d79f4080 --- /dev/null +++ b/Detector/DetCRD/compact/CRD_o1_v01/CRD_o1_v01.xml @@ -0,0 +1,42 @@ +<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="CRD_i1_v01" + title="CepC reference detctor with coil inside Hcal" + author="C.D.Fu, " + url="http://cepc.ihep.ac.cn" + status="developing" + version="v01"> + <comment>CepC reference detector simulation models used for detector study </comment> + </info> + + <includes> + <gdmlFile ref="${DD4hepINSTALL}/DDDetectors/compact/elements.xml"/> + <gdmlFile ref="../CRD_common_v01/materials.xml"/> + </includes> + + <define> + <constant name="world_size" value="25*m"/> + <constant name="world_x" value="world_size"/> + <constant name="world_y" value="world_size"/> + <constant name="world_z" value="world_size"/> + + <include ref="${DD4hepINSTALL}/DDDetectors/compact/detector_types.xml"/> + </define> + + <include ref="./CRD_Dimensions_v01_01.xml"/> + + <include ref="../CRD_common_v01/Beampipe_v01_01.xml"/> + <include ref="../CRD_common_v01/VXD_v01_01.xml"/> + <include ref="../CRD_common_v01/FTD_SimpleStaggered_v01_01.xml"/> + <include ref="../CRD_common_v01/SIT_SimplePlanar_v01_01.xml"/> + <include ref="../CRD_common_v01/DC_Simple_v01_01.xml"/> + <include ref="../CRD_common_v01/SET_SimplePlanar_v01_01.xml"/> + <include ref="../CRD_common_v01/Ecal_Crystal_Barrel_v01_01.xml"/> + <!--include ref="../CRD_common_v01/Ecal_Crystal_Endcap_v01_01.xml"/--> + <!--include ref="../CRD_common_v01/Coil_v01_01.xml"/--> + <!--include ref="../CRD_common_v01/Hcal_v01_01.xml"/--> + <!--include ref="../CRD_common_v01/Yoke_v01_01.xml"/--> + <!--include ref="../CRD_common_v01/Lcal_v01_01.xml"/--> + +</lccdd> diff --git a/Detector/DetCRD/compact/README.md b/Detector/DetCRD/compact/README.md new file mode 100644 index 00000000..1a29016a --- /dev/null +++ b/Detector/DetCRD/compact/README.md @@ -0,0 +1,40 @@ +# CRD detector models - Overview + +The following CRD detector models are available in CEPCSW + +| Model | Description | MainTracker | Ecal | Hcal | Status | +| ------------- | -----------------------------|------------ |---------|------|----------------| +| CRD_o1_v01 | coil inside simulation model | DC | crystal | RPC | developing | +| ------------- | -----------------------------|-------------|---------|------|----------------| + +## Details + +### CRD_o1_v01 (first preliminary import, to update) + - coil inside CRD model + - BeamPipe + - with center pipe + crotch link to doubly-pipe + - Detector/DetCRD/src/Other/CRDBeamPipe_v01_geo.cpp + - Vertex + - with silicon ladders (VXD + SIT12) + - Detector/DetCEPCv4/src/tracker/VXD04_geo.cpp + - Detector/DetCEPCv4/src/tracker/SIT_Simple_Planar_geo.cpp + - MainTracker + - with Dirft Chamber + silicon layer between inner and outer chambers (DC + SIT34) + - DC_outer_radius = 1716*mm + - Detector/DetDriftChamber/src/driftchamber/DriftChamber.cpp + - Detector/DetCEPCv4/src/tracker/SET_Simple_Planar_geo.cpp + - EndcapTracker + - with silicon pestals (FTDPixel + FTDStrip) + - Detector/DetCEPCv4/src/tracker/FTD_Simple_Staggered_geo.cpp + - Ecal + - with crystal + - Detector/DetCRD/src/Calorimeter/CRDEcal.cpp + - Hcal (TODO) + - with scintillator **and** RPC readout + - creates two sets of hit collections + - Coil (TODO) + - Yoke (TODO) + - compact files: + - [./CRD_o1_v01/CRD_o1_v01.xml](./CRD_o1_v01/CRD_o1_v01.xml) + + diff --git a/Detector/DetCRD/compact/ecalBarrel.xml b/Detector/DetCRD/compact/ecalBarrel.xml deleted file mode 100644 index 5868a6e8..00000000 --- a/Detector/DetCRD/compact/ecalBarrel.xml +++ /dev/null @@ -1,45 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<lccdd> - - <includes> - <gdmlFile ref="elements.xml"/> - <gdmlFile ref="materials.xml"/> - </includes> - - <define> - <constant name="world_size" value="30*m"/> - <constant name="world_x" value="world_size"/> - <constant name="world_y" value="world_size"/> - <constant name="world_z" value="world_size"/> - <constant name="ecalbarrel_inner_radius" value="1800*mm"/> - <constant name="ecalbarrel_thickness" value="280*mm"/> <!--Must be n*10*mm! --> - <constant name="ecalbarrel_zlength" value="4600*mm"/> <!--Must be n*10*mm! --> - </define> - - <display> - <vis name="Invisible" showDaughters="false" visible="false"/> - <vis name="InvisibleWithChildren" showDaughters="true" visible="false"/> - <vis name="VisibleRed" r="1.0" g="0.0" b="0.0" showDaughters="true" visible="true"/> - <vis name="VisibleBlue" r="0.0" g="0.0" b="1.0" showDaughters="false" visible="true"/> - <vis name="VisibleGreen" alpha="1.0" r="0.0" g="1.0" b="0.0" drawingStyle="solid" lineStyle="solid" showDaughters="true" visible="true"/> - </display> - - <detectors> - <detector id="1" name="CaloDetector" type="CRDEcalBarrel" readout="CaloHitsCollection" vis="Invisible" sensitive="true"> - <!-- Use cm as unit if you want to use Pandora for reconstruction --> - </detector> - </detectors> - - <readouts> - <readout name="CaloHitsCollection"> - <!-- <segmentation type="NoSegmentation"/> --> - - <!--segmentation type="CartesianGridXYZ" - grid_size_x="1*cm" - grid_size_y="1*cm" - grid_size_z="1*cm"/--> - <id>system:4,layer:6,block:8,bar:10</id> - </readout> - </readouts> - -</lccdd> diff --git a/Detector/DetCRD/scripts/sim_CRD.py b/Detector/DetCRD/scripts/sim_CRD.py new file mode 100644 index 00000000..666d0e45 --- /dev/null +++ b/Detector/DetCRD/scripts/sim_CRD.py @@ -0,0 +1,93 @@ +#!/usr/bin/env python +from Gaudi.Configuration import * + +from Configurables import K4DataSvc +dsvc = K4DataSvc("EventDataSvc") + +from Configurables import RndmGenSvc, HepRndm__Engine_CLHEP__RanluxEngine_ +# rndmengine = HepRndm__Engine_CLHEP__RanluxEngine_() # The default engine in Gaudi +rndmengine = HepRndm__Engine_CLHEP__HepJamesRandom_() # The default engine in Geant4 +rndmengine.SetSingleton = True +rndmengine.Seeds = [10] + +geometry_option = "CRD_o1_v01/CRD_o1_v01.xml" + +if not os.getenv("DETCRDROOT"): + print("Can't find the geometry. Please setup envvar DETCRDROOT." ) + sys.exit(-1) + +geometry_path = os.path.join(os.getenv("DETCRDROOT"), "compact", geometry_option) +if not os.path.exists(geometry_path): + print("Can't find the compact geometry file: %s"%geometry_path) + sys.exit(-1) + +from Configurables import GeomSvc +geosvc = GeomSvc("GeomSvc") +geosvc.compact = geometry_path + +############################################################################## +# Physics Generator +############################################################################## +from Configurables import GenAlgo +from Configurables import GtGunTool +from Configurables import StdHepRdr +from Configurables import SLCIORdr +from Configurables import HepMCRdr +from Configurables import GenPrinter +gun = GtGunTool("GtGunTool") +gun.Particles = ["mu-"] +gun.EnergyMins = [100.] # GeV +gun.EnergyMaxs = [100.] # GeV +gun.ThetaMins = [0] # deg +gun.ThetaMaxs = [180] # deg +gun.PhiMins = [0] # deg +gun.PhiMaxs = [360] # deg +# stdheprdr = StdHepRdr("StdHepRdr") +# stdheprdr.Input = "/cefs/data/stdhep/CEPC250/2fermions/E250.Pbhabha.e0.p0.whizard195/bhabha.e0.p0.00001.stdhep" +# lciordr = SLCIORdr("SLCIORdr") +# lciordr.Input = "/cefs/data/stdhep/lcio250/signal/Higgs/E250.Pbbh.whizard195/E250.Pbbh_X.e0.p0.whizard195/Pbbh_X.e0.p0.00001.slcio" +# hepmcrdr = HepMCRdr("HepMCRdr") +# hepmcrdr.Input = "example_UsingIterators.txt" + +genprinter = GenPrinter("GenPrinter") + +genalg = GenAlgo("GenAlgo") +genalg.GenTools = ["GtGunTool"] +#genalg.GenTools = ["StdHepRdr"] +# genalg.GenTools = ["StdHepRdr", "GenPrinter"] +# genalg.GenTools = ["SLCIORdr", "GenPrinter"] +# genalg.GenTools = ["HepMCRdr", "GenPrinter"] + +############################################################################## +# Detector Simulation +############################################################################## +from Configurables import DetSimSvc +detsimsvc = DetSimSvc("DetSimSvc") + +from Configurables import DetSimAlg +detsimalg = DetSimAlg("DetSimAlg") +# detsimalg.VisMacs = ["vis.mac"] +detsimalg.RunCmds = [ +# "/tracking/verbose 1", +] +detsimalg.AnaElems = [ + # example_anatool.name() + # "ExampleAnaElemTool" + "Edm4hepWriterAnaElemTool" +] +detsimalg.RootDetElem = "WorldDetElemTool" + +from Configurables import PodioOutput +out = PodioOutput("outputalg") +out.filename = "CRD-o1-v01-sim00.root" +out.outputCommands = ["keep *"] + +# ApplicationMgr +from Configurables import ApplicationMgr +ApplicationMgr( + TopAlg = [genalg, detsimalg, out], + EvtSel = 'NONE', + EvtMax = 100, + ExtSvc = [rndmengine, dsvc, geosvc], + OutputLevel=INFO +) -- GitLab