diff --git a/Detector/DetCRD/compact/CRD_common_v02/Beampipe_v01_03.xml b/Detector/DetCRD/compact/CRD_common_v02/Beampipe_v01_03.xml index c1217f02068835878eaf590685071aaf3b2ad04b..e07f919a3488300d2109b7fb5f122be05745d02e 100644 --- a/Detector/DetCRD/compact/CRD_common_v02/Beampipe_v01_03.xml +++ b/Detector/DetCRD/compact/CRD_common_v02/Beampipe_v01_03.xml @@ -19,6 +19,8 @@ <shape type="Assembly"/> </envelope> + <type_flags type="DetType_BEAMPIPE"/> + <section type ="Center" name="IPInnerTube" zStart="0" zEnd="BeamPipe_CentralBe_zmax" rStart="0"> <layer material="beam" thickness="BeamPipe_Central_inner_radius" vis="VacVis"/> <layer material="G4_Be" thickness="BeamPipe_Be_inner_thickness" vis="TubeVis"/> diff --git a/Detector/DetCRD/compact/CRD_common_v02/Beampipe_v01_04.xml b/Detector/DetCRD/compact/CRD_common_v02/Beampipe_v01_04.xml index 71a1f5ab78c7fda25ddfddc815ef242ae75cd1e4..d96017bf5a2639813da10a77c290a97b71a88d34 100644 --- a/Detector/DetCRD/compact/CRD_common_v02/Beampipe_v01_04.xml +++ b/Detector/DetCRD/compact/CRD_common_v02/Beampipe_v01_04.xml @@ -57,6 +57,8 @@ <shape type="Assembly"/> </envelope> + <type_flags type="DetType_BEAMPIPE"/> + <section type ="Center" name="IPInnerTube" zStart="0" zEnd="BeamPipe_BeAl_zmin" rStart="0"> <layer material="beam" thickness="BeamPipe_Central_inner_radius" vis="VacVis"/> <layer material="G4_Be" thickness="BeamPipe_Be_inner_thickness" vis="TubeVis"/> diff --git a/Detector/DetCRD/compact/CRD_common_v02/Beampipe_v01_05.xml b/Detector/DetCRD/compact/CRD_common_v02/Beampipe_v01_05.xml new file mode 100644 index 0000000000000000000000000000000000000000..b72ecc9f084c2fe291e272e1b1e6e82149f81d50 --- /dev/null +++ b/Detector/DetCRD/compact/CRD_common_v02/Beampipe_v01_05.xml @@ -0,0 +1,348 @@ +<lccdd> + <info name="CRD" title="CRD Beam pipe" author="Chengdong Fu" url="no" status="development" version="1.0"> + <comment>A beampipe for CRD</comment> + </info> + + <display> + <vis name="TubeVis" alpha="0.1" r="1.0" g="0.7" b="0.5" showDaughters="true" visible="true"/> + <vis name="VacVis" alpha="1.0" r="0.0" g="0.0" b="0.0" showDaughters="true" visible="false"/> + </display> + + <define> + <constant name="BeamPipe_Iron_thickness" value="2.5*mm"/> + <constant name="BeamPipe_BeAl_zmin" value="BeamPipe_CentralBe_zmax-2.5*mm"/> + <constant name="BeamPipe_BeAl_thickness1" value="0.3*mm"/> + <constant name="BeamPipe_BeAl_thickness2" value="0.5*mm"/> + <constant name="BeamPipe_Al_thickness3" value="1.3*mm"/> + <constant name="BeamPipe_Cooling_zpos1" value="96.0*mm"/> + <constant name="BeamPipe_Cooling_outer_radius1" value="11.2*mm"/> + <constant name="BeamPipe_Cooling_zpos2" value="118.25*mm"/> + <constant name="BeamPipe_Cooling_zpos3" value="162.8*mm"/> + <constant name="BeamPipe_Cooling_outer_radius3" value="13.5*mm"/> + <constant name="BeamPipe_Cooling_zpos4" value="168.4*mm"/> + <constant name="BeamPipe_Al_thickness4" value="1.5*mm"/> + <constant name="BeamPipe_Cooling_zpos5" value="177.35*mm"/> + <constant name="BeamPipe_Cooling_outer_radius5" value="19.0*mm"/> + <constant name="BeamPipe_Cooling_zpos6" value="BeamPipe_CentralAl_zmax"/> + <constant name="BeamPipe_CablePipe_thickness1" value="1.5*mm"/> + <constant name="BeamPipe_CablePipe_thickness2" value="1.6*mm"/> + <constant name="BeamPipe_CablePipe_zpos0" value="219.8*mm"/> + <constant name="BeamPipe_CablePipe_zpos1" value="222.8*mm"/> + <constant name="BeamPipe_CablePipe_inner_radius1" value="12.8*mm"/> + <constant name="BeamPipe_CablePipe_outer_radius1" value="17.4*mm"/> + <constant name="BeamPipe_CablePipe_zpos2" value="240.0*mm"/> + <constant name="BeamPipe_CablePipe_outer_radius2" value="27.0*mm"/> + <constant name="BeamPipe_CablePipe_zpos3" value="250.0*mm"/> + <constant name="BeamPipe_CablePipe_zpos4" value="259.8*mm"/> + <constant name="BeamPipe_CablePipe_outer_radius4" value="27.4*mm"/> + <constant name="BeamPipe_CablePipe_zpos5" value="262.0*mm"/> + <constant name="BeamPipe_CablePipe_zpos6" value="372.5*mm"/> + <constant name="BeamPipe_CablePipe_inner_radius6" value="27.9*mm"/> + <constant name="BeamPipe_CablePipe_outer_radius6" value="44.0*mm"/> + <constant name="BeamPipe_CablePipe_zpos7" value="386.5*mm"/> + <constant name="BeamPipe_CablePipe_outer_radius7" value="44.4*mm"/> + <constant name="BeamPipe_CablePipe_zpos8" value="388.5*mm"/> + <constant name="BeamPipe_CablePipe_zpos9" value="465.0*mm"/> + <constant name="BeamPipe_CablePipe_outer_radius9" value="65.0*mm"/> + <constant name="BeamPipe_CablePipe_zpos10" value="470.0*mm"/> + <constant name="BeamPipe_CablePipe_inner_radius9" value="45.5*mm"/> + <constant name="BeamPipe_CablePipe_zpos11" value="495.0*mm"/> + <constant name="BeamPipe_CablePipe_zpos12" value="500.0*mm"/> + </define> + + <detectors> + <detector name="BeamPipe" type="CRDBeamPipe_v01" vis="VacVis" printLevel="ERROR"> + <parameter crossingangle="CrossingAngle" /> + <envelope> + <shape type="Assembly"/> + </envelope> + + <type_flags type="DetType_BEAMPIPE"/> + + <section type ="Center" name="IPInnerTube" zStart="0" zEnd="BeamPipe_BeAl_zmin" rStart="0"> + <layer material="beam" thickness="BeamPipe_Central_inner_radius" vis="VacVis"/> + <layer material="G4_Be" thickness="BeamPipe_Be_inner_thickness" vis="TubeVis"/> + <layer material="G4_WATER" thickness="BeamPipe_Cooling_thickness" vis="GrayVis"/> + <layer material="G4_Be" thickness="BeamPipe_Be_outer_thickness" vis="TubeVis"/> + </section> + <section type ="Center" name="IPBeAlLinker" zStart="BeamPipe_BeAl_zmin" zEnd="BeamPipe_CentralBe_zmax" rStart="0"> + <layer material="beam" thickness="BeamPipe_Central_inner_radius" vis="VacVis"/> + <layer material="G4_Be" thickness="BeamPipe_Be_inner_thickness/2" vis="TubeVis"/> + <layer material="G4_Al" thickness="BeamPipe_Be_inner_thickness/2" vis="TubeVis"/> + <layer material="G4_PARAFFIN" thickness="BeamPipe_Cooling_thickness" vis="GrayVis"/> + <layer material="G4_Be" thickness="BeamPipe_Be_outer_thickness" vis="TubeVis"/> + <layer material="G4_Al" thickness="BeamPipe_BeAl_thickness1" thicknessEnd="BeamPipe_BeAl_thickness2" vis="TubeVis"/> + </section> + <section type ="Center" name="IPBeCooling1" zStart="BeamPipe_CentralBe_zmax" zEnd="BeamPipe_Cooling_zpos1" rStart="0"> + <layer material="beam" thickness="BeamPipe_Central_inner_radius" vis="VacVis"/> + <layer material="G4_Al" thickness="BeamPipe_Be_inner_thickness" thicknessEnd="BeamPipe_BeAl_thickness2" vis="TubeVis"/> + <layer material="G4_PARAFFIN" thickness="BeamPipe_Cooling_thickness" thicknessEnd="BeamPipe_Be_inner_thickness+BeamPipe_Cooling_thickness+BeamPipe_Be_outer_thickness-BeamPipe_BeAl_thickness2" vis="GrayVis"/> + <layer material="G4_Al" thickness="BeamPipe_Be_outer_thickness+BeamPipe_BeAl_thickness2" thicknessEnd="BeamPipe_BeAl_thickness2" vis="TubeVis"/> + </section> + <section type ="Center" name="IPBeCooling2" zStart="BeamPipe_Cooling_zpos1" zEnd="BeamPipe_Cooling_zpos2" rStart="0"> + <layer material="beam" thickness="BeamPipe_Central_inner_radius" vis="VacVis"/> + <layer material="G4_Al" thickness="BeamPipe_BeAl_thickness2" thicknessEnd="BeamPipe_Al_thickness3" vis="TubeVis"/> + <layer material="G4_PARAFFIN" thickness="BeamPipe_Be_inner_thickness+BeamPipe_Cooling_thickness+BeamPipe_Be_outer_thickness-BeamPipe_BeAl_thickness2" + thicknessEnd="BeamPipe_Cooling_outer_radius3-BeamPipe_Central_inner_radius-BeamPipe_Al_thickness3-BeamPipe_Al_thickness3" vis="GrayVis"/> + <layer material="G4_Al" thickness="BeamPipe_Al_thickness3" thicknessEnd="BeamPipe_Al_thickness3" vis="TubeVis"/> + </section> + <section type ="Center" name="IPBeCooling3" zStart="BeamPipe_Cooling_zpos2" zEnd="BeamPipe_Cooling_zpos3" rStart="0"> + <layer material="beam" thickness="BeamPipe_Central_inner_radius" vis="VacVis"/> + <layer material="G4_Al" thickness="BeamPipe_Al_thickness3" vis="TubeVis"/> + <layer material="G4_PARAFFIN" thickness="BeamPipe_Cooling_outer_radius3-BeamPipe_Central_inner_radius-BeamPipe_Al_thickness3-BeamPipe_Al_thickness3" vis="GrayVis"/> + <layer material="G4_Al" thickness="BeamPipe_Al_thickness3" vis="TubeVis"/> + </section> + <section type ="Center" name="IPBeCooling4" zStart="BeamPipe_Cooling_zpos3" zEnd="BeamPipe_Cooling_zpos4" rStart="0"> + <layer material="beam" thickness="BeamPipe_Central_inner_radius" vis="VacVis"/> + <layer material="G4_Al" thickness="BeamPipe_Al_thickness3" vis="TubeVis"/> + <layer material="G4_PARAFFIN" thickness="BeamPipe_Cooling_outer_radius3-BeamPipe_Central_inner_radius-BeamPipe_Al_thickness3-BeamPipe_Al_thickness3" + thicknessEnd="BeamPipe_Cooling_outer_radius5-BeamPipe_Central_inner_radius-BeamPipe_Al_thickness3-BeamPipe_Al_thickness4" vis="GrayVis"/> + <layer material="G4_Al" thickness="BeamPipe_Al_thickness3" thicknessEnd="BeamPipe_Al_thickness4" vis="TubeVis"/> + </section> + <section type ="Center" name="IPBeCooling5" zStart="BeamPipe_Cooling_zpos4" zEnd="BeamPipe_Cooling_zpos5" rStart="0"> + <layer material="beam" thickness="BeamPipe_Central_inner_radius" vis="VacVis"/> + <layer material="G4_Al" thickness="BeamPipe_Al_thickness3" vis="TubeVis"/> + <layer material="G4_PARAFFIN" thickness="BeamPipe_Cooling_outer_radius5-BeamPipe_Central_inner_radius-BeamPipe_Al_thickness3-BeamPipe_Al_thickness4" vis="GrayVis"/> + <layer material="G4_Al" thickness="BeamPipe_Al_thickness4" vis="TubeVis"/> + </section> + <section type ="Center" name="IPBeCooling6" zStart="BeamPipe_Cooling_zpos5" zEnd="BeamPipe_Cooling_zpos6" rStart="0"> + <layer material="beam" thickness="BeamPipe_Central_inner_radius" vis="VacVis"/> + <layer material="G4_Al" thickness="BeamPipe_Al_thickness3" vis="TubeVis"/> + <layer material="G4_PARAFFIN" thickness="BeamPipe_Cooling_outer_radius5-BeamPipe_Central_inner_radius-BeamPipe_Al_thickness3-BeamPipe_Al_thickness4" thicknessEnd="0" vis="GrayVis"/> + <layer material="G4_Al" thickness="BeamPipe_Al_thickness4" thicknessEnd="BeamPipe_Al_thickness-BeamPipe_Al_thickness3" vis="TubeVis"/> + </section> + <section type="Waist" name="Waist1st" zStart="BeamPipe_CentralAl_zmax" zEnd="BeamPipe_ExpandAl_zmax" rStart="BeamPipe_Central_inner_radius" size="BeamPipe_FirstExpand_width"> + <layer material="G4_Al" thickness="BeamPipe_Al_thickness" vis="TubeVis"/> + </section> + <!-- cable pipe--> + <section type="CenterSide" name="IPCablePipeFront" zStart="BeamPipe_CablePipe_zpos0" zEnd="BeamPipe_CablePipe_zpos1" rStart="BeamPipe_CablePipe_inner_radius1"> + <layer material="G4_Al" thickness="BeamPipe_CablePipe_outer_radius1-BeamPipe_CablePipe_inner_radius1" vis="TubeVis"/> + </section> + <section type="CenterSide" name="IPCablePipe1" zStart="BeamPipe_CablePipe_zpos1" zEnd="BeamPipe_CablePipe_zpos2" rStart="BeamPipe_CablePipe_outer_radius1-BeamPipe_CablePipe_thickness1"> + <layer material="G4_Al" thickness="BeamPipe_CablePipe_thickness1" vis="TubeVis"/> + </section> + <section type="CenterSide" name="IPCablePipe2" zStart="BeamPipe_CablePipe_zpos2" zEnd="BeamPipe_CablePipe_zpos3" rStart="BeamPipe_CablePipe_outer_radius1-BeamPipe_CablePipe_thickness1"> + <layer material="G4_Al" thickness="BeamPipe_CablePipe_outer_radius2-BeamPipe_CablePipe_outer_radius1+BeamPipe_CablePipe_thickness1" vis="TubeVis"/> + </section> + <section type="CenterSide" name="IPCablePipe3" zStart="BeamPipe_CablePipe_zpos3" zEnd="BeamPipe_CablePipe_zpos4" rStart="BeamPipe_CablePipe_outer_radius1-BeamPipe_CablePipe_thickness1"> + <layer material="G4_Al" thickness="BeamPipe_CablePipe_thickness1" vis="TubeVis"/> + <layer material="Air" thickness="BeamPipe_CablePipe_outer_radius2-BeamPipe_CablePipe_outer_radius1-BeamPipe_CablePipe_thickness2" vis="VacVis"/> + <layer material="G4_Al" thickness="BeamPipe_CablePipe_thickness2" vis="TubeVis"/> + </section> + <section type="CenterSide" name="IPCablePipe4" zStart="BeamPipe_CablePipe_zpos4" zEnd="BeamPipe_CablePipe_zpos5" rStart="BeamPipe_CablePipe_outer_radius1-BeamPipe_CablePipe_thickness1"> + <layer material="G4_Al" thickness="BeamPipe_CablePipe_thickness1" vis="TubeVis"/> + <layer material="Air" thickness="BeamPipe_CablePipe_outer_radius2-BeamPipe_CablePipe_outer_radius1-BeamPipe_CablePipe_thickness2" + thicknessEnd="BeamPipe_CablePipe_outer_radius4-BeamPipe_CablePipe_outer_radius1-BeamPipe_CablePipe_thickness2" vis="VacVis"/> + <layer material="G4_Al" thickness="BeamPipe_CablePipe_thickness2+BeamPipe_CablePipe_outer_radius4-BeamPipe_CablePipe_outer_radius2" + thicknessEnd="BeamPipe_CablePipe_thickness2" vis="TubeVis"/> + </section> + <section type="CenterSide" name="IPCablePipe5" zStart="BeamPipe_CablePipe_zpos5" zEnd="BeamPipe_CablePipe_zpos6" + rStart="BeamPipe_CablePipe_outer_radius1-BeamPipe_CablePipe_thickness1" rEnd="BeamPipe_CablePipe_inner_radius6"> + <layer material="G4_Al" thickness="BeamPipe_CablePipe_thickness1" vis="TubeVis"/> + <layer material="Air" thickness="BeamPipe_CablePipe_outer_radius4-BeamPipe_CablePipe_outer_radius1-BeamPipe_CablePipe_thickness2" + thicknessEnd="BeamPipe_CablePipe_outer_radius6-BeamPipe_CablePipe_inner_radius6-BeamPipe_CablePipe_thickness1-BeamPipe_CablePipe_thickness2" vis="VacVis"/> + <layer material="G4_Al" thickness="BeamPipe_CablePipe_thickness2" vis="TubeVis"/> + </section> + <section type="CenterSide" name="IPCablePipe6" zStart="BeamPipe_CablePipe_zpos6" zEnd="BeamPipe_CablePipe_zpos7" rStart="BeamPipe_CablePipe_inner_radius6"> + <layer material="G4_Al" thickness="BeamPipe_CablePipe_thickness1" vis="TubeVis"/> + <layer material="Air" thickness="BeamPipe_CablePipe_outer_radius6-BeamPipe_CablePipe_inner_radius6-BeamPipe_CablePipe_thickness1-BeamPipe_CablePipe_thickness2" vis="VacVis"/> + <layer material="G4_Al" thickness="BeamPipe_CablePipe_thickness2" vis="TubeVis"/> + </section> + <section type="CenterSide" name="IPCablePipe7" zStart="BeamPipe_CablePipe_zpos7" zEnd="BeamPipe_CablePipe_zpos8" rStart="BeamPipe_CablePipe_inner_radius6"> + <layer material="G4_Al" thickness="BeamPipe_CablePipe_thickness1" vis="TubeVis"/> + <layer material="Air" thickness="BeamPipe_CablePipe_outer_radius6-BeamPipe_CablePipe_inner_radius6-BeamPipe_CablePipe_thickness1-BeamPipe_CablePipe_thickness2" + thicknessEnd="BeamPipe_CablePipe_outer_radius7-BeamPipe_CablePipe_inner_radius6-BeamPipe_CablePipe_thickness1-BeamPipe_CablePipe_thickness2" vis="VacVis"/> + <layer material="G4_Al" thickness="BeamPipe_CablePipe_thickness2+BeamPipe_CablePipe_outer_radius7-BeamPipe_CablePipe_outer_radius6" + thicknessEnd="BeamPipe_CablePipe_thickness2" vis="TubeVis"/> + </section> + <section type="CenterSide" name="IPCablePipe8" zStart="BeamPipe_CablePipe_zpos8" zEnd="BeamPipe_CablePipe_zpos9" + rStart="BeamPipe_CablePipe_inner_radius6" rEnd="BeamPipe_CablePipe_inner_radius9"> + <layer material="G4_Al" thickness="BeamPipe_CablePipe_thickness1" vis="TubeVis"/> + <layer material="Air" thickness="BeamPipe_CablePipe_outer_radius7-BeamPipe_CablePipe_inner_radius6-BeamPipe_CablePipe_thickness1-BeamPipe_CablePipe_thickness2" + thicknessEnd="BeamPipe_CablePipe_outer_radius9-BeamPipe_CablePipe_inner_radius9-BeamPipe_CablePipe_thickness1-BeamPipe_CablePipe_thickness2" vis="VacVis"/> + <layer material="G4_Al" thickness="BeamPipe_CablePipe_thickness2" vis="TubeVis"/> + </section> + <section type="CenterSide" name="IPCablePipe9" zStart="BeamPipe_CablePipe_zpos9" zEnd="BeamPipe_CablePipe_zpos10" rStart="BeamPipe_CablePipe_inner_radius9"> + <layer material="G4_Al" thickness="BeamPipe_CablePipe_thickness1" vis="TubeVis"/> + <layer material="Air" thickness="BeamPipe_CablePipe_outer_radius9-BeamPipe_CablePipe_inner_radius9-BeamPipe_CablePipe_thickness1-BeamPipe_CablePipe_thickness2" vis="VacVis"/> + <layer material="G4_Al" thickness="BeamPipe_CablePipe_thickness2" vis="TubeVis"/> + </section> + <section type="CenterSide" name="IPCablePipe10" zStart="BeamPipe_CablePipe_zpos10" zEnd="BeamPipe_CablePipe_zpos11" rStart="BeamPipe_CablePipe_inner_radius9"> + <layer material="G4_Al" thickness="BeamPipe_CablePipe_outer_radius9-BeamPipe_CablePipe_inner_radius9" vis="TubeVis"/> + </section> + <section type="CenterSide" name="IPCablePipe11" zStart="BeamPipe_CablePipe_zpos11" zEnd="BeamPipe_CablePipe_zpos12" rStart="BeamPipe_CablePipe_inner_radius9"> + <layer material="G4_Al" thickness="BeamPipe_Al_thickness" vis="TubeVis"/> + </section> + <!-- end --> + <section type="Runway" name="Waist2nd" zStart="BeamPipe_ExpandAl_zmax" zEnd="BeamPipe_Linker_zmin" rStart="BeamPipe_Central_inner_radius" size="BeamPipe_FirstExpand_width"> + <layer material="G4_Al" thickness="BeamPipe_Al_thickness" vis="TubeVis"/> + </section> + <section type="Runway" name="Waist3rd" zStart="BeamPipe_Linker_zmin" zEnd="BeamPipe_Linker_zmax" rStart="BeamPipe_Central_inner_radius" size="BeamPipe_FirstExpand_width"> + <layer material="G4_Cu" thickness="BeamPipe_ThinCu_thickness" vis="TubeVis"/> + </section> + <section type="Runway" name="Waist4th" zStart="BeamPipe_Linker_zmax" zEnd="BeamPipe_Waist_zmax" rStart="BeamPipe_Central_inner_radius" size="BeamPipe_FirstExpand_width" + shift="BeamPipe_SecondExpand_width-BeamPipe_FirstExpand_width"> + <layer material="G4_Cu" thickness="BeamPipe_ThinCu_thickness" vis="TubeVis"/> + </section> + <section type="Crotch" name="Fork" zStart="BeamPipe_Waist_zmax" zEnd="BeamPipe_Crotch_zmax" + rStart="BeamPipe_Central_inner_radius" rEnd="BeamPipe_Central_inner_radius" size="BeamPipe_SecondExpand_width"> + <layer material="G4_Cu" thickness="BeamPipe_ThinCu_thickness" vis="TubeVis"/> + </section> + <section type="Legs" name="FirstDoublePipe" zStart="BeamPipe_Crotch_zmax" zEnd="BeamPipe_FirstSeparated_zmax" rStart="0"> + <layer material="beam" thickness="BeamPipe_Fork_inner_radius" vis="VacVis"/> + <layer material="G4_Cu" thickness="BeamPipe_ThinCu_thickness" vis="TubeVis"/> + </section> + <section type="Legs" name="BeforeMask" zStart="BeamPipe_FirstSeparated_zmax" zEnd="BeamPipe_Mask_zmin" rStart="0"> + <layer material="beam" thickness="BeamPipe_Fork_inner_radius" vis="VacVis"/> + <layer material="G4_Cu" thickness="BeamPipe_Cu_thickness" vis="TubeVis"/> + </section> + <section type="Legs" name="Mask" zStart="BeamPipe_Mask_zmin" zEnd="BeamPipe_Mask_zmax" rStart="0"> + <layer material="beam" thickness="BeamPipe_Mask_inner_radius" vis="VacVis"/> + <layer material="G4_Cu" thickness="BeamPipe_Cu_thickness+BeamPipe_Fork_inner_radius-BeamPipe_Mask_inner_radius" vis="TubeVis"/> + </section> + <section type="Legs" name="SecondDoublePipe" zStart="BeamPipe_Mask_zmax" zEnd="BeamPipe_Q1a_zmin" rStart="0"> + <layer material="beam" thickness="BeamPipe_Fork_inner_radius" vis="VacVis"/> + <layer material="G4_Cu" thickness="BeamPipe_Cu_thickness" vis="TubeVis"/> + </section> + <section type="Legs" name="Q1a" zStart="BeamPipe_Q1a_zmin" zEnd="BeamPipe_Q1a_zmax" rStart="0"> + <layer material="beam" thickness="BeamPipe_Q1a_inner_radius" vis="VacVis"/> + <layer material="G4_Cu" thickness="BeamPipe_Cu_thickness" vis="TubeVis"/> + <layer material="stainless_steel" thickness="BeamPipe_Iron_thickness" vis="TubeVis"/> + <layer material="CrZrCu18150" thickness="6.0*mm" vis="MagentaVis"/> + <layer material="stainless_steel" thickness="8.0*mm" vis="ShellVis"/> + </section> + <section type="Legs" name="Q1Linker" zStart="BeamPipe_Q1a_zmax" zEnd="BeamPipe_Q1b_zmin" rStart="0"> + <layer material="beam" thickness="BeamPipe_Q1a_inner_radius" thicknessEnd="BeamPipe_Q1b_inner_radius" vis="VacVis"/> + <layer material="G4_Cu" thickness="BeamPipe_Cu_thickness" vis="TubeVis"/> + </section> + <section type="Legs" name="Q1b" zStart="BeamPipe_Q1b_zmin" zEnd="BeamPipe_Q1b_zmax" rStart="0"> + <layer material="beam" thickness="BeamPipe_Q1b_inner_radius" vis="VacVis"/> + <layer material="G4_Cu" thickness="BeamPipe_Cu_thickness" vis="TubeVis"/> + <layer material="stainless_steel" thickness="BeamPipe_Iron_thickness" vis="TubeVis"/> + <layer material="CrZrCu18150" thickness="6.0*mm" vis="MagentaVis"/> + <layer material="stainless_steel" thickness="8.0*mm" vis="ShellVis"/> + </section> + <section type="Legs" name="QF1Linker" zStart="BeamPipe_Q1b_zmax" zEnd="BeamPipe_QF1_zmin" rStart="0"> + <layer material="beam" thickness="BeamPipe_Q1b_inner_radius" thicknessEnd="BeamPipe_QF1_inner_radius" vis="VacVis"/> + <layer material="G4_Cu" thickness="BeamPipe_Cu_thickness" vis="TubeVis"/> + </section> + <section type="Legs" name="QF1" zStart="BeamPipe_QF1_zmin" zEnd="BeamPipe_QF1_zmax" rStart="0"> + <layer material="beam" thickness="BeamPipe_QF1_inner_radius" vis="VacVis"/> + <layer material="G4_Cu" thickness="BeamPipe_Cu_thickness" vis="TubeVis"/> + <layer material="stainless_steel" thickness="BeamPipe_Iron_thickness" vis="TubeVis"/> + <layer material="CrZrCu18150" thickness="6.0*mm" vis="MagentaVis"/> + <layer material="stainless_steel" thickness="8.0*mm" vis="ShellVis"/> + </section> + <section type="Legs" name="Farest" zStart="BeamPipe_QF1_zmax" zEnd="BeamPipe_end_z" rStart="0"> + <layer material="beam" thickness="BeamPipe_QF1_inner_radius" vis="VacVis"/> + <layer material="G4_Cu" thickness="BeamPipe_Cu_thickness" vis="TubeVis"/> + </section> + + <!-- Magnets and their cooling, support --> + <section type="CenterSide" name="AntiSolenoid1" zStart="1160*mm" zEnd="1900*mm" rStart="90*mm"> + <layer material="CrZrCu18150" thickness="20*mm" vis="MagentaVis"/> + </section> + <section type="CenterSide" name="AntiSolenoid2" zStart="1930*mm" zEnd="3964*mm" rStart="120*mm"> + <layer material="CrZrCu18150" thickness="10*mm" vis="MagentaVis"/> + </section> + <section type="CenterSide" name="AntiSolenoid3" zStart="3970*mm" zEnd="7000*mm" rStart="185*mm"> + <layer material="CrZrCu18150" thickness="10*mm" vis="MagentaVis"/> + </section> + <section type="CenterSide" name="MagnetShell_Front" zStart="1110*mm" zEnd="1115*mm" rStart="50.0*mm"> + <layer material="stainless_steel" thickness="91.25*mm" vis="ShellVis"/> + <layer material="G4_W" thickness="10*mm" vis="ShellVis"/> + </section> + <section type="CenterSide" name="MagnetShell_FrontSide" zStart="1115*mm" zEnd="1900*mm" rStart="130.75*mm" rEnd="175*mm"> + <layer material="stainless_steel" thickness="10.5*mm" thicknessEnd="65*mm" vis="ShellVis"/> + <layer material="G4_W" thickness="10*mm" vis="ShellVis"/> + </section> + <section type="CenterSide" name="MagnetShell_CenterSide" zStart="1900*mm" zEnd="3800*mm" rStart="175*mm"> + <layer material="stainless_steel" thickness="65*mm" vis="ShellVis"/> + <layer material="G4_W" thickness="10*mm" vis="ShellVis"/> + </section> + <section type="CenterSide" name="MagnetShell_Linker" zStart="3800*mm" zEnd="3910*mm" rStart="175*mm"> + <layer material="stainless_steel" thickness="135*mm" vis="ShellVis"/> + <layer material="G4_W" thickness="10*mm" vis="ShellVis"/> + </section> + <section type="CenterSide" name="MagnetShell_RearSide" zStart="3910*mm" zEnd="7160*mm" rStart="240*mm"> + <layer material="stainless_steel" thickness="70*mm" vis="ShellVis"/> + <layer material="G4_W" thickness="10*mm" vis="ShellVis"/> + </section> + <section type="CenterSide" name="MagnetSupport_1" zStart="1130*mm" zEnd="1135*mm" rStart="75*mm"> + <layer material="stainless_steel" thickness="50*mm" vis="ShellVis"/> + </section> + <section type="CenterSide" name="MagnetSupport_2i" zStart="1135*mm" zEnd="1925*mm" rStart="75*mm"> + <layer material="stainless_steel" thickness="5*mm" vis="ShellVis"/> + </section> + <section type="CenterSide" name="MagnetSupport_2o" zStart="1135*mm" zEnd="1900*mm" rStart="120*mm"> + <layer material="stainless_steel" thickness="5*mm" vis="ShellVis"/> + </section> + <section type="CenterSide" name="MagnetSupport_3l" zStart="1900*mm" zEnd="1905*mm" rStart="120*mm"> + <layer material="stainless_steel" thickness="25*mm" vis="ShellVis"/> + </section> + <section type="CenterSide" name="MagnetSupport_3r" zStart="1925*mm" zEnd="1930*mm" rStart="75*mm"> + <layer material="stainless_steel" thickness="35*mm" vis="ShellVis"/> + </section> + <section type="CenterSide" name="MagnetSupport_4i" zStart="1930*mm" zEnd="4000*mm" rStart="105*mm"> + <layer material="stainless_steel" thickness="5*mm" vis="ShellVis"/> + </section> + <section type="CenterSide" name="MagnetSupport_4o" zStart="1905*mm" zEnd="3940*mm" rStart="140*mm"> + <layer material="stainless_steel" thickness="5*mm" vis="ShellVis"/> + </section> + <section type="CenterSide" name="MagnetSupport_5l" zStart="3940*mm" zEnd="3945*mm" rStart="140*mm"> + <layer material="stainless_steel" thickness="70*mm" vis="ShellVis"/> + </section> + <section type="CenterSide" name="MagnetSupport_5r" zStart="4000*mm" zEnd="4005*mm" rStart="105*mm"> + <layer material="stainless_steel" thickness="70*mm" vis="ShellVis"/> + </section> + <section type="CenterSide" name="MagnetSupport_6i" zStart="4005*mm" zEnd="7050*mm" rStart="170*mm"> + <layer material="stainless_steel" thickness="5*mm" vis="ShellVis"/> + </section> + <section type="CenterSide" name="MagnetSupport_6o" zStart="3945*mm" zEnd="7050*mm" rStart="205*mm"> + <layer material="stainless_steel" thickness="5*mm" vis="ShellVis"/> + </section> + <section type="CenterSide" name="MagnetSupport_7" zStart="7050*mm" zEnd="7055*mm" rStart="170*mm"> + <layer material="stainless_steel" thickness="40*mm" vis="ShellVis"/> + </section> + <section type="CenterSide" name="MagnetCooling_1l" zStart="1135*mm" zEnd="1160*mm" rStart="80*mm"> + <layer material="lHe" thickness="40*mm" vis="BlueVis"/> + </section> + <section type="CenterSide" name="MagnetCooling_1i" zStart="1160*mm" zEnd="1900*mm" rStart="80*mm"> + <layer material="lHe" thickness="10*mm" vis="BlueVis"/> + </section> + <section type="CenterSide" name="MagnetCooling_1o" zStart="1160*mm" zEnd="1900*mm" rStart="110*mm"> + <layer material="lHe" thickness="10*mm" vis="BlueVis"/> + </section> + <section type="CenterSide" name="MagnetCooling_1r" zStart="1900*mm" zEnd="1925*mm" rStart="80*mm"> + <layer material="lHe" thickness="40*mm" vis="BlueVis"/> + </section> + <section type="CenterSide" name="MagnetCooling_2l" zStart="1905*mm" zEnd="1930*mm" rStart="120*mm"> + <layer material="lHe" thickness="20*mm" vis="BlueVis"/> + </section> + <section type="CenterSide" name="MagnetCooling_2i" zStart="1925*mm" zEnd="3964*mm" rStart="110*mm"> + <layer material="lHe" thickness="10*mm" vis="BlueVis"/> + </section> + <section type="CenterSide" name="MagnetCooling_2o" zStart="1930*mm" zEnd="3945*mm" rStart="130*mm"> + <layer material="lHe" thickness="10*mm" vis="BlueVis"/> + </section> + <section type="CenterSide" name="MagnetCooling_2r1" zStart="3964*mm" zEnd="4000*mm" rStart="110*mm"> + <layer material="lHe" thickness="65*mm" vis="BlueVis"/> + </section> + <section type="CenterSide" name="MagnetCooling_2r2" zStart="3945*mm" zEnd="3964*mm" rStart="130*mm"> + <layer material="lHe" thickness="45*mm" vis="BlueVis"/> + </section> + <section type="CenterSide" name="MagnetCooling_3l" zStart="3945*mm" zEnd="3970*mm" rStart="175*mm"> + <layer material="lHe" thickness="30*mm" vis="BlueVis"/> + </section> + <section type="CenterSide" name="MagnetCooling_3i" zStart="3970*mm" zEnd="7000*mm" rStart="175*mm"> + <layer material="lHe" thickness="10*mm" vis="BlueVis"/> + </section> + <section type="CenterSide" name="MagnetCooling_3o" zStart="3970*mm" zEnd="7000*mm" rStart="195*mm"> + <layer material="lHe" thickness="10*mm" vis="BlueVis"/> + </section> + <section type="CenterSide" name="MagnetCooling_3r" zStart="7000*mm" zEnd="7050*mm" rStart="175*mm"> + <layer material="lHe" thickness="30*mm" vis="BlueVis"/> + </section> + </detector> + </detectors> +</lccdd> diff --git a/Detector/DetCRD/compact/CRD_common_v02/Coil_Simple_v01_02.xml b/Detector/DetCRD/compact/CRD_common_v02/Coil_Simple_v01_02.xml index e9b30abbe6a865e20d8c39a049e20ce6f2eaa803..1d1df2d59a5915d20eb6feb04bdf4c605b2187dc 100644 --- a/Detector/DetCRD/compact/CRD_common_v02/Coil_Simple_v01_02.xml +++ b/Detector/DetCRD/compact/CRD_common_v02/Coil_Simple_v01_02.xml @@ -1,71 +1,39 @@ <lccdd> <detectors> - <!--detector name="Coil" type="DD4hep_Solenoid_o1_v01" id="DetID_COIL" insideTrackingVolume="false" readout="COILCollection"> - <envelope> - <shape type="Tube" rmin="Solenoid_inner_radius" rmax="Solenoid_outer_radius" dz="Solenoid_half_length-15*mm" material="Vacuum"/> - </envelope> - - <type_flags type=" DetType_SUPPORT + DetType_COIL " /> - - <layer id="0" inner_r="Solenoid_inner_radius" outer_z="Solenoid_half_length-15*mm" vis="ShellVis"> - <slice material="g10" thickness="3*mm" vis="ShellVis"/> - <slice material="Vacuum" thickness="6*mm" vis="Invisible"/> - <slice material="G4_Al" thickness="6*mm" vis="ShellVis"/> - </layer> - - <layer id="1" inner_r="SolenoidCoil_radius" outer_z="SolenoidCoil_half_length" vis="SOLVis"> - <slice material="G4_Al" thickness="260*mm" vis="SOLVis"/> - </layer> - - <layer id="2" inner_r="Solenoid_outer_radius-27*mm" outer_z="Solenoid_half_length-15*mm" vis="OrangeVis"> - <slice material="G4_Al" thickness="6*mm" vis="OrangeVis"/> - <slice material="Vacuum" thickness="6*mm" vis="Invisible"/> - <slice material="G4_Al" thickness="15*mm" vis="OrangeVis"/> - </layer> - </detector--> - <detector name="CoilInnerShell" type="DD4hep_TubeSegment" material="G4_Al" vis="ShellVis"> - <material name="Iron" /> + <material name="G4_Al" /> <tubs rmin="Solenoid_inner_radius" rmax="Solenoid_inner_radius+15*mm" zhalf="Solenoid_half_length-15*mm"/> <position x="0" y="0" z="0"/> <rotation x="0" y="0" z="0"/> </detector> <detector name="CoilOuterShell" type="DD4hep_TubeSegment" material="G4_Al" vis="ShellVis"> - <material name="Iron" /> + <material name="G4_Al" /> <tubs rmin="Solenoid_outer_radius-27*mm" rmax="Solenoid_outer_radius" zhalf="Solenoid_half_length-15*mm"/> <position x="0" y="0" z="0"/> <rotation x="0" y="0" z="0"/> </detector> <detector name="Coil" type="DD4hep_TubeSegment" material="G4_Al" vis="SOLVis"> - <material name="Iron" /> + <material name="G4_Al" /> <tubs rmin="SolenoidCoil_radius" rmax="SolenoidCoil_radius+260*mm" zhalf="SolenoidCoil_half_length"/> <position x="0" y="0" z="0"/> <rotation x="0" y="0" z="0"/> </detector> <detector name="CoilLeftShell" type="DD4hep_TubeSegment" material="G4_Al" vis="ShellVis"> - <material name="Iron" /> + <material name="G4_Al" /> <tubs rmin="Solenoid_inner_radius" rmax="Solenoid_outer_radius" zhalf="15*mm"/> <position x="0" y="0" z="Solenoid_half_length"/> <rotation x="0" y="0" z="0"/> </detector> <detector name="CoilRightShell" type="DD4hep_TubeSegment" material="G4_Al" vis="ShellVis"> - <material name="Iron" /> + <material name="G4_Al" /> <tubs rmin="Solenoid_inner_radius" rmax="Solenoid_outer_radius" zhalf="15*mm"/> <position x="0" y="0" z="-Solenoid_half_length"/> <rotation x="0" y="0" z="0"/> </detector> - <!--detector name="CoilShell" type="DD4hep_CylinderShell" id="DetID_COIL" material="G4_Al" vis="ShellVis"> - <type_flags type=" DetType_SUPPORT + DetType_COIL " /> - - <module> - <zplane rmin="Solenoid_inner_radius" rmax="Solenoid_outer_radius" z="Solenoid_half_length*2-30*mm"/> - <zplane rmin="Solenoid_inner_radius" rmax="Solenoid_outer_radius" z="Solenoid_half_length*2"/> - </module> - </detector--> </detectors> <!--readouts> diff --git a/Detector/DetCRD/compact/CRD_common_v02/Coil_Simple_v01_03.xml b/Detector/DetCRD/compact/CRD_common_v02/Coil_Simple_v01_03.xml new file mode 100644 index 0000000000000000000000000000000000000000..3bef4f6938739c90a9339d1046f8b87f4fd63ebb --- /dev/null +++ b/Detector/DetCRD/compact/CRD_common_v02/Coil_Simple_v01_03.xml @@ -0,0 +1,96 @@ +<lccdd> + <define> + <constant name="CoilShellInnerThickness" value="15*mm"/> + <constant name="CoilShellOuterThickness" value="25*mm"/> + <constant name="CoilShellSideThickness" value="60*mm"/> + <constant name="CoilTSBarrelThickness" value="10*mm"/> + <constant name="CoilTSSideThickness" value="15*mm"/> + <constant name="CoilShellTSInnerGap" value="50*mm"/> + <constant name="CoilShellTSOuterGap" value="100*mm"/> + <constant name="CoilShellTSSideGap" value="165*mm"/> + <constant name="CoilTSInnerRadius" value="Solenoid_inner_radius+CoilShellInnerThickness+CoilShellTSInnerGap"/> + <constant name="CoilTSOuterRadius" value="Solenoid_outer_radius-CoilShellInnerThickness-CoilShellTSOuterGap"/> + <constant name="CoilTSHalfLength" value="Solenoid_half_length-CoilShellSideThickness-CoilShellTSSideGap"/> + <constant name="CoilTSCoilInnerGap" value="40*mm"/> + <constant name="CoilThickness" value="230*mm"/> + <constant name="CoilCoolingThickness" value="30*mm"/> + </define> + + <detectors> + <detector name="CoilInnerShell" type="DD4hep_TubeSegment" vis="ShellVis"> + <material name="G4_Al" /> + <tubs rmin="Solenoid_inner_radius" rmax="Solenoid_inner_radius+CoilShellInnerThickness" zhalf="Solenoid_half_length-CoilShellSideThickness"/> + <position x="0" y="0" z="0"/> + <rotation x="0" y="0" z="0"/> + </detector> + + <detector name="CoilOuterShell" type="DD4hep_TubeSegment" vis="ShellVis"> + <material name="G4_Al" /> + <tubs rmin="Solenoid_outer_radius-CoilShellOuterThickness" rmax="Solenoid_outer_radius" zhalf="Solenoid_half_length-CoilShellSideThickness"/> + <position x="0" y="0" z="0"/> + <rotation x="0" y="0" z="0"/> + </detector> + + <detector name="CoilInnerThermalShield" type="DD4hep_TubeSegment" vis="ShellVis"> + <material name="G4_Al" /> + <tubs rmin="CoilTSInnerRadius" rmax="CoilTSInnerRadius+CoilTSBarrelThickness" zhalf="CoilTSHalfLength-CoilTSSideThickness"/> + <position x="0" y="0" z="0"/> + <rotation x="0" y="0" z="0"/> + </detector> + + <detector name="CoilOuterThermalShield" type="DD4hep_TubeSegment" vis="ShellVis"> + <material name="G4_Al" /> + <tubs rmin="CoilTSOuterRadius-CoilTSBarrelThickness" rmax="CoilTSOuterRadius" zhalf="CoilTSHalfLength-CoilTSSideThickness"/> + <position x="0" y="0" z="0"/> + <rotation x="0" y="0" z="0"/> + </detector> + + <detector name="Coil" type="DD4hep_TubeSegment" vis="SOLVis"> + <material name="NbTi-Cu-Al" /> + <tubs rmin="SolenoidCoil_radius" rmax="SolenoidCoil_radius+CoilThickness" zhalf="SolenoidCoil_half_length"/> + <position x="0" y="0" z="0"/> + <rotation x="0" y="0" z="0"/> + </detector> + + <detector name="CoilCooliing" type="DD4hep_TubeSegment" vis="SOLVis"> + <material name="TiNMixture" /> + <tubs rmin="SolenoidCoil_radius+CoilThickness" rmax="SolenoidCoil_radius+CoilThickness+CoilCoolingThickness" zhalf="SolenoidCoil_half_length"/> + <position x="0" y="0" z="0"/> + <rotation x="0" y="0" z="0"/> + </detector> + + <detector name="CoilLeftShell" type="DD4hep_TubeSegment" vis="ShellVis"> + <material name="G4_Al" /> + <tubs rmin="Solenoid_inner_radius" rmax="Solenoid_outer_radius" zhalf="CoilShellSideThickness/2.0"/> + <position x="0" y="0" z="Solenoid_half_length-CoilShellSideThickness/2.0"/> + <rotation x="0" y="0" z="0"/> + </detector> + + <detector name="CoilRightShell" type="DD4hep_TubeSegment" vis="ShellVis"> + <material name="G4_Al" /> + <tubs rmin="Solenoid_inner_radius" rmax="Solenoid_outer_radius" zhalf="CoilShellSideThickness/2.0"/> + <position x="0" y="0" z="-Solenoid_half_length+CoilShellSideThickness/2.0"/> + <rotation x="0" y="0" z="0"/> + </detector> + + <detector name="CoilLeftThermalShield" type="DD4hep_TubeSegment" vis="ShellVis"> + <material name="G4_Al" /> + <tubs rmin="CoilTSInnerRadius" rmax="CoilTSOuterRadius" zhalf="CoilTSSideThickness/2.0"/> + <position x="0" y="0" z="CoilTSHalfLength-CoilTSSideThickness/2.0"/> + <rotation x="0" y="0" z="0"/> + </detector> + + <detector name="CoilRightThermalShield" type="DD4hep_TubeSegment" vis="ShellVis"> + <material name="G4_Al" /> + <tubs rmin="CoilTSInnerRadius" rmax="CoilTSOuterRadius" zhalf="CoilTSSideThickness/2.0"/> + <position x="0" y="0" z="-CoilTSHalfLength+CoilTSSideThickness/2.0"/> + <rotation x="0" y="0" z="0"/> + </detector> + </detectors> + + <!--readouts> + <readout name="COILCollection"> + <id>system:5,side:-2,layer:9,slice:8,sensor:8,barrelside:-2</id> + </readout> + </readouts--> +</lccdd> diff --git a/Detector/DetCRD/compact/CRD_common_v02/materials.xml b/Detector/DetCRD/compact/CRD_common_v02/materials.xml index 26a99dd0c1732d88c90b3d55452218a4af6203fb..a3aa26ae84a0bba980463fb0f013fb4176e1dd94 100644 --- a/Detector/DetCRD/compact/CRD_common_v02/materials.xml +++ b/Detector/DetCRD/compact/CRD_common_v02/materials.xml @@ -811,6 +811,22 @@ <constant name="WLSTIMECONSTANT" value="0.5*ns"/> </material> + <!-- approximation of coil cooling pipe to average plane, pipe area about 5.2%, to update--> + <material name="TiNMixture"> + <D type="density" value="0.067" unit="g/cm3"/> + <fraction n="0.45" ref="Ti"/> + <fraction n="0.55" ref="N" /> + </material> + + <!-- coil moxture, determined by NbTi ratio--> + <material name="NbTi-Cu-Al"> + <D type="density" value="2.876" unit="g/cm3"/> + <fraction n="0.033" ref="Nb"/> + <fraction n="0.041" ref="Ti"/> + <fraction n="0.031" ref="Cu"/> + <fraction n="0.895" ref="Al"/> + </material> + </materials> <surfaces> diff --git a/Detector/DetCRD/compact/TDR_o1_v01/TDR_Dimensions_v01_01.xml b/Detector/DetCRD/compact/TDR_o1_v01/TDR_Dimensions_v01_01.xml index 82ea958e652ab2dc1e00ed12cca47e1f52cc7c4b..9fbab6c756c72bf2c7eaf9f9a94464f667895656 100644 --- a/Detector/DetCRD/compact/TDR_o1_v01/TDR_Dimensions_v01_01.xml +++ b/Detector/DetCRD/compact/TDR_o1_v01/TDR_Dimensions_v01_01.xml @@ -60,8 +60,8 @@ <!-- FIXME:need to check/--> <constant name="BeamPipe_Be_inner_thickness" value="0.2*mm"/> - <constant name="BeamPipe_Cooling_thickness" value="0.3*mm"/> - <constant name="BeamPipe_Be_outer_thickness" value="0.2*mm"/> + <constant name="BeamPipe_Cooling_thickness" value="0.2*mm"/> + <constant name="BeamPipe_Be_outer_thickness" value="0.15*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="2.0*mm"/> <constant name="BeamPipe_ThinCu_thickness" value="2.0*mm"/> @@ -182,7 +182,7 @@ <constant name="Solenoid_inner_radius" value="3535*mm"/> <constant name="Solenoid_outer_radius" value="4235*mm"/> - <constant name="Solenoid_half_length" value="4575*mm"/> + <constant name="Solenoid_half_length" value="4525*mm"/> <constant name="SolenoidCoil_half_length" value="4075*mm"/> <constant name="SolenoidCoil_radius" value="3650*mm"/> <constant name="SolenoidCoil_center_radius" value="(Solenoid_inner_radius+Solenoid_outer_radius)/2"/> @@ -192,7 +192,7 @@ <constant name="Yoke_barrel_half_length" value="4525*mm"/> <constant name="Yoke_barrel_symmetry" value="12"/> - <constant name="Yoke_endcap_inner_radius" value="650*mm"/> + <constant name="Yoke_endcap_inner_radius" value="600*mm"/> <constant name="Yoke_endcap_outer_radius" value="Yoke_barrel_outer_radius"/> <constant name="Yoke_endcap_zmin" value="4635*mm"/> <constant name="Yoke_endcap_zmax" value="5875*mm"/> diff --git a/Detector/DetCRD/compact/TDR_o1_v01/TDR_o1_v01-onlyTracker.xml b/Detector/DetCRD/compact/TDR_o1_v01/TDR_o1_v01-onlyTracker.xml index ad1083dbddc185a70a9845d4a3473e7ea3817af7..9dbc26d96c5b77ea8f034dba7d3279fbd171c1c1 100644 --- a/Detector/DetCRD/compact/TDR_o1_v01/TDR_o1_v01-onlyTracker.xml +++ b/Detector/DetCRD/compact/TDR_o1_v01/TDR_o1_v01-onlyTracker.xml @@ -26,7 +26,7 @@ <include ref="./TDR_Dimensions_v01_01.xml"/> - <include ref="../CRD_common_v02/Beampipe_v01_04.xml"/> + <include ref="../CRD_common_v02/Beampipe_v01_05.xml"/> <!--preliminary vertex and tracker, to update/--> <!--include ref="../CRD_common_v02/VXD_StaggeredLadder_v02_01.xml"/--> <include ref="../CRD_common_v02/VXD_Composite_v01_01.xml"/> diff --git a/Detector/DetCRD/compact/TDR_o1_v01/TDR_o1_v01.xml b/Detector/DetCRD/compact/TDR_o1_v01/TDR_o1_v01.xml index ed188dd09e7fa9953af42c4c6006c64884de7a5f..b6eba47e6b386060a9dbcb74cda5e8154af6ba8a 100644 --- a/Detector/DetCRD/compact/TDR_o1_v01/TDR_o1_v01.xml +++ b/Detector/DetCRD/compact/TDR_o1_v01/TDR_o1_v01.xml @@ -27,7 +27,7 @@ <include ref="./TDR_Dimensions_v01_01.xml"/> - <include ref="../CRD_common_v02/Beampipe_v01_04.xml"/> + <include ref="../CRD_common_v02/Beampipe_v01_05.xml"/> <!--preliminary vertex and tracker, to update/--> <!--include ref="../CRD_common_v02/VXD_StaggeredLadder_v02_01.xml"/--> <include ref="../CRD_common_v02/VXD_Composite_v01_01.xml"/> @@ -49,7 +49,7 @@ <!--Lumical to update--> <include ref="../CRD_common_v01/Lumical_o1_v01.xml"/> <!--preliminary Magnet, to update/--> - <include ref="../CRD_common_v02/Coil_Simple_v01_02.xml"/> + <include ref="../CRD_common_v02/Coil_Simple_v01_03.xml"/> <!--preliminary Muon, obselete/--> <!--include ref="../CRD_common_v02/Yoke_Polyhedra_Barrel_v01_01.xml"/> <include ref="../CRD_common_v02/Yoke_Polyhedra_Endcaps_v01_01.xml"/--> diff --git a/Detector/DetCRD/src/Other/CRDBeamPipe_v01_geo.cpp b/Detector/DetCRD/src/Other/CRDBeamPipe_v01_geo.cpp index d3e09afff32fe074fea7af05240d0d4f3315bab7..5415e7a3a1648ad38dc29311e2561cec2a57e6fb 100644 --- a/Detector/DetCRD/src/Other/CRDBeamPipe_v01_geo.cpp +++ b/Detector/DetCRD/src/Other/CRDBeamPipe_v01_geo.cpp @@ -6,6 +6,7 @@ #include "DD4hep/DetFactoryHelper.h" #include "DD4hep/DD4hepUnits.h" #include "DD4hep/DetType.h" +#include "DD4hep/Printout.h" #include "DDRec/DetectorData.h" #include "DDRec/Surface.h" #include "XML/Utilities.h" @@ -33,9 +34,6 @@ using dd4hep::rec::volSurfaceList; static Ref_t create_detector(Detector& theDetector, xml_h element, SensitiveDetector /*sens*/) { - - std::cout << "This is the Beampipe:" << std::endl; - //Access to the XML File xml_det_t x_beampipe = element; const std::string name = x_beampipe.nameStr(); @@ -48,6 +46,14 @@ static Ref_t create_detector(Detector& theDetector, dd4hep::xml::setDetectorTypeFlag( element, tube ) ; if( theDetector.buildType() == BUILD_ENVELOPE ) return tube ; + + dd4hep::PrintLevel printLevel = dd4hep::ERROR; + if (x_beampipe.hasAttr(_Unicode(printLevel))) { + printLevel = dd4hep::printLevel(x_beampipe.attr<std::string>(_Unicode(printLevel))); + } + dd4hep::PrintLevel oldLevel = dd4hep::setPrintLevel(printLevel); + + dd4hep::printout(dd4hep::INFO, "Construct", "** building CRDBeamPipe_v01 ..."); //----------------------------------------------------------------------------------- ConicalSupportData* beampipeData = new ConicalSupportData ; @@ -58,8 +64,8 @@ static Ref_t create_detector(Detector& theDetector, //Parameters we have to know about dd4hep::xml::Component xmlParameter = x_beampipe.child(_Unicode(parameter)); const double crossingAngle = xmlParameter.attr< double >(_Unicode(crossingangle)); - std::cout << "Crossing angle = " << crossingAngle << std::endl; - std::cout << "Section: Zstart Zend RiStart RiEnd size shift type" << std::endl; + dd4hep::printout(dd4hep::INFO, "Construct", "Crossing angle = %f", crossingAngle); + dd4hep::printout(dd4hep::INFO, "Construct", "Section: Zstart Zend RiStart RiEnd size shift type"); for(xml_coll_t si( x_beampipe ,Unicode("section")); si; ++si) { xml_comp_t x_section(si); @@ -80,7 +86,7 @@ static Ref_t create_detector(Detector& theDetector, size = x_section.attr< double > (_Unicode(size)); } catch(std::runtime_error& e){ - std::cout << "The maximum distance of runway is not set, will be calculated automatically by crossing angle" <<std::endl; + dd4hep::printout(dd4hep::WARNING, "Construct", "The maximum distance of runway is not set, will be calculated automatically by crossing angle"); } try{ shift = x_section.attr< double > (_Unicode(shift)); @@ -91,16 +97,8 @@ static Ref_t create_detector(Detector& theDetector, } const std::string volName = "BeamPipe_" + x_section.nameStr(); - std::cout << std::setiosflags(std::ios::left) - << std::setw(35) << volName - << std::setw(8) << zstart /dd4hep::mm - << std::setw(8) << zend /dd4hep::mm - << std::setw(8) << rInnerStart /dd4hep::mm - << std::setw(8) << rInnerEnd /dd4hep::mm - << std::setw(8) << size /dd4hep::mm - << std::setw(8) << shift /dd4hep::mm - << std::setw(8) << type - << std::endl; + dd4hep::printout(dd4hep::INFO, "Construct", "%s %f %f %f %f %f %f %d", volName, zstart/dd4hep::mm, zend/dd4hep::mm, rInnerStart/dd4hep::mm, + rInnerEnd/dd4hep::mm, size/dd4hep::mm, shift/dd4hep::mm, type); const double angle = crossingAngle; const double zHalf = fabs(zend - zstart) * 0.5; @@ -146,7 +144,7 @@ static Ref_t create_detector(Detector& theDetector, catch(std::runtime_error& e){ thicknessEnd = thickness; } - std::cout << "->layer: " << std::setw(6) << thickness/dd4hep::mm << std::setw(6) << thicknessEnd/dd4hep::mm << std::setw(15) << material.name() << std::endl; + dd4hep::printout(dd4hep::INFO, "Construct", " ->layer: r0 = %f r1 = %f mat = %s", thickness/dd4hep::mm, thicknessEnd/dd4hep::mm, material.name()); char suffix[20]; sprintf(suffix,"_%d",ilayer); @@ -227,7 +225,8 @@ static Ref_t create_detector(Detector& theDetector, double y2 = y1; double axisAngle = atan((x2-x1)/zHalf/2); if(fabs(beamAngle-axisAngle)>1e-12){ - std::cout << "Warning! axis angle not equal to beam angle. beam=" << beamAngle << " VS axis=" << axisAngle << ", user defined design and workable" << std::endl; + dd4hep::printout(dd4hep::WARNING, "Construct", "axis angle not equal to beam angle. beam=%f VS axis=%f, user defined design and workable", + beamAngle, axisAngle); } double zSide = 2*zHalf/cos(axisAngle)+y1*tan(axisAngle)+y2*tan(axisAngle); double xshift = 0.5*(x1+x2); @@ -285,7 +284,7 @@ static Ref_t create_detector(Detector& theDetector, double edge1ToCAngle = asin(sin(90*dd4hep::degree+edge1ToZAngle)/(xC2/sin(expandAngle))*(rOuter-rOuterEnd)); double CToEConeAxisAngle = edge1ToCAngle-0.5*(edge2ToZAngle-edge1ToZAngle); if(fabs(rotateAngle-(expandAngle-CToEConeAxisAngle))>1e-12){ - std::cout << "Warning! rotate angle was not calculated rightly. Please check input parameters whether satisfy the Waist case." << std::endl; + dd4hep::printout(dd4hep::WARNING, "Construct", "rotate angle was not calculated rightly. Please check input parameters whether satisfy the Waist case."); } double a1 = rOuter/sin(bottomAngle)*sin(90*dd4hep::degree-edge1ToZAngle); double a2 = rOuterEnd/sin(180*dd4hep::degree-bottomAngle)*sin(90*dd4hep::degree-edge2ToZAngle); @@ -300,7 +299,7 @@ static Ref_t create_detector(Detector& theDetector, double bC2 = sqrt(rOuterEnd*rOuterEnd/(1-xC2InECone*xC2InECone/aC2/aC2)); double b1 = bC1/zC1*zBottom; if(fabs(bC1/zC1-bC2/zC2)>1e-12){ - std::cout << "Warning! bC1/zC1 not equal to bC2/zC2. Please tell Chengdong(fucd@ihep.ac.cn)." << std::endl; + dd4hep::printout(dd4hep::WARNING, "Construct", "bC1/zC1 not equal to bC2/zC2. Please tell Chengdong(fucd@ihep.ac.cn)."); } double pzTopCut = 0.5*(a1-a2)*tan(bottomAngle); double thetaCut1 = atan((0.5*(xC2+rOuterEnd)-0.5*rOuter)/(2*zHalf)); @@ -334,7 +333,7 @@ static Ref_t create_detector(Detector& theDetector, double edge1ToC = asin(sin(90*dd4hep::degree+edge1ToZ)/(xC2/sin(expandAngle))*(radius-radiusEnd)); double CToEConeAxis = edge1ToC-0.5*(edge2ToZ-edge1ToZ); if(fabs(rotate-(expandAngle-CToEConeAxis))>1e-12){ - std::cout << "Warning! rotate angle was not calculated rightly. Please check input parameters whether satisfy the Waist case." << std::endl; + dd4hep::printout(dd4hep::WARNING, "Construct", "rotate angle was not calculated rightly. Please check input parameters whether satisfy the Waist case."); } double a1Hole = radius/sin(bottom)*sin(90*dd4hep::degree-edge1ToZ); double a2Hole = radiusEnd/sin(180*dd4hep::degree-bottom)*sin(90*dd4hep::degree-edge2ToZ); @@ -349,7 +348,7 @@ static Ref_t create_detector(Detector& theDetector, double bC2Hole = sqrt(radiusEnd*radiusEnd/(1-xC2InEConeHole*xC2InEConeHole/aC2Hole/aC2Hole)); double b1Hole = bC1Hole/zC1Hole*zBottomHole; if(fabs(bC1Hole/zC1Hole-bC2Hole/zC2Hole)>1e-12){ - std::cout << "Warning! bC1/zC1 not equal to bC2/zC2 for Hole. Please tell Chengdong(fucd@ihep.ac.cn)." << std::endl; + dd4hep::printout(dd4hep::WARNING, "Construct", "bC1/zC1 not equal to bC2/zC2 for Hole. Please tell Chengdong(fucd@ihep.ac.cn)."); } double pzTopCutHole = 0.5*(a1Hole-a2Hole)*tan(bottom); dd4hep::Trd2 body2(0, xC2, yMax-thickness, radiusEnd, zHalf); @@ -387,9 +386,10 @@ static Ref_t create_detector(Detector& theDetector, double rotateAngle = 0.5*(edge1ToZAngle+edge2ToZAngle); double edge1ToCAngle = asin(sin(90*dd4hep::degree+edge1ToZAngle)/(xC2/sin(expandAngle))*(rOuter-rOuterEnd)); double CToEConeAxisAngle = edge1ToCAngle-0.5*(edge2ToZAngle-edge1ToZAngle); - std::cout << expandAngle/dd4hep::degree << " " << edge1ToZAngle/dd4hep::degree << " " << edge2ToZAngle/dd4hep::degree << " " << bottomAngle/dd4hep::degree << " " << rotateAngle/dd4hep::degree << " " << edge1ToCAngle/dd4hep::degree << " " << CToEConeAxisAngle/dd4hep::degree << std::endl; + dd4hep::printout(dd4hep::INFO, "Construct", "edge angle: %f %f %f %f %f %f %f", expandAngle/dd4hep::degree, edge1ToZAngle/dd4hep::degree, edge2ToZAngle/dd4hep::degree, + bottomAngle/dd4hep::degree, rotateAngle/dd4hep::degree, edge1ToCAngle/dd4hep::degree, CToEConeAxisAngle/dd4hep::degree); if(fabs(rotateAngle-(expandAngle-CToEConeAxisAngle))>1e-12){ - std::cout << "Warning! rotate angle was not calculated rightly. Please check input parameters whether satisfy the Waist case." << std::endl; + dd4hep::printout(dd4hep::WARNING, "Construct", "rotate angle was not calculated rightly. Please check input parameters whether satisfy the Waist case."); } double a1 = rOuter/sin(bottomAngle)*sin(90*dd4hep::degree-edge1ToZAngle); double a2 = rOuterEnd/sin(180*dd4hep::degree-bottomAngle)*sin(90*dd4hep::degree-edge2ToZAngle); @@ -405,11 +405,11 @@ static Ref_t create_detector(Detector& theDetector, double bC1 = sqrt(rOuter*rOuter/(1-xC1InECone*xC1InECone/aC1/aC1)); double bC2 = sqrt(rOuterEnd*rOuterEnd/(1-xC2InECone*xC2InECone/aC2/aC2)); b1 = bC1/zC1*zBottom; - std::cout << a1 << " " << a2 << " " << zC1 << " " << zC2 << std::endl; + dd4hep::printout(dd4hep::DEBUG, "Construct", "a1 = %f a2 = %f zC1 = %f zC2 = %f", a1, a2, zC1, zC2); if(fabs(bC1/zC1-bC2/zC2)>1e-12){ - std::cout << "Warning! bC1/zC1 not equal to bC2/zC2." << std::endl; + dd4hep::printout(dd4hep::WARNING, "Construct", "bC1/zC1 not equal to bC2/zC2."); } - std::cout << "b1/a1=" << b1/a1 << std::endl; + dd4hep::printout(dd4hep::DEBUG, "Construct", "b1/a1 = %f", b1/a1); pzTopCut = 0.5*(a1-a2)*tan(bottomAngle); } dd4hep::Cone cone1(pzTopCut, 0, a1, 0, a2); @@ -437,7 +437,7 @@ static Ref_t create_detector(Detector& theDetector, double edge1ToC = asin(sin(90*dd4hep::degree+edge1ToZ)/(xC2/sin(expandAngle))*(radius-radiusEnd)); double CToEConeAxis = edge1ToC-0.5*(edge2ToZ-edge1ToZ); if(fabs(rotate-(expandAngle-CToEConeAxis))>1e-12){ - std::cout << "Warning! rotate angle was not calculated rightly. Please check input parameters whether satisfy the Waist case." << std::endl; + dd4hep::printout(dd4hep::WARNING, "Construct", "rotate angle was not calculated rightly. Please check input parameters whether satisfy the Waist case."); } double a1Hole = radius/sin(bottom)*sin(90*dd4hep::degree-edge1ToZ); double a2Hole = radiusEnd/sin(180*dd4hep::degree-bottom)*sin(90*dd4hep::degree-edge2ToZ); @@ -454,7 +454,7 @@ static Ref_t create_detector(Detector& theDetector, double bC2Hole = sqrt(radiusEnd*radiusEnd/(1-xC2InEConeHole*xC2InEConeHole/aC2Hole/aC2Hole)); b1Hole = bC1Hole/zC1Hole*zBottomHole; if(fabs(bC1Hole/zC1Hole-bC2Hole/zC2Hole)>1e-12){ - std::cout << "Warning! bC1/zC1 not equal to bC2/zC2 for Hole." << std::endl; + dd4hep::printout(dd4hep::WARNING, "Construct", "bC1/zC1 not equal to bC2/zC2 for Hole."); } pzTopCutHole = 0.5*(a1Hole-a2Hole)*tan(bottom); } @@ -578,13 +578,9 @@ static Ref_t create_detector(Detector& theDetector, tube.setVisAttributes( theDetector, "SeeThrough", envelope ); //debug - std::cout << "============ConicalSupportData============" << std::endl; - for(unsigned int i=0;i<beampipeData->sections.size();i++){ - std::cout << std::setw(8) << beampipeData->sections[i].zPos /dd4hep::mm - << std::setw(8) << beampipeData->sections[i].rInner /dd4hep::mm - << std::setw(8) << beampipeData->sections[i].rOuter /dd4hep::mm - << std::endl; - } + if (dd4hep::printLevel()<=dd4hep::WARNING) std::cout << (*beampipeData) << std::endl; + + dd4hep::setPrintLevel(oldLevel); return tube; } diff --git a/Detector/DetCRD/src/Tracker/SiTrackerComposite_v01_geo.cpp b/Detector/DetCRD/src/Tracker/SiTrackerComposite_v01_geo.cpp index 971df5d333ad22eaafbead3eb875e3b738a81479..70b66ee9413ea26ea84af7e4b3680b4c3bf71883 100644 --- a/Detector/DetCRD/src/Tracker/SiTrackerComposite_v01_geo.cpp +++ b/Detector/DetCRD/src/Tracker/SiTrackerComposite_v01_geo.cpp @@ -56,12 +56,11 @@ static dd4hep::Ref_t create_element(dd4hep::Detector& theDetector, xml_h e, dd4h if(theDetector.buildType()==dd4hep::BUILD_ENVELOPE) return det; envelope.setVisAttributes(theDetector.visAttributes("SeeThrough")); - dd4hep::PrintLevel oldLevel = dd4hep::printLevel(); + dd4hep::PrintLevel printLevel = dd4hep::ERROR; if (x_det.hasAttr(_Unicode(printLevel))) { - dd4hep::PrintLevel printLevel = dd4hep::printLevel(x_det.attr<string>(_Unicode(printLevel))); - // global level alway larger than local - if (printLevel<oldLevel) dd4hep::setPrintLevel(printLevel); + printLevel = dd4hep::printLevel(x_det.attr<string>(_Unicode(printLevel))); } + dd4hep::PrintLevel oldLevel = dd4hep::setPrintLevel(printLevel); if (x_det.hasChild(_U(sensitive))) { xml_dim_t sd_typ = x_det.child(_U(sensitive)); @@ -541,7 +540,7 @@ static dd4hep::Ref_t create_element(dd4hep::Detector& theDetector, xml_h e, dd4h compositeData->layersPlanar.push_back(topLayer); } } - if (dd4hep::printLevel()<=dd4hep::INFO) std::cout << (*compositeData) << endl; + if (dd4hep::printLevel()<=dd4hep::WARNING) std::cout << (*compositeData) << endl; det.addExtension<dd4hep::rec::CompositeData>(compositeData); if (x_det.hasAttr(_U(combineHits))) det.setCombineHits(x_det.attr<bool>(_U(combineHits)),sens);