Skip to content
Snippets Groups Projects
Unverified Commit 85bdbe5d authored by lintao@ihep.ac.cn's avatar lintao@ihep.ac.cn Committed by GitHub
Browse files

Merge pull request #150 from fucd/crd

SIM:improve CRD geometry
parents 71675a73 87dbfe28
No related branches found
No related tags found
No related merge requests found
Showing
with 782 additions and 46 deletions
<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>
...@@ -14,16 +14,18 @@ ...@@ -14,16 +14,18 @@
<constant name="SDT_radius_min" value="InnerTracker_inner_radius"/> <constant name="SDT_radius_min" value="InnerTracker_inner_radius"/>
<constant name="SDT_radius_max" value="OuterTracker_outer_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="SDT_length" value="SDT_half_length*2"/>
<constant name="DC_length" value="DC_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_chamber_inner_wall_thickness" value="0.2*mm"/>
<constant name="SDT_inner_chamber_radius_max" value="InnerTracker_outer_radius"/> <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_inner_chamber_length" value="DC_length"/>
<constant name="SDT_outer_chamber_radius_min" value="OuterTracker_inner_radius"/> <constant name="SDT_outer_chamber_radius_min" value="OuterTracker_inner_radius+SDT_chamber_inner_wall_thickness"/>
<constant name="SDT_outer_chamber_radius_max" value="1715*mm"/> <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_outer_chamber_length" value="DC_length"/>
<constant name="SDT_inner_chamber_layer_number" value="67"/> <constant name="SDT_inner_chamber_layer_number" value="67"/>
...@@ -31,14 +33,14 @@ ...@@ -31,14 +33,14 @@
<constant name="SDT_chamber_layer_width" value="10*mm"/> <constant name="SDT_chamber_layer_width" value="10*mm"/>
<constant name="Epsilon" value="0*deg"/> <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_min" value="SDT_inner_chamber_radius_min-SDT_chamber_inner_wall_thickness"/>
<constant name="SDT_inner_chamber_inner_wall_radius_max" value="235*mm"/> <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="906*mm"/> <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="908.8*mm"/> <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="1084.8*mm"/> <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="1085*mm"/> <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="1715*mm"/> <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="1717.8*mm"/> <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_rmin" value="SDT_radius_min"/>
<constant name="DC_Endcap_rmax" value="SDT_radius_max"/> <constant name="DC_Endcap_rmax" value="SDT_radius_max"/>
...@@ -53,8 +55,8 @@ ...@@ -53,8 +55,8 @@
<detector id="DetID_DC" name="DriftChamber" type="DriftChamber" readout="DriftChamberHitsCollection" vis="BlueVis" sensitive="true" insideTrackingVolume="true"> <detector id="DetID_DC" name="DriftChamber" type="DriftChamber" readout="DriftChamberHitsCollection" vis="BlueVis" sensitive="true" insideTrackingVolume="true">
<envelope vis="SeeThrough"> <envelope vis="SeeThrough">
<shape type="BooleanShape" operation="Union" material="Air"> <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="SDT_radius_min" rmax="InnerTracker_outer_radius" dz="MainTracker_half_length" />
<shape type="Tube" rmin="1084.8*mm" rmax="SDT_radius_max" dz="SDT_half_length" /> <shape type="Tube" rmin="OuterTracker_inner_radius" rmax="SDT_radius_max" dz="MainTracker_half_length" />
</shape> </shape>
</envelope> </envelope>
......
...@@ -56,8 +56,8 @@ ...@@ -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" /> <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;" --> <!-- 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="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.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.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="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="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" /> <disk disk_number="5" z_position_ReltoTPCLength="FTD_disk5_zPosRelToDCLength" disk_si_thickness="0.2*mm" petal_cp_support_dxMax="103.49*mm" padUp_Si_dxMax="99.46*mm" petal_cp_support_thickness="2*mm" petal_support_zoffset="1.5*mm" sensor_is_pixel="0" double_sided="1" />
......
<lccdd>
<define>
<constant name="FTD_inner_radius" value="BeamPipe_VertexRegion_rmax + FTD_BeamPipe_cable_clearance"/>
<constant name="FTD_outer_radius" value="InnerTracker_inner_radius - FTD_InnerTracker_gap"/>
<constant name="FTD_outer_radius_1" value="SIT1_inner_radius - env_safety"/>
<constant name="FTD_outer_radius_2" value="FTD_outer_radius - env_safety"/>
<constant name="FTD_half_length" value="InnerTracker_half_length"/>
<constant name="FTD_min_z_0" value="Vertex_half_length + env_safety"/>
<constant name="FTD_min_z_2" value="SIT1_half_length + env_safety"/>
<constant name="FTD_cone_min_z" value="BeamPipe_CentralAl_zmax"/>
<constant name="FTD_cone_radius" value="FTD_half_length*tan(CrossingAngle/2) + BeamPipe_Dnstream_inner_radius + BeamPipe_Cu_thickness + FTD_BeamPipe_cable_clearance/2"/>
<constant name="petal_cp_support_thickness" value="2.0*mm"/>
<constant name="petal_support_zoffset" value="1.5*mm"/>
<constant name="FTD1_vtx3_distance_z" value="95*mm"/>
<constant name="FTD7_ecal_distance_z" value="200*mm"/>
<constant name="FTD_disk2_zPosRelToDCLength" value="0.158004*2350*mm/InnerTracker_half_length"/>
<constant name="FTD_disk3_zPosRelToDCLength" value="0.273577*2350*mm/InnerTracker_half_length"/>
<constant name="FTD_disk4_zPosRelToDCLength" value="0.359149*2350*mm/InnerTracker_half_length"/>
<constant name="FTD_disk5_zPosRelToDCLength" value="0.393600*2350*mm/InnerTracker_half_length"/>
</define>
<detectors>
<detector id="DetID_FTD" name="FTD" type="FTD_Simple_Staggered" vis="FTDVis" readout="FTDCollection" insideTrackingVolume="true">
<envelope 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>
<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>
<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>
<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>
<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>
...@@ -25,7 +25,7 @@ ...@@ -25,7 +25,7 @@
<!-- database : sit_simple_planar_sensors_03 --> <!-- database : sit_simple_planar_sensors_03 -->
<!-- SQL command: "select * from extended_reconstruction_parameters;" --> <!-- 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;" --> <!-- SQL command: "select * from global;" -->
<global sensitive_thickness="SIT_sensitive_thickness" support_thickness="1*mm" sensor_length="92*mm" <global sensitive_thickness="SIT_sensitive_thickness" support_thickness="1*mm" sensor_length="92*mm"
......
<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>
<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>
...@@ -85,11 +85,11 @@ ...@@ -85,11 +85,11 @@
<constant name="DC_half_length" value="2225*mm" /> <constant name="DC_half_length" value="2225*mm" />
<constant name="MainTracker_half_length" value="DC_half_length+DC_Endcap_z" /> <constant name="MainTracker_half_length" value="DC_half_length+DC_Endcap_z" />
<constant name="InnerTracker_half_length" value="DC_half_length" /> <constant name="InnerTracker_half_length" value="DC_half_length" />
<constant name="InnerTracker_inner_radius" value="234*mm"/> <constant name="InnerTracker_inner_radius" value="234.8*mm"/>
<constant name="InnerTracker_outer_radius" value="906*mm"/> <constant name="InnerTracker_outer_radius" value="908.8*mm"/>
<constant name="OuterTracker_half_length" value="DC_half_length"/> <constant name="OuterTracker_half_length" value="DC_half_length"/>
<constant name="OuterTracker_inner_radius" value="1085*mm"/> <constant name="OuterTracker_inner_radius" value="1084.8*mm"/>
<constant name="OuterTracker_outer_radius" value="1720*mm"/> <constant name="OuterTracker_outer_radius" value="1717.8*mm"/>
<constant name="SIT1_inner_radius" value="152.90*mm"/> <constant name="SIT1_inner_radius" value="152.90*mm"/>
<constant name="SIT1_half_length" value="368.00*mm"/> <constant name="SIT1_half_length" value="368.00*mm"/>
...@@ -125,42 +125,50 @@ ...@@ -125,42 +125,50 @@
<constant name="Ecal_endcap_zmin" value="2260*mm"/> <constant name="Ecal_endcap_zmin" value="2260*mm"/>
<constant name="Ecal_endcap_zmax" value="2540*mm"/> <constant name="Ecal_endcap_zmax" value="2540*mm"/>
<constant name="Ecal_endcap_symmetry" value="8"/> <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_inner_radius" value="2260*mm"/>
<constant name="Solenoid_outer_radius" value="2550*mm"/> <constant name="Solenoid_outer_radius" value="2560*mm"/>
<constant name="Solenoid_half_length" value="3000*mm"/> <constant name="Solenoid_half_length" value="3000*mm"/>
<constant name="SolenoidCoil_half_length" value="2900*mm"/> <constant name="SolenoidCoil_half_length" value="2900*mm"/>
<constant name="SolenoidCoil_radius" value="2300*mm"/> <constant name="SolenoidCoil_radius" value="2300*mm"/>
<constant name="SolenoidCoil_center_radius" value="(Solenoid_inner_radius+Solenoid_outer_radius)/2"/> <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_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_half_length" value="3000*mm"/>
<constant name="Hcal_barrel_symmetry" value="8"/> <constant name="Hcal_barrel_symmetry" value="8"/>
<constant name="Hcal_endcap_inner_radius" value="340*mm"/> <constant name="Hcal_endcap_inner_radius" value="340*mm"/>
<constant name="Hcal_endcap_outer_radius" value="Hcal_barrel_outer_radius"/> <constant name="Hcal_endcap_outer_radius" value="Hcal_barrel_outer_radius"/>
<constant name="Hcal_endcap_zmin" value="3010*mm"/> <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"/> <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_inner_radius" value="Hcal_endcap_inner_radius"/>
<constant name="Hcal_ring_outer_radius" value="Solenoid_inner_radius"/> <constant name="Hcal_ring_outer_radius" value="Solenoid_inner_radius"/>
<constant name="Hcal_ring_zmin" value="2600*mm"/> <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="Hcal_ring_symmetry" value="8"/>
<constant name="Yoke_barrel_inner_radius" value="3710*mm"/> <constant name="Yoke_barrel_inner_radius" value="3710*mm"/>
<constant name="Yoke_barrel_outer_radius" value="5170*mm"/> <constant name="Yoke_barrel_outer_radius" value="6951*mm"/>
<constant name="Yoke_barrel_half_length" value="3650*mm"/> <constant name="Yoke_barrel_half_length" value="Hcal_endcap_zmax"/>
<constant name="Yoke_barrel_symmetry" value="8"/> <constant name="Yoke_barrel_symmetry" value="8"/>
<constant name="Yoke_endcap_inner_radius" value="400*mm"/> <constant name="Yoke_endcap_inner_radius" value="400*mm"/>
<constant name="Yoke_endcap_outer_radius" value="5170*mm"/> <constant name="Yoke_endcap_outer_radius" value="Yoke_barrel_outer_radius"/>
<constant name="Yoke_endcap_zmin" value="4150*mm"/> <constant name="Yoke_endcap_zmin" value="Yoke_barrel_half_length+25*mm"/>
<constant name="Yoke_endcap_zmax" value="5610*mm"/> <constant name="Yoke_endcap_zmax" value="6750*mm"/>
<constant name="Yoke_endcap_outer_symmetry" value="8"/> <constant name="Yoke_endcap_outer_symmetry" value="8"/>
<constant name="Yoke_endcap_inner_symmetry" value="0"/> <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_zmax" value="805*mm" />
<constant name="LumiCal_zmin" value="700*mm"/> <constant name="LumiCal_zmin" value="700*mm"/>
......
<?xml version="1.0" encoding="UTF-8"?>
<lccdd xmlns:compact="http://www.lcsim.org/schemas/compact/1.0" <lccdd xmlns:compact="http://www.lcsim.org/schemas/compact/1.0"
xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xs="http://www.w3.org/2001/XMLSchema"
xs:noNamespaceSchemaLocation="http://www.lcsim.org/schemas/compact/1.0/compact.xsd"> xs:noNamespaceSchemaLocation="http://www.lcsim.org/schemas/compact/1.0/compact.xsd">
<info name="CRD_i1_v01" <info name="CRD_o1_v01"
title="CepC reference detctor with coil inside Hcal" title="CepC reference detctor with coil inside Hcal, strip SIT"
author="C.D.Fu, " author="C.D.Fu, "
url="http://cepc.ihep.ac.cn" url="http://cepc.ihep.ac.cn"
status="developing" status="developing"
...@@ -34,17 +35,28 @@ ...@@ -34,17 +35,28 @@
<include ref="../CRD_common_v01/SET_SimplePlanar_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_Barrel_v01_01.xml"/>
<!--include ref="../CRD_common_v01/Ecal_Crystal_Endcap_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/Coil_Simple_v01_01.xml"/>
<!--include ref="../CRD_common_v01/Hcal_v01_01.xml"/--> <include ref="../CRD_common_v01/Hcal_Rpc_Barrel_v01_01.xml"/>
<!--include ref="../CRD_common_v01/Yoke_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"/--> <!--include ref="../CRD_common_v01/Lcal_v01_01.xml"/-->
<fields> <fields>
<field name="GlobalSolenoid" type="solenoid" <field name="InnerSolenoid" type="solenoid"
inner_field="Field_nominal_value" 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" outer_field="Field_outer_nominal_value"
zmax="SolenoidCoil_half_length" zmax="SolenoidCoil_half_length"
outer_radius="SolenoidCoil_center_radius"> inner_radius="Solenoid_outer_radius"
outer_radius="Yoke_barrel_inner_radius">
</field> </field>
</fields> </fields>
......
<?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>
<?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>
...@@ -5,11 +5,12 @@ The following CRD detector models are available in CEPCSW ...@@ -5,11 +5,12 @@ The following CRD detector models are available in CEPCSW
| Model | Description | MainTracker | Ecal | Hcal | Status | | Model | Description | MainTracker | Ecal | Hcal | Status |
| ------------- | -----------------------------|------------ |---------|------|----------------| | ------------- | -----------------------------|------------ |---------|------|----------------|
| CRD_o1_v01 | coil inside simulation model | DC | crystal | RPC | developing | | CRD_o1_v01 | coil inside simulation model | DC | crystal | RPC | developing |
| CRD_o1_v02 | pixel SIT | DC | crystal | RPC | developing |
| ------------- | -----------------------------|-------------|---------|------|----------------| | ------------- | -----------------------------|-------------|---------|------|----------------|
## Details ## Details
### CRD_o1_v01 (first preliminary import, to update) ### CRD_o1_v01 (to update)
- coil inside CRD model - coil inside CRD model
- BeamPipe - BeamPipe
- with center pipe + crotch link to doubly-pipe - with center pipe + crotch link to doubly-pipe
...@@ -29,12 +30,23 @@ The following CRD detector models are available in CEPCSW ...@@ -29,12 +30,23 @@ The following CRD detector models are available in CEPCSW
- Ecal - Ecal
- with crystal - with crystal
- Detector/DetCRD/src/Calorimeter/CRDEcal.cpp - Detector/DetCRD/src/Calorimeter/CRDEcal.cpp
- Hcal (TODO) - Endcap (TODO)
- with scintillator **and** RPC readout - Hcal
- with RPC readout
- creates two sets of hit collections - creates two sets of hit collections
- Coil (TODO) - Coil
- Yoke (TODO) - CEPC_v4 like
- Yoke
- CEPC_v4 like
- compact files: - compact files:
- [./CRD_o1_v01/CRD_o1_v01.xml](./CRD_o1_v01/CRD_o1_v01.xml) - [./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)
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment