diff --git a/Detector/DetCRD/compact/CRD_common_v01/Coil_Simple_v01_01.xml b/Detector/DetCRD/compact/CRD_common_v01/Coil_Simple_v01_01.xml new file mode 100644 index 0000000000000000000000000000000000000000..a135d6eda279f136833d95e3c959db1a00520fbe --- /dev/null +++ b/Detector/DetCRD/compact/CRD_common_v01/Coil_Simple_v01_01.xml @@ -0,0 +1,21 @@ +<lccdd> + <detectors> + <detector name="Coil" type="SCoil02" vis="SOLVis" id="DetID_COIL" insideTrackingVolume="false" readout="COILCollection"> + <envelope vis="SeeThrough"> + <shape type="Tube" rmin="Solenoid_inner_radius" rmax="Solenoid_outer_radius" dz="Solenoid_half_length" material="Air"/> + </envelope> + + <type_flags type=" DetType_SUPPORT + DetType_COIL " /> + + <!--fg: for now only a simple aluminum cylinder is created inside the envelope --> + <tube rmin="Solenoid_inner_radius" rmax="Solenoid_outer_radius" dz="Solenoid_half_length" material="G4_Al"/> + + </detector> + </detectors> + + <readouts> + <readout name="COILCollection"> + <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/DC_Simple_v01_01.xml b/Detector/DetCRD/compact/CRD_common_v01/DC_Simple_v01_01.xml index 59898fe5decabe2aee36fc74294d5dfe3a6b63eb..ad0caf7b2b79fcdd375ef20f9354d681f03c076c 100644 --- a/Detector/DetCRD/compact/CRD_common_v01/DC_Simple_v01_01.xml +++ b/Detector/DetCRD/compact/CRD_common_v01/DC_Simple_v01_01.xml @@ -14,16 +14,18 @@ <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_half_length" value="DC_half_length"/> <constant name="SDT_length" value="SDT_half_length*2"/> <constant name="DC_length" value="DC_half_length*2"/> - <constant name="SDT_inner_chamber_radius_min" value="235*mm"/> - <constant name="SDT_inner_chamber_radius_max" value="InnerTracker_outer_radius"/> + <constant name="SDT_chamber_inner_wall_thickness" value="0.2*mm"/> + <constant name="SDT_chamber_outer_wall_thickness" value="2.8*mm"/> + <constant name="SDT_inner_chamber_radius_min" value="InnerTracker_inner_radius+SDT_chamber_inner_wall_thickness"/> + <constant name="SDT_inner_chamber_radius_max" value="InnerTracker_outer_radius-SDT_chamber_outer_wall_thickness"/> <constant name="SDT_inner_chamber_length" value="DC_length"/> - <constant name="SDT_outer_chamber_radius_min" value="OuterTracker_inner_radius"/> - <constant name="SDT_outer_chamber_radius_max" value="1715*mm"/> + <constant name="SDT_outer_chamber_radius_min" value="OuterTracker_inner_radius+SDT_chamber_inner_wall_thickness"/> + <constant name="SDT_outer_chamber_radius_max" value="OuterTracker_outer_radius-SDT_chamber_outer_wall_thickness"/> <constant name="SDT_outer_chamber_length" value="DC_length"/> <constant name="SDT_inner_chamber_layer_number" value="67"/> @@ -31,14 +33,14 @@ <constant name="SDT_chamber_layer_width" value="10*mm"/> <constant name="Epsilon" value="0*deg"/> - <constant name="SDT_inner_chamber_inner_wall_radius_min" value="234.8*mm"/> - <constant name="SDT_inner_chamber_inner_wall_radius_max" value="235*mm"/> - <constant name="SDT_inner_chamber_outer_wall_radius_min" value="906*mm"/> - <constant name="SDT_inner_chamber_outer_wall_radius_max" value="908.8*mm"/> - <constant name="SDT_outer_chamber_inner_wall_radius_min" value="1084.8*mm"/> - <constant name="SDT_outer_chamber_inner_wall_radius_max" value="1085*mm"/> - <constant name="SDT_outer_chamber_outer_wall_radius_min" value="1715*mm"/> - <constant name="SDT_outer_chamber_outer_wall_radius_max" value="1717.8*mm"/> + <constant name="SDT_inner_chamber_inner_wall_radius_min" value="SDT_inner_chamber_radius_min-SDT_chamber_inner_wall_thickness"/> + <constant name="SDT_inner_chamber_inner_wall_radius_max" value="SDT_inner_chamber_radius_min"/> + <constant name="SDT_inner_chamber_outer_wall_radius_min" value="SDT_inner_chamber_radius_max"/> + <constant name="SDT_inner_chamber_outer_wall_radius_max" value="SDT_inner_chamber_radius_max+SDT_chamber_outer_wall_thickness"/> + <constant name="SDT_outer_chamber_inner_wall_radius_min" value="SDT_outer_chamber_radius_min-SDT_chamber_inner_wall_thickness"/> + <constant name="SDT_outer_chamber_inner_wall_radius_max" value="SDT_outer_chamber_radius_min"/> + <constant name="SDT_outer_chamber_outer_wall_radius_min" value="SDT_outer_chamber_radius_max"/> + <constant name="SDT_outer_chamber_outer_wall_radius_max" value="SDT_outer_chamber_radius_max+SDT_chamber_outer_wall_thickness"/> <constant name="DC_Endcap_rmin" value="SDT_radius_min"/> <constant name="DC_Endcap_rmax" value="SDT_radius_max"/> @@ -53,8 +55,8 @@ <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_radius_min" rmax="909*mm" dz="SDT_half_length" /> - <shape type="Tube" rmin="1084.8*mm" rmax="SDT_radius_max" dz="SDT_half_length" /> + <shape type="Tube" rmin="SDT_radius_min" rmax="InnerTracker_outer_radius" dz="MainTracker_half_length" /> + <shape type="Tube" rmin="OuterTracker_inner_radius" rmax="SDT_radius_max" dz="MainTracker_half_length" /> </shape> </envelope> 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 index dce464bf8f2dc60523562d475579e2bb696c818c..f6f865ea47763225fcef3ab8065db1a2a386fe17 100644 --- a/Detector/DetCRD/compact/CRD_common_v01/FTD_SimpleStaggered_v01_01.xml +++ b/Detector/DetCRD/compact/CRD_common_v01/FTD_SimpleStaggered_v01_01.xml @@ -56,8 +56,8 @@ <extended_reconstruction_parameters strip_width="0.001*mm" strip_length="250*mm" strip_pitch="0.01*mm" strip_angle="5*deg" /> <!-- SQL command: "select * from disks;" --> - <disk disk_number="1" z_position_ReltoTPCLength="0" disk_si_thickness="0.02*mm" petal_cp_support_dxMax="71.9*mm" padUp_Si_dxMax="68*mm" petal_cp_support_thickness="1*mm" petal_support_zoffset="1.5*mm" sensor_is_pixel="1" double_sided="0" /> - <disk disk_number="2" z_position_ReltoTPCLength="FTD_disk2_zPosRelToDCLength" disk_si_thickness="0.02*mm" petal_cp_support_dxMax="71.9*mm" padUp_Si_dxMax="68*mm" petal_cp_support_thickness="1*mm" petal_support_zoffset="1.5*mm" sensor_is_pixel="1" double_sided="0" /> + <disk disk_number="1" z_position_ReltoTPCLength="0" disk_si_thickness="0.02*mm" petal_cp_support_dxMax="71.8*mm" padUp_Si_dxMax="68*mm" petal_cp_support_thickness="1*mm" petal_support_zoffset="1.5*mm" sensor_is_pixel="1" double_sided="0" /> + <disk disk_number="2" z_position_ReltoTPCLength="FTD_disk2_zPosRelToDCLength" disk_si_thickness="0.02*mm" petal_cp_support_dxMax="71.8*mm" padUp_Si_dxMax="68*mm" petal_cp_support_thickness="1*mm" petal_support_zoffset="1.5*mm" sensor_is_pixel="1" double_sided="0" /> <disk disk_number="3" z_position_ReltoTPCLength="FTD_disk3_zPosRelToDCLength" disk_si_thickness="0.2*mm" petal_cp_support_dxMax="103.49*mm" padUp_Si_dxMax="99.46*mm" petal_cp_support_thickness="2*mm" petal_support_zoffset="1.5*mm" sensor_is_pixel="0" double_sided="1" /> <disk disk_number="4" z_position_ReltoTPCLength="FTD_disk4_zPosRelToDCLength" disk_si_thickness="0.2*mm" petal_cp_support_dxMax="103.49*mm" padUp_Si_dxMax="99.46*mm" petal_cp_support_thickness="2*mm" petal_support_zoffset="1.5*mm" sensor_is_pixel="0" double_sided="1" /> <disk disk_number="5" z_position_ReltoTPCLength="FTD_disk5_zPosRelToDCLength" disk_si_thickness="0.2*mm" petal_cp_support_dxMax="103.49*mm" padUp_Si_dxMax="99.46*mm" petal_cp_support_thickness="2*mm" petal_support_zoffset="1.5*mm" sensor_is_pixel="0" double_sided="1" /> diff --git a/Detector/DetCRD/compact/CRD_common_v01/FTD_SimpleStaggered_v01_02.xml b/Detector/DetCRD/compact/CRD_common_v01/FTD_SimpleStaggered_v01_02.xml new file mode 100644 index 0000000000000000000000000000000000000000..afbb943147743d9a783c886da870c60feab9ee60 --- /dev/null +++ b/Detector/DetCRD/compact/CRD_common_v01/FTD_SimpleStaggered_v01_02.xml @@ -0,0 +1,76 @@ +<lccdd> + <define> + <constant name="FTD_inner_radius" value="BeamPipe_VertexRegion_rmax + FTD_BeamPipe_cable_clearance"/> + <constant name="FTD_outer_radius" value="InnerTracker_inner_radius - FTD_InnerTracker_gap"/> + <constant name="FTD_outer_radius_1" value="SIT1_inner_radius - env_safety"/> + <constant name="FTD_outer_radius_2" value="FTD_outer_radius - env_safety"/> + <constant name="FTD_half_length" value="InnerTracker_half_length"/> + <constant name="FTD_min_z_0" value="Vertex_half_length + env_safety"/> + <constant name="FTD_min_z_2" value="SIT1_half_length + env_safety"/> + <constant name="FTD_cone_min_z" value="BeamPipe_CentralAl_zmax"/> + <constant name="FTD_cone_radius" value="FTD_half_length*tan(CrossingAngle/2) + BeamPipe_Dnstream_inner_radius + BeamPipe_Cu_thickness + FTD_BeamPipe_cable_clearance/2"/> + <constant name="petal_cp_support_thickness" value="2.0*mm"/> + <constant name="petal_support_zoffset" value="1.5*mm"/> + <constant name="FTD1_vtx3_distance_z" value="95*mm"/> + <constant name="FTD7_ecal_distance_z" value="200*mm"/> + <constant name="FTD_disk2_zPosRelToDCLength" value="0.158004*2350*mm/InnerTracker_half_length"/> + <constant name="FTD_disk3_zPosRelToDCLength" value="0.273577*2350*mm/InnerTracker_half_length"/> + <constant name="FTD_disk4_zPosRelToDCLength" value="0.359149*2350*mm/InnerTracker_half_length"/> + <constant name="FTD_disk5_zPosRelToDCLength" value="0.393600*2350*mm/InnerTracker_half_length"/> + </define> + + <detectors> + <detector id="DetID_FTD" name="FTD" type="FTD_Simple_Staggered" vis="FTDVis" readout="FTDCollection" insideTrackingVolume="true"> + <envelope 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="62.*mm" padUp_Si_dxMax="58*mm" petal_cp_support_thickness="1*mm" petal_support_zoffset="1.5*mm" sensor_is_pixel="1" double_sided="0" /> + <disk disk_number="2" z_position_ReltoTPCLength="FTD_disk2_zPosRelToDCLength" disk_si_thickness="0.02*mm" petal_cp_support_dxMax="62.*mm" padUp_Si_dxMax="58*mm" petal_cp_support_thickness="1*mm" petal_support_zoffset="1.5*mm" sensor_is_pixel="1" double_sided="0" /> + <disk disk_number="3" z_position_ReltoTPCLength="FTD_disk3_zPosRelToDCLength" disk_si_thickness="0.2*mm" petal_cp_support_dxMax="103.49*mm" padUp_Si_dxMax="99.46*mm" petal_cp_support_thickness="2*mm" petal_support_zoffset="1.5*mm" sensor_is_pixel="0" double_sided="1" /> + <disk disk_number="4" z_position_ReltoTPCLength="FTD_disk4_zPosRelToDCLength" disk_si_thickness="0.2*mm" petal_cp_support_dxMax="103.49*mm" padUp_Si_dxMax="99.46*mm" petal_cp_support_thickness="2*mm" petal_support_zoffset="1.5*mm" sensor_is_pixel="0" double_sided="1" /> + <disk disk_number="5" z_position_ReltoTPCLength="FTD_disk5_zPosRelToDCLength" disk_si_thickness="0.2*mm" petal_cp_support_dxMax="103.49*mm" padUp_Si_dxMax="99.46*mm" petal_cp_support_thickness="2*mm" petal_support_zoffset="1.5*mm" sensor_is_pixel="0" double_sided="1" /> + + </detector> + + </detectors> + + <readouts> + <readout name="FTDCollection"> + <!-- fixme: for now DD4hep cannot handle signed values - side should actually be "-2" --> + <id>system:5,side:2,layer:9,module:8,sensor:8</id> + </readout> + </readouts> + + +</lccdd> diff --git a/Detector/DetCRD/compact/CRD_common_v01/Hcal_Rpc_Barrel_v01_01.xml b/Detector/DetCRD/compact/CRD_common_v01/Hcal_Rpc_Barrel_v01_01.xml new file mode 100644 index 0000000000000000000000000000000000000000..a65ff1dc17fcceb0db7f2e97ba6c5d0220e9f054 --- /dev/null +++ b/Detector/DetCRD/compact/CRD_common_v01/Hcal_Rpc_Barrel_v01_01.xml @@ -0,0 +1,79 @@ +<lccdd> + <define> + <constant name="Hcal_cells_size" value="10*mm"/> + <constant name="Hcal_inner_radius" value="Hcal_barrel_inner_radius"/> + <constant name="Hcal_half_length" value="Hcal_barrel_half_length"/> + <constant name="Hcal_inner_symmetry" value="Hcal_barrel_symmetry"/> + <constant name="Hcal_nlayers" value="40"/> + <constant name="Hcal_Ecal_gap" value="Hcal_barrel_inner_radius-Ecal_barrel_outer_radius"/> + <constant name="Ecal_outer_radius" value="Ecal_barrel_outer_radius"/> + + <constant name="Hcal_radiator_thickness" value="20.0*mm"/> + <constant name="Hcal_airgap_thickness" value="1*mm"/> + <constant name="Hcal_mylar_cathode_thickness" value="0.18*mm"/> + <constant name="Hcal_graphite_cathode_thickness" value="0.05*mm"/> + <constant name="Hcal_glass_cathode_thickness" value="1.1*mm"/> + <constant name="Hcal_sensitive_gas_gap" value="1.2*mm"/> + <constant name="Hcal_glass_anode_thickness" value="0.7*mm"/> + <constant name="Hcal_graphite_anode_thickness" value="0.05*mm"/> + <constant name="Hcal_mylar_anode_thickness" value="0.05*mm"/> + <constant name="Hcal_PCB_thickness" value="0.8*mm"/> + <constant name="Hcal_electronics_mask_thickness" value="1.6*mm"/> + + <constant name="Hcal_gas_edge_width" value="1*mm"/> + <constant name="Hcal_MinNumCellsInTransvPlane" value="11"/> + <constant name="Hcal_barrel_number_modules" value="5"/> + <constant name="Hcal_chamber_thickness" value="6.73*mm"/> + <constant name="Hcal_back_plate_thickness" value="15*mm"/> + <constant name="Hcal_lateral_structure_thickness" value="10*mm"/> + <constant name="Hcal_stave_gaps" value="0*mm"/> + <constant name="Hcal_modules_gap" value="2*mm"/> + + <constant name="Hcal_pad_separation" value="0*mm"/> + <constant name="Hcal_gasInlet_length" value="3.0*mm"/> + <constant name="Hcal_spacer_separation" value="100*mm"/> + <constant name="Hcal_spacer_thickness" value="8*mm"/> + <constant name="Hcal_gasInlet_inner_radius" value="0.4*mm"/> + <constant name="Hcal_gasInlet_outer_radius" value="0.5*mm"/> + </define> + + <detectors> + <detector name="HcalBarrel" type="SHcalRpc01_Barrel" id="DetID_HCAL" readout="HcalBarrelCollection" vis="GreenVis" insideTrackingVolume="false" > + <comment>Hadron Calorimeter Barrel</comment> + <envelope vis="HCALVis"> + <shape type="BooleanShape" operation="Subtraction" material="Air" > + <shape type="Cone" z="Hcal_barrel_half_length + env_safety/2" rmin1="0.0" rmax1="Hcal_barrel_outer_radius + env_safety" + rmin2="0.0" rmax2="Hcal_barrel_outer_radius + env_safety"/> + <shape type="PolyhedraRegular" numsides="Hcal_barrel_symmetry" rmin="0.0" + rmax="Hcal_barrel_inner_radius - env_safety" dz="2*(Hcal_barrel_half_length + env_safety)"/> + <rotation x="0" y="0" z="-180*deg/Hcal_barrel_symmetry"/> + </shape> + </envelope> + <type_flags type=" DetType_CALORIMETER + DetType_BARREL + DetType_HADRONIC " /> + + <staves material="stainless_steel" vis="BlueVis"/> + + <layer repeat="Hcal_nlayers" vis="SeeThrough"> + <slice material="stainless_steel" thickness="Hcal_radiator_thickness" vis="BlueVis" /> + <slice material="Air" thickness="Hcal_airgap_thickness" vis="WhiteVis" /> + <slice material="mylar" thickness="Hcal_mylar_cathode_thickness" vis="MagentaVis" /> + <slice material="graphite" thickness="Hcal_graphite_cathode_thickness" vis="Invisible" /> + <slice material="FloatGlass" thickness="Hcal_glass_cathode_thickness" vis="RedVis" /> + <slice material="RPCGAS2" thickness="Hcal_sensitive_gas_gap" sensitive = "yes" vis="YellowVis" edge_material="PEEK-GF30" spacer_material="Nylon"/> + <slice material="FloatGlass" thickness="Hcal_glass_anode_thickness" vis="RedVis" /> + <slice material="graphite" thickness="Hcal_graphite_anode_thickness" vis="Invisible" /> + <slice material="mylar" thickness="Hcal_mylar_anode_thickness" vis="MagentaVis" /> + <slice material="g10" thickness="Hcal_PCB_thickness" vis="CyanVis" /> + <slice material="g10" thickness="Hcal_electronics_mask_thickness" vis="GreenVis" /> + </layer> + </detector> + </detectors> + + <readouts> + <readout name="HcalBarrelCollection"> + <segmentation type="CartesianGridYZ" grid_size_y="Hcal_cells_size" grid_size_z="Hcal_cells_size"/> + <id>system:5,module:3,stave:3,tower:5,layer:6,slice:4,y:32:-16,z:-16</id> + </readout> + </readouts> + +</lccdd> diff --git a/Detector/DetCRD/compact/CRD_common_v01/Hcal_Rpc_Endcaps_v01_01.xml b/Detector/DetCRD/compact/CRD_common_v01/Hcal_Rpc_Endcaps_v01_01.xml new file mode 100644 index 0000000000000000000000000000000000000000..7d23b43cd6a4db765c393b568c0a2ed13ba1b9da --- /dev/null +++ b/Detector/DetCRD/compact/CRD_common_v01/Hcal_Rpc_Endcaps_v01_01.xml @@ -0,0 +1,48 @@ +<lccdd> + <define> + <constant name="Hcal_endcap_nlayers" value="Hcal_nlayers"/> + <constant name="Hcal_endcap_center_box_size" value="700*mm"/> + </define> + <detectors> + <detector id="DetID_HCAL_ENDCAP" name="HcalEndcap" type="SHcalRpc01_Endcaps" readout="HcalEndcapsCollection" vis="SeeThrough" calorimeterType="HAD_ENDCAP"> + <comment>Hadron Calorimeter Endcap</comment> + <envelope vis="HCALVis"> + <shape type="BooleanShape" operation="Subtraction" material="Air"> + <shape type="BooleanShape" operation="Subtraction" material="Air"> + <shape type="Tube" rmin="0.0" rmax="Hcal_endcap_outer_radius + env_safety" dz="Hcal_endcap_zmax + env_safety"/> + <shape type="Tube" rmin="0.0" rmax="Hcal_endcap_outer_radius + 2.0*env_safety" dz="Hcal_endcap_zmin - env_safety"/> + </shape> + <shape type="Box" dx="Hcal_endcap_inner_radius - env_safety" dy="Hcal_endcap_inner_radius - env_safety" dz="Hcal_endcap_zmax + 2.0*env_safety"/> + </shape> + <rotation x="0" y="0" z="0"/> + </envelope> + + <type_flags type="DetType_CALORIMETER + DetType_ENDCAP + DetType_HADRONIC " /> + + <staves material="stainless_steel" vis="SeeThrough"/> + + <layer repeat="Hcal_endcap_nlayers" vis="SeeThrough"> + <slice material="stainless_steel" thickness="Hcal_radiator_thickness" vis="BlueVis" /> + <slice material="Air" thickness="Hcal_airgap_thickness" vis="WhiteVis" /> + <slice material="mylar" thickness="Hcal_mylar_cathode_thickness" vis="MagentaVis" /> + <slice material="graphite" thickness="Hcal_graphite_cathode_thickness" vis="Invisible" /> + <slice material="FloatGlass" thickness="Hcal_glass_cathode_thickness" vis="RedVis" /> + <slice material="RPCGAS2" thickness="Hcal_sensitive_gas_gap" sensitive = "yes" vis="YellowVis"/> + <slice material="FloatGlass" thickness="Hcal_glass_anode_thickness" vis="RedVis" /> + <slice material="graphite" thickness="Hcal_graphite_anode_thickness" vis="Invisible" /> + <slice material="mylar" thickness="Hcal_mylar_anode_thickness" vis="MagentaVis" /> + <slice material="g10" thickness="Hcal_PCB_thickness" vis="CyanVis" /> + <slice material="g10" thickness="Hcal_electronics_mask_thickness" vis="GreenVis" /> + </layer> + + </detector> + </detectors> + + <readouts> + <readout name="HcalEndcapsCollection"> + <segmentation type="CartesianGridXY" grid_size_x="Hcal_cells_size" grid_size_y="Hcal_cells_size" offset_x="Hcal_cells_size/2.0" offset_y="Hcal_cells_size/2.0" /> + <id>system:5,module:3,stave:3,tower:5,layer:6,x:32:-16,y:-16</id> + </readout> + </readouts> + +</lccdd> diff --git a/Detector/DetCRD/compact/CRD_common_v01/SET_SimplePlanar_v01_02.xml b/Detector/DetCRD/compact/CRD_common_v01/SET_SimplePlanar_v01_02.xml new file mode 100644 index 0000000000000000000000000000000000000000..2d90b1c81d0a5e41831bbd2f2dc19b3739e604d3 --- /dev/null +++ b/Detector/DetCRD/compact/CRD_common_v01/SET_SimplePlanar_v01_02.xml @@ -0,0 +1,49 @@ +<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"/> + <constant name="SET_inner_distance_from_tpc" value="InnerTracker_outer_radius-OuterTracker_outer_radius+3*mm"/> + </define> + + <detectors> + <detector id="DetID_SET" name="SET" type="SET_Simple_Planar" vis="SETVis" readout="SETCollection" insideTrackingVolume="true"> + <envelope vis="SETVis"> + <shape type="BooleanShape" operation="Union" material="Air" > + <shape type="Tube" rmin="InnerTracker_outer_radius" rmax="OuterTracker_inner_radius" dz="SET_half_length" material = "Air" /> + <shape type="Tube" rmin="SET_inner_radius" rmax="SET_outer_radius" dz="SET_half_length" material = "Air" /> + </shape> + </envelope> + + <type_flags type="DetType_TRACKER + DetType_BARREL + DetType_STRIP "/> + + <reconstruction strip_width="0.0125*mm" strip_length="92*mm" strip_pitch="0.05*mm" strip_angle="7*deg" /> + + <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" /> + + <layer layer_id="0" sensitive_distance_from_tpc="SET_inner_distance_from_tpc" 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="SET_inner_distance_from_tpc+2.5*mm" coverage_of_TPC_Ecal_Hcal_barrel="0.98" + n_ladders="24" ladder_clearance="0.1*mm" faces_IP="0" /> + + <layer layer_id="2" 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="3" 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_SimplePixel_v01_01.xml b/Detector/DetCRD/compact/CRD_common_v01/SIT_SimplePixel_v01_01.xml new file mode 100644 index 0000000000000000000000000000000000000000..9e7a967efaa134682cb5d9ae978095be20d14846 --- /dev/null +++ b/Detector/DetCRD/compact/CRD_common_v01/SIT_SimplePixel_v01_01.xml @@ -0,0 +1,49 @@ +<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="SIT2_inner_radius"/> + <constant name="SIT_outer_radius" value="InnerTracker_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_2+0.5*SIT_sensitive_thickness" n_sensors_per_ladder="48" n_ladders="16" + ladder_clearance="0.1*mm" faces_IP="1" is_SIT1="0" is_SIT2="1" /> + </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/SIT_SimplePlanar_v01_01.xml b/Detector/DetCRD/compact/CRD_common_v01/SIT_SimplePlanar_v01_01.xml index 857af3277bbada91568cbb05352dc6e3a7c50bc3..3a9df414610a95791f1d1a9bb0616d4d255465d9 100644 --- a/Detector/DetCRD/compact/CRD_common_v01/SIT_SimplePlanar_v01_01.xml +++ b/Detector/DetCRD/compact/CRD_common_v01/SIT_SimplePlanar_v01_01.xml @@ -25,7 +25,7 @@ <!-- 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" /> + <reconstruction strip_width="0." strip_length="92*mm" strip_pitch="0." strip_angle="7*deg" /> <!-- SQL command: "select * from global;" --> <global sensitive_thickness="SIT_sensitive_thickness" support_thickness="1*mm" sensor_length="92*mm" diff --git a/Detector/DetCRD/compact/CRD_common_v01/Yoke_Barrel_v01_01.xml b/Detector/DetCRD/compact/CRD_common_v01/Yoke_Barrel_v01_01.xml new file mode 100644 index 0000000000000000000000000000000000000000..8960b15c2c9931e19b398d049673328950dbd7ff --- /dev/null +++ b/Detector/DetCRD/compact/CRD_common_v01/Yoke_Barrel_v01_01.xml @@ -0,0 +1,38 @@ +<lccdd> + <define> + <constant name="Yoke_cells_size" value="30*mm"/> + </define> + <detectors> + <detector name="YokeBarrel" type="Yoke05_Barrel" id="DetID_YOKE" readout="MuonBarrelCollection" vis="YellowVis" insideTrackingVolume="false"> + <envelope vis="YOKEVis"> + <shape type="BooleanShape" operation="Intersection" material="Air" > + <shape type="Box" dx="Yoke_barrel_outer_radius + env_safety" dy="Yoke_barrel_outer_radius + env_safety" dz="Yoke_barrel_half_length + env_safety"/> + <shape type="PolyhedraRegular" numsides="Yoke_barrel_symmetry" rmin="Yoke_barrel_inner_radius" rmax="Yoke_barrel_outer_radius" + dz="2.0*Yoke_barrel_half_length" material = "Air" /> + <rotation x="0*deg" y="0*deg" z="90*deg-180*deg/Yoke_barrel_symmetry"/> + </shape> + </envelope> + + <type_flags type=" DetType_CALORIMETER + DetType_BARREL + DetType_MUON " /> + + <dimensions numsides="Yoke_barrel_symmetry" rmin="Yoke_barrel_inner_radius" rmax="Yoke_barrel_outer_radius" zhalf="Yoke_barrel_half_length" material="Air"/> + <position x="0*mm" y="0*mm" z="0*mm"/> + <rotation x="0*deg" y="0*deg" z="0*deg"/> + <staves material = "Iron" vis="BlueVis"/> + <!--TODO Yoke05_Barrel fixed 14 layers, should be updated as optional--> + <layer repeat="14" vis="SeeThrough"> + <slice material = "Air" thickness = "15.0*mm" vis="YellowVis" /> + <slice material = "G4_POLYSTYRENE" thickness = "10.0*mm" sensitive = "yes" vis="CyanVis" /> + <slice material = "Air" thickness = "15.0*mm" vis="YellowVis" /> + </layer> + </detector> + </detectors> + + <readouts> + <readout name="MuonBarrelCollection"> + <segmentation type="CartesianGridXZ" grid_size_x="Yoke_cells_size" grid_size_z="Yoke_cells_size"/> + <id>system:5,module:3,stave:4,tower:3,layer:6,x:32:-16,z:-16</id> + </readout> + </readouts> + +</lccdd> diff --git a/Detector/DetCRD/compact/CRD_common_v01/Yoke_Endcaps_v01_01.xml b/Detector/DetCRD/compact/CRD_common_v01/Yoke_Endcaps_v01_01.xml new file mode 100644 index 0000000000000000000000000000000000000000..6e49c15cb0b3c68bedf66c2f0b468689720ed70d --- /dev/null +++ b/Detector/DetCRD/compact/CRD_common_v01/Yoke_Endcaps_v01_01.xml @@ -0,0 +1,47 @@ +<lccdd> + <define> + <constant name="Hcal_Yoke_plug_gap" value="25*mm"/> + <constant name="YokeEndcapPlug_symmetry" value="Yoke_endcap_outer_symmetry"/> + </define> + <detectors> + <detector name="YokeEndcap" type="Yoke05_Endcaps" id="DetID_YOKE_ENDCAP" readout="MuonEndcapsCollection" vis="YellowVis" insideTrackingVolume="false" > + <envelope vis="YOKEVis"> + <shape type="BooleanShape" operation="Subtraction" material="Air"> + <shape type="BooleanShape" operation="Subtraction" material="Air"> + <shape type="BooleanShape" operation="Intersection" material="Air"> + <shape type="Box" dx="Yoke_endcap_outer_radius + 1.5*env_safety" dy="Yoke_endcap_outer_radius + 1.5*env_safety" + dz="Yoke_endcap_zmax + env_safety"/> + <shape type="PolyhedraRegular" numsides="Yoke_endcap_outer_symmetry" rmin="Yoke_endcap_inner_radius - env_safety" + rmax="Yoke_endcap_outer_radius + env_safety" dz="2.*Yoke_endcap_zmax + env_safety" /> + <rotation x="0*deg" y="0*deg" z="90*deg-180*deg/Yoke_endcap_outer_symmetry"/> + </shape> + <shape type="Box" dx="Yoke_endcap_outer_radius + 1.5*env_safety" dy="Yoke_endcap_outer_radius + 1.5*env_safety" + dz="HcalEndcap_max_z + Hcal_Yoke_plug_gap - env_safety"/> + </shape> + <!--without Yoke_plug--> + <!--shape type="PolyhedraRegular" numsides="YokeEndcapPlug_symmetry" rmin="Hcal_barrel_outer_radius*cos(pi/Hcal_endcap_outer_symmetry) + env_safety" + rmax="Yoke_endcap_outer_radius + 2.0*env_safety" dz="2.*Yoke_endcap_zmin - env_safety" /> + <rotation x="0*deg" y="0*deg" z="90*deg-180*deg/YokeEndcapPlug_symmetry"/--> + </shape> + </envelope> + + <type_flags type=" DetType_CALORIMETER + DetType_ENDCAP + DetType_MUON " /> + + <dimensions numsides="Yoke_endcap_outer_symmetry" rmin="Yoke_endcap_inner_radius" z="Yoke_barrel_half_length" /> + <material name="Iron"/> + <layer repeat="12" vis="SeeThrough"> + <slice material = "Air" thickness = "15.0*mm" vis="YellowVis" /> + <slice material = "G4_POLYSTYRENE" thickness = "10.0*mm" sensitive = "yes" vis="CyanVis" /> + <slice material = "Air" thickness = "15.0*mm" vis="YellowVis" /> + </layer> + </detector> + </detectors> + + <readouts> + <readout name="MuonEndcapsCollection"> + <segmentation type="CartesianGridXY" grid_size_x="Yoke_cells_size" grid_size_y="Yoke_cells_size"/> + <id>system:5,module:3,stave:4,tower:3,layer:6,x:32:-16,y:-16</id> + </readout> + </readouts> + +</lccdd> 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 index 36230440063ab1e4785d4f3340c0cbee6bf02321..7fa9b7cba6c11d4e29037539f4dddd8a50181b20 100644 --- a/Detector/DetCRD/compact/CRD_o1_v01/CRD_Dimensions_v01_01.xml +++ b/Detector/DetCRD/compact/CRD_o1_v01/CRD_Dimensions_v01_01.xml @@ -85,11 +85,11 @@ <constant name="DC_half_length" value="2225*mm" /> <constant name="MainTracker_half_length" value="DC_half_length+DC_Endcap_z" /> <constant name="InnerTracker_half_length" value="DC_half_length" /> - <constant name="InnerTracker_inner_radius" value="234*mm"/> - <constant name="InnerTracker_outer_radius" value="906*mm"/> + <constant name="InnerTracker_inner_radius" value="234.8*mm"/> + <constant name="InnerTracker_outer_radius" value="908.8*mm"/> <constant name="OuterTracker_half_length" value="DC_half_length"/> - <constant name="OuterTracker_inner_radius" value="1085*mm"/> - <constant name="OuterTracker_outer_radius" value="1720*mm"/> + <constant name="OuterTracker_inner_radius" value="1084.8*mm"/> + <constant name="OuterTracker_outer_radius" value="1717.8*mm"/> <constant name="SIT1_inner_radius" value="152.90*mm"/> <constant name="SIT1_half_length" value="368.00*mm"/> @@ -125,42 +125,50 @@ <constant name="Ecal_endcap_zmin" value="2260*mm"/> <constant name="Ecal_endcap_zmax" value="2540*mm"/> <constant name="Ecal_endcap_symmetry" value="8"/> + <!--obseleted constance, used by old construct, should be removed while creating new constrcut--> + <constant name="EcalEndcap_outer_radius" value="Ecal_barrel_outer_radius"/> - <constant name="Solenoid_inner_radius" value="2250*mm"/> - <constant name="Solenoid_outer_radius" value="2550*mm"/> + <constant name="Solenoid_inner_radius" value="2260*mm"/> + <constant name="Solenoid_outer_radius" value="2560*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="SolenoidCoil_center_radius" value="(Solenoid_inner_radius+Solenoid_outer_radius)/2"/> <constant name="Hcal_barrel_inner_radius" value="2600*mm"/> - <constant name="Hcal_barrel_outer_radius" value="3700*mm"/> + <constant name="Hcal_barrel_outer_radius" value="3670.6805372782*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_zmax" value="4094.2*mm"/> <constant name="Hcal_endcap_symmetry" value="8"/> - + <!--obseleted constance, used by old construct, should be removed while creating new constrcut--> + <constant name="HcalEndcap_max_z" value="Hcal_endcap_zmax"/> + <constant name="Hcal_endcap_outer_symmetry" value="Hcal_endcap_symmetry"/> + <constant name="Hcal_outer_radius" value="Hcal_barrel_outer_radius"/> + <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_zmax" value="Hcal_endcap_zmin-10*mm"/> <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_outer_radius" value="6951*mm"/> + <constant name="Yoke_barrel_half_length" value="Hcal_endcap_zmax"/> <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_radius" value="Yoke_barrel_outer_radius"/> + <constant name="Yoke_endcap_zmin" value="Yoke_barrel_half_length+25*mm"/> + <constant name="Yoke_endcap_zmax" value="6750*mm"/> <constant name="Yoke_endcap_outer_symmetry" value="8"/> <constant name="Yoke_endcap_inner_symmetry" value="0"/> + <!--obseleted constance, used by old construct, should be removed while creating new constrcut--> + <constant name="Yoke_Z_start_endcaps" value="Yoke_endcap_zmin"/> <constant name="LumiCal_zmax" value="805*mm" /> <constant name="LumiCal_zmin" value="700*mm"/> diff --git a/Detector/DetCRD/compact/CRD_o1_v01/CRD_o1_v01.xml b/Detector/DetCRD/compact/CRD_o1_v01/CRD_o1_v01.xml index d264a40d004528055692ba1de56706e7f009986f..2dff18ec59923381d7e98a1e999e334c4649b4e4 100644 --- a/Detector/DetCRD/compact/CRD_o1_v01/CRD_o1_v01.xml +++ b/Detector/DetCRD/compact/CRD_o1_v01/CRD_o1_v01.xml @@ -1,8 +1,9 @@ +<?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="CRD_i1_v01" - title="CepC reference detctor with coil inside Hcal" + <info name="CRD_o1_v01" + title="CepC reference detctor with coil inside Hcal, strip SIT" author="C.D.Fu, " url="http://cepc.ihep.ac.cn" status="developing" @@ -34,17 +35,28 @@ <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/Coil_Simple_v01_01.xml"/> + <include ref="../CRD_common_v01/Hcal_Rpc_Barrel_v01_01.xml"/> + <include ref="../CRD_common_v01/Hcal_Rpc_Endcaps_v01_01.xml"/> + <!--include ref="../CRD_common_v01/Hcal_Rpc_EndcapRing_v01_01.xml"/--> + <include ref="../CRD_common_v01/Yoke_Barrel_v01_01.xml"/> + <include ref="../CRD_common_v01/Yoke_Endcaps_v01_01.xml"/> <!--include ref="../CRD_common_v01/Lcal_v01_01.xml"/--> <fields> - <field name="GlobalSolenoid" type="solenoid" + <field name="InnerSolenoid" type="solenoid" inner_field="Field_nominal_value" + outer_field="0" + zmax="SolenoidCoil_half_length" + inner_radius="SolenoidCoil_center_radius" + outer_radius="Solenoid_outer_radius"> + </field> + <field name="OuterSolenoid" type="solenoid" + inner_field="0" outer_field="Field_outer_nominal_value" zmax="SolenoidCoil_half_length" - outer_radius="SolenoidCoil_center_radius"> + inner_radius="Solenoid_outer_radius" + outer_radius="Yoke_barrel_inner_radius"> </field> </fields> diff --git a/Detector/DetCRD/compact/CRD_o1_v02/CRD_Dimensions_v01_02.xml b/Detector/DetCRD/compact/CRD_o1_v02/CRD_Dimensions_v01_02.xml new file mode 100644 index 0000000000000000000000000000000000000000..0ef534ce04ff16c208695f5d74661f21c30ce392 --- /dev/null +++ b/Detector/DetCRD/compact/CRD_o1_v02/CRD_Dimensions_v01_02.xml @@ -0,0 +1,232 @@ +<?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="Field_nominal_value" value="3*tesla"/> + <constant name="Field_outer_nominal_value" value="-1.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="DC_Endcap_z" value="0.1*mm"/> + <constant name="DC_half_length" value="2225*mm" /> + <constant name="MainTracker_half_length" value="DC_half_length+DC_Endcap_z" /> + <constant name="InnerTracker_half_length" value="DC_half_length" /> + <constant name="InnerTracker_inner_radius" value="234.8*mm"/> + <constant name="InnerTracker_outer_radius" value="908.8*mm"/> + <constant name="OuterTracker_half_length" value="DC_half_length"/> + <constant name="OuterTracker_inner_radius" value="1084.8*mm"/> + <constant name="OuterTracker_outer_radius" value="1717.8*mm"/> + + <constant name="SIT1_inner_radius" value="140*mm"/> + <constant name="SIT1_half_length" value="368.00*mm"/> + <constant name="SIT2_inner_radius" value="225*mm"/> + <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"/> + <!--obseleted constance, used by old construct, should be removed while creating new constrcut--> + <constant name="EcalEndcap_outer_radius" value="Ecal_barrel_outer_radius"/> + + <constant name="Solenoid_inner_radius" value="2260*mm"/> + <constant name="Solenoid_outer_radius" value="2560*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="SolenoidCoil_center_radius" value="(Solenoid_inner_radius+Solenoid_outer_radius)/2"/> + + <constant name="Hcal_barrel_inner_radius" value="2600*mm"/> + <constant name="Hcal_barrel_outer_radius" value="3670.6805372782*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="4094.2*mm"/> + <constant name="Hcal_endcap_symmetry" value="8"/> + <!--obseleted constance, used by old construct, should be removed while creating new constrcut--> + <constant name="HcalEndcap_max_z" value="Hcal_endcap_zmax"/> + <constant name="Hcal_endcap_outer_symmetry" value="Hcal_endcap_symmetry"/> + <constant name="Hcal_outer_radius" value="Hcal_barrel_outer_radius"/> + + <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-10*mm"/> + <constant name="Hcal_ring_symmetry" value="8"/> + + <constant name="Yoke_barrel_inner_radius" value="3710*mm"/> + <constant name="Yoke_barrel_outer_radius" value="6951*mm"/> + <constant name="Yoke_barrel_half_length" value="Hcal_endcap_zmax"/> + <constant name="Yoke_barrel_symmetry" value="8"/> + + <constant name="Yoke_endcap_inner_radius" value="400*mm"/> + <constant name="Yoke_endcap_outer_radius" value="Yoke_barrel_outer_radius"/> + <constant name="Yoke_endcap_zmin" value="Yoke_barrel_half_length+25*mm"/> + <constant name="Yoke_endcap_zmax" value="6750*mm"/> + <constant name="Yoke_endcap_outer_symmetry" value="8"/> + <constant name="Yoke_endcap_inner_symmetry" value="0"/> + <!--obseleted constance, used by old construct, should be removed while creating new constrcut--> + <constant name="Yoke_Z_start_endcaps" value="Yoke_endcap_zmin"/> + + <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_v02/CRD_o1_v02.xml b/Detector/DetCRD/compact/CRD_o1_v02/CRD_o1_v02.xml new file mode 100644 index 0000000000000000000000000000000000000000..8c584bd311e6e22b1dc18bd8864fab67b20fe630 --- /dev/null +++ b/Detector/DetCRD/compact/CRD_o1_v02/CRD_o1_v02.xml @@ -0,0 +1,63 @@ +<?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="CRD_o1_v02" + title="CepC reference detctor with coil inside Hcal, pixel SIT" + author="C.D.Fu, " + url="http://cepc.ihep.ac.cn" + status="developing" + version="v02"> + <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_02.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_02.xml"/> + <include ref="../CRD_common_v01/SIT_SimplePixel_v01_01.xml"/> + <include ref="../CRD_common_v01/DC_Simple_v01_01.xml"/> + <include ref="../CRD_common_v01/SET_SimplePlanar_v01_02.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_Simple_v01_01.xml"/> + <include ref="../CRD_common_v01/Hcal_Rpc_Barrel_v01_01.xml"/> + <include ref="../CRD_common_v01/Hcal_Rpc_Endcaps_v01_01.xml"/> + <!--include ref="../CRD_common_v01/Hcal_Rpc_EndcapRing_v01_01.xml"/--> + <include ref="../CRD_common_v01/Yoke_Barrel_v01_01.xml"/> + <include ref="../CRD_common_v01/Yoke_Endcaps_v01_01.xml"/> + <!--include ref="../CRD_common_v01/Lcal_v01_01.xml"/--> + + <fields> + <field name="InnerSolenoid" type="solenoid" + inner_field="Field_nominal_value" + outer_field="0" + zmax="SolenoidCoil_half_length" + inner_radius="SolenoidCoil_center_radius" + outer_radius="Solenoid_outer_radius"> + </field> + <field name="OuterSolenoid" type="solenoid" + inner_field="0" + outer_field="Field_outer_nominal_value" + zmax="SolenoidCoil_half_length" + inner_radius="Solenoid_outer_radius" + outer_radius="Yoke_barrel_inner_radius"> + </field> + </fields> + +</lccdd> diff --git a/Detector/DetCRD/compact/README.md b/Detector/DetCRD/compact/README.md index 3ca82e71804c4139861744be371791a2b1464e23..e28392fe7297e747bba016a292c8d2c1b8486f21 100644 --- a/Detector/DetCRD/compact/README.md +++ b/Detector/DetCRD/compact/README.md @@ -5,11 +5,12 @@ 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 | +| CRD_o1_v02 | pixel SIT | DC | crystal | RPC | developing | | ------------- | -----------------------------|-------------|---------|------|----------------| ## Details -### CRD_o1_v01 (first preliminary import, to update) +### CRD_o1_v01 (to update) - coil inside CRD model - BeamPipe - with center pipe + crotch link to doubly-pipe @@ -29,12 +30,23 @@ The following CRD detector models are available in CEPCSW - Ecal - with crystal - Detector/DetCRD/src/Calorimeter/CRDEcal.cpp - - Hcal (TODO) - - with scintillator **and** RPC readout + - Endcap (TODO) + - Hcal + - with RPC readout - creates two sets of hit collections - - Coil (TODO) - - Yoke (TODO) + - Coil + - CEPC_v4 like + - Yoke + - CEPC_v4 like - compact files: - [./CRD_o1_v01/CRD_o1_v01.xml](./CRD_o1_v01/CRD_o1_v01.xml) - +### CRD_o1_v02 (to update) + - based on CRD_o1_v01 + - SIT: strip -> pixel + - SIT12->SIT1: r = 152.90 -> 140.00 mm (pixel SIT1) + - SIT34->SIT2: between DCs -> 225.00 mm (pixel SIT2) + - SET12: outside DC -> between DCs + - SET34: outside DC (added) + - compact files: + - [./CRD_o1_v02/CRD_o1_v02.xml](./CRD_o1_v02/CRD_o1_v02.xml)