Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • maxt/CEPCSW
  • zyjonah/CEPCSW
  • wanjw03/CEPCSW
  • yudian2002/CEPCSW
  • starr136a/CEPCSW
  • fucd/CEPCSW
  • shuohan/CEPCSW
  • glliu/CEPCSW
  • zhangjinxian/CEPCSW_20250110
  • zhangyz/CEPCSW
  • zhangyang98/cepcsw-official
  • shuxian/CEPCSW
  • lihp29/CEPCSW
  • zhangkl/CEPCSW
  • laipz/CEPCSW
  • lizhihao/CEPCSW
  • yudian2002/cepcsw-otk-endcap-update-01
  • xuchj7/CEPCSW
  • wuchonghao9612/CEPCSW
  • chenye/CEPCSW
  • zhangxm/CEPCSW
  • mengwq/CEPCSW
  • yudian2002/cepcsw-geo-upgrade-v-2
  • fangwx/CEPCSW
  • yudian2002/cepcsw-geo-upgrade
  • jiangxj/CEPCSW
  • yudian2002/cepcsw-otk-end-cap-development
  • guolei/CEPCSW
  • chenbp/CEPCSW
  • dhb112358/CEPCSW
  • tangyb/CEPCSW
  • luhc/CEPCSW
  • songwz/cepcsw-tdr
  • yudian2002/cepcsw-ote-development
  • yudian2002/cepcsw-otb-development
  • dudejing/CEPCSW
  • shexin/CEPCSW
  • sunwy/CEPCSW
  • 1810337/CEPCSW
  • cepcsw/CEPCSW
  • tyzhang/CEPCSW
  • fucd/CEPCSW1
  • xiaolin.wang/CEPCSW
  • wangchu/CEPCSW
  • 201840277/CEPCSW
  • zhaog/CEPCSW
  • shihy/cepcsw-dose
  • myliu/CEPCSW
  • thinking/CEPCSW
  • lihn/CEPCSW
  • 221840222/CEPCSW
  • gongjd1119/CEPCSW
  • tanggy/CEPCSW
  • lintao/CEPCSW
  • guofangyi/cepcsw-release
  • shihy/CEPCSW
  • 1365447033/CEPCSW
  • lizhan/CEPCSW
  • shixin/CEPCSW
  • cepc/CEPCSW
60 results
Show changes
Commits on Source (10)
Showing
with 271 additions and 229 deletions
...@@ -539,7 +539,7 @@ static Ref_t create_detector(Detector &theDetector, xml_h element, SensitiveDete ...@@ -539,7 +539,7 @@ static Ref_t create_detector(Detector &theDetector, xml_h element, SensitiveDete
cell_x_offset -= total_cell_size_abnormal / 2.; cell_x_offset -= total_cell_size_abnormal / 2.;
} }
} }
printf("layerID: %2d, x_length: %3.3lf, x_cell: %3.3lf, x_cell_abnormal: %3.3lf, x_dead: %3.3lf, z_length: %3.3lf,z_cell: %3.3lf, z_dead: %3.3lf,\n", layer_id, 2 * x_halflength, n_x * total_cell_size, nx_abnormal * total_cell_size_abnormal, 2 * x_halflength - n_x * total_cell_size - nx_abnormal * total_cell_size_abnormal, 2 * z_halfwidth, n_z * total_cell_size, 2 * z_halfwidth - n_z * total_cell_size); //printf("layerID: %2d, x_length: %3.3lf, x_cell: %3.3lf, x_cell_abnormal: %3.3lf, x_dead: %3.3lf, z_length: %3.3lf,z_cell: %3.3lf, z_dead: %3.3lf,\n", layer_id, 2 * x_halflength, n_x * total_cell_size, nx_abnormal * total_cell_size_abnormal, 2 * x_halflength - n_x * total_cell_size - nx_abnormal * total_cell_size_abnormal, 2 * z_halfwidth, n_z * total_cell_size, 2 * z_halfwidth - n_z * total_cell_size);
// Reset counters to measure "outside" quantitites // Reset counters to measure "outside" quantitites
nRadiationLengths = 0.; nRadiationLengths = 0.;
nInteractionLengths = 0.; nInteractionLengths = 0.;
......
...@@ -44,31 +44,31 @@ ...@@ -44,31 +44,31 @@
</slice> </slice>
</layer> </layer>
<layer name = "Flange"> <layer name = "Flange">
<slice type="Tubs" rmin="18.5*mm" rmax="100*mm" z="30*mm" phi1="0*deg" phi2="360*deg" material="stainless_steel" vis="FlangeVis"> <slice type="Tubs" rmin="19.5*mm" rmax="100*mm" z="30*mm" phi1="0*deg" phi2="360*deg" material="stainless_steel" vis="FlangeVis">
<position x="0" y="0*mm" z="685*mm"/> <position x="0" y="0*mm" z="685*mm"/>
</slice> </slice>
<slice type="Tubs" rmin="18.5*mm" rmax="95*mm" z="20*mm" phi1="0*deg" phi2="360*deg" material="stainless_steel" vis="LumicalFlangeVis"> <slice type="Tubs" rmin="19.5*mm" rmax="95*mm" z="20*mm" phi1="0*deg" phi2="360*deg" material="stainless_steel" vis="LumicalFlangeVis">
<position x="0" y="0*mm" z="710*mm"/> <position x="0" y="0*mm" z="710*mm"/>
</slice> </slice>
<slice type="Tubs" rmin="18.5*mm" rmax="98*mm" z="20*mm" phi1="0*deg" phi2="360*deg" material="stainless_steel" vis="LumicalFlangeVis"> <slice type="Tubs" rmin="19.5*mm" rmax="98*mm" z="20*mm" phi1="0*deg" phi2="360*deg" material="stainless_steel" vis="LumicalFlangeVis">
<position x="0" y="0*mm" z="730*mm"/> <position x="0" y="0*mm" z="730*mm"/>
</slice> </slice>
<slice type="Tubs" rmin="18.5*mm" rmax="95*mm" z="1*mm" phi1="0*deg" phi2="360*deg" material="stainless_steel" vis="LumicalFlangeVis"> <slice type="Tubs" rmin="19.5*mm" rmax="95*mm" z="1*mm" phi1="0*deg" phi2="360*deg" material="stainless_steel" vis="LumicalFlangeVis">
<position x="0" y="0*mm" z="750*mm"/> <position x="0" y="0*mm" z="750*mm"/>
</slice> </slice>
<slice type="Tubs" rmin="18.5*mm" rmax="95*mm" z="1*mm" phi1="0*deg" phi2="360*deg" material="stainless_steel" vis="LumicalFlangeVis"> <slice type="Tubs" rmin="19.5*mm" rmax="95*mm" z="1*mm" phi1="0*deg" phi2="360*deg" material="stainless_steel" vis="LumicalFlangeVis">
<position x="0" y="0*mm" z="755*mm"/> <position x="0" y="0*mm" z="755*mm"/>
</slice> </slice>
<slice type="Tubs" rmin="18.5*mm" rmax="95*mm" z="1*mm" phi1="0*deg" phi2="360*deg" material="stainless_steel" vis="LumicalFlangeVis"> <slice type="Tubs" rmin="19.5*mm" rmax="95*mm" z="1*mm" phi1="0*deg" phi2="360*deg" material="stainless_steel" vis="LumicalFlangeVis">
<position x="0" y="0*mm" z="760*mm"/> <position x="0" y="0*mm" z="760*mm"/>
</slice> </slice>
<slice type="Tubs" rmin="18.5*mm" rmax="95*mm" z="1*mm" phi1="0*deg" phi2="360*deg" material="stainless_steel" vis="LumicalFlangeVis"> <slice type="Tubs" rmin="19.5*mm" rmax="95*mm" z="1*mm" phi1="0*deg" phi2="360*deg" material="stainless_steel" vis="LumicalFlangeVis">
<position x="0" y="0*mm" z="765*mm"/> <position x="0" y="0*mm" z="765*mm"/>
</slice> </slice>
<slice type="Tubs" rmin="18.5*mm" rmax="95*mm" z="1*mm" phi1="0*deg" phi2="360*deg" material="stainless_steel" vis="LumicalFlangeVis"> <slice type="Tubs" rmin="19.5*mm" rmax="95*mm" z="1*mm" phi1="0*deg" phi2="360*deg" material="stainless_steel" vis="LumicalFlangeVis">
<position x="0" y="0*mm" z="770*mm"/> <position x="0" y="0*mm" z="770*mm"/>
</slice> </slice>
<slice type="Tubs" rmin="18.5*mm" rmax="95*mm" z="1*mm" phi1="0*deg" phi2="360*deg" material="stainless_steel" vis="LumicalFlangeVis"> <slice type="Tubs" rmin="19.5*mm" rmax="95*mm" z="1*mm" phi1="0*deg" phi2="360*deg" material="stainless_steel" vis="LumicalFlangeVis">
<position x="0" y="0*mm" z="775*mm"/> <position x="0" y="0*mm" z="775*mm"/>
</slice> </slice>
</layer> </layer>
...@@ -80,7 +80,7 @@ ...@@ -80,7 +80,7 @@
</layer> </layer>
<layer name = "LYSO_2nd"> <layer name = "LYSO_2nd">
<slice dx="10*mm" dy="10*mm" dz="150*mm" material="LYSO" vis="GrayVis" sensitive="yes" limits="5*mm"> <slice dx="10*mm" dy="10*mm" dz="150*mm" material="LYSO" vis="GrayVis" sensitive="yes" limits="5*mm">
<position x="0" y="-12*mm" z="800*mm"/> <position x="0" y="-12*mm" z="875*mm"/>
<rotation x="0" y="0" z="0" /> <rotation x="0" y="0" z="0" />
</slice> </slice>
</layer> </layer>
......
...@@ -26,7 +26,7 @@ ...@@ -26,7 +26,7 @@
<detectors> <detectors>
<detector id="DetID_OTKBarrel" name="OTKBarrel" type="SiTracker_otkbarrel_v02" vis="OTKBarrelVis" <detector id="DetID_OTKBarrel" name="OTKBarrel" type="SiTracker_otkbarrel_v02" vis="OTKBarrelVis"
readout="OTKBarrelCollection" insideTrackingVolume="true"> readout="OTKBarrelCollection" combineHits="true" insideTrackingVolume="true">
<type_flags type="DetType_TRACKER + DetType_BARREL + DetType_STRIP "/> <type_flags type="DetType_TRACKER + DetType_BARREL + DetType_STRIP "/>
<envelope vis="SeeThrough"> <envelope vis="SeeThrough">
<shape type="Tube" rmin="OTKBarrel_inner_radius" rmax="OTKBarrel_outer_radius" <shape type="Tube" rmin="OTKBarrel_inner_radius" rmax="OTKBarrel_outer_radius"
...@@ -40,23 +40,23 @@ ...@@ -40,23 +40,23 @@
<module name="OTKBarrel_module" thickness="OTKBarrel_module_thickness" repeat="4" <module name="OTKBarrel_module" thickness="OTKBarrel_module_thickness" repeat="4"
width="OTKBarrel_module_width" length_inner="OTKBarrel_module_length_inner" width="OTKBarrel_module_width" length_inner="OTKBarrel_module_length_inner"
length_outer="OTKBarrel_module_length_outer" vis="SeeThrough"> length_outer="OTKBarrel_module_length_outer" vis="SeeThrough">
<layer name="glue" width="100.40*mm" thickness="300*um" material="Air" vis="BlackVis"/> <layer name="carbon_fiber_plane_inner" width="100.40*mm" thickness="0.3*mm" material="CF_ITK" vis="BlackVis"/>
<layer name="carbon_fiber_plane_inner" width="100.40*mm" thickness="0.3*mm" material="CarbonFiber" vis="BlackVis"/> <layer name="carbon_fiber_honeycomb" width="100.40*mm" thickness="6000*um" material="GraphiteFoam_OTK" vis="BlackVis"/>
<layer name="carbon_fiber_honeycomb" width="100.40*mm" thickness="6000*um" material="CarbonFiber" vis="BlackVis"/>
<layer name="cooling_fluid" width="100.40*mm" thickness="35.76*0.105*100*um" material="G4_WATER" vis="BlackVis"/> <layer name="cooling_fluid" width="100.40*mm" thickness="35.76*0.105*100*um" material="G4_WATER" vis="BlackVis"/>
<layer name="cooling_tube_wall" width="100.40*mm" thickness="3.560*0.169*100*um" material="G4_Ti" vis="BlackVis"/> <layer name="cooling_tube_wall" width="100.40*mm" thickness="3.560*0.169*100*um" material="G4_Ti" vis="BlackVis"/>
<layer name="carbon_fiber_plane_outer" width="100.40*mm" thickness="0.3*mm" material="CarbonFiber" vis="BlackVis"/> <layer name="carbon_fiber_plane_outer" width="100.40*mm" thickness="0.3*mm" material="CF_ITK" vis="BlackVis"/>
<layer name="other_electronic" width="100.40*mm" thickness="32.6437*0.1*100*um" material="Kapton" vis="BlackVis"/> <layer name="glue" width="100.40*mm" thickness="300*um" material="CER_ITK" vis="BlackVis"/>
<layer name="glue_2" width="100.40*mm" thickness="100*um" material="Air" vis="BlackVis"/> <layer name="sensor" sensitive="True" width="OTKBarrel_module_width" thickness="0.3*mm" material="G4_Si" vis="FTDSensitiveVis"/>
<layer name="sensor" sensitive="True" width="OTKBarrel_module_width" thickness="0.3*mm" material="G4_Si" vis="FTDSensitiveVis"/> <layer name="glue_2" width="100.40*mm" thickness="100*um" material="CER_ITK" vis="BlackVis"/>
<layer name="pcb_insulating_layers" width="100.40*mm" thickness="28.41*0.07*100*um" material="Polyimide" vis="BlackVis"/> <layer name="pcb_insulating_layers" width="100.40*mm" thickness="28.41*0.07*100*um" material="Polyimide_ITK" vis="BlackVis"/>
<layer name="pcb_metal_layers" width="100.40*mm" thickness="1.436*0.2*100*um" material="G4_Cu" vis="BlackVis"/> <layer name="pcb_metal_layers" width="100.40*mm" thickness="1.436*0.2*100*um" material="G4_Cu" vis="BlackVis"/>
<data_aggregation name="first_data_aggregation" width="104*mm" thickness="0*mm" length="7.0*mm" vis="SeeThrough"> <layer name="other_electronic" width="100.40*mm" thickness="32.6437*0.1*100*um" material="Kapton" vis="BlackVis"/>
<layer name="PCB" thickness="0*mm" width="OTKBarrel_module_width" length="7.0*mm" vis="GreenVis"/> <data_aggregation name="first_data_aggregation" width="104*mm" thickness="2*mm" length="7.0*mm" vis="SeeThrough">
<DC name="DC-DC" thickness="0*mm" width="10.0*mm" length="3.0*mm" vis="YellowVis"/> <layer name="PCB" thickness="1*mm" width="OTKBarrel_module_width" length="7.0*mm" vis="GreenVis"/>
<DC name="DC-DC" thickness="1*mm" width="10.0*mm" length="3.0*mm" vis="YellowVis"/>
</data_aggregation> </data_aggregation>
</module> </module>
<data_aggregation name="second_data_aggregation" thickness="0*mm" width="20.0*mm" length="10.0*mm" vis="YellowVis"/> <data_aggregation name="second_data_aggregation" thickness="1*mm" width="20.0*mm" length="10.0*mm" vis="YellowVis"/>
</ladder> </ladder>
</stave> </stave>
</detector> </detector>
...@@ -64,7 +64,7 @@ ...@@ -64,7 +64,7 @@
<readouts> <readouts>
<readout name="OTKBarrelCollection"> <readout name="OTKBarrelCollection">
<id>system:5,side:-2,layer:4,module:8,iladder:3,oladder:-4,mmodule:-6</id> <id>system:5,side:-2,layer:9,module:8,iladder:32:4,oladder:-4,mmodule:-6</id>
</readout> </readout>
</readouts> </readouts>
</lccdd> </lccdd>
\ No newline at end of file
...@@ -9,16 +9,16 @@ ...@@ -9,16 +9,16 @@
<comment>CepC Outer Tracker</comment> <comment>CepC Outer Tracker</comment>
</info> </info>
<define> <define>
<constant name="OTKEndcap_inner_radius" value="400*mm"/> <!--constant name="OTKEndcap_inner_radius" value="400*mm"/>
<constant name="OTKEndcap_outer_radius" value="1820*mm"/> <constant name="OTKEndcap_outer_radius" value="1820*mm"/>
<constant name="OTKEndcap_zmin" value="2910*mm"/> <constant name="OTKEndcap_zmin" value="2910*mm"/>
<constant name="OTKEndcap_zmax" value="2930*mm"/> <constant name="OTKEndcap_zmax" value="2930*mm"/-->
</define> </define>
<detectors> <detectors>
<type_flags type="DetType_TRACKER + DetType_ENDCAP + DetType_PIXEL "/> <type_flags type="DetType_TRACKER + DetType_ENDCAP + DetType_PIXEL "/>
<detector id="DetID_OTKEndcap" name="OTKEndcap" type="SiTracker_otkendcap_v02" vis="OTKEndcapVis" <detector id="DetID_OTKEndcap" name="OTKEndcap" type="SiTracker_otkendcap_v02" vis="OTKEndcapVis"
readout="OTKEndcapCollection" insideTrackingVolume="true"> readout="OTKEndcapCollection" combineHits="true" insideTrackingVolume="true">
<type_flags type="DetType_TRACKER + DetType_ENDCAP "/> <type_flags type="DetType_TRACKER + DetType_ENDCAP "/>
<envelope vis="SeeThrough"> <envelope vis="SeeThrough">
<shape type="BooleanShape" operation="Subtraction" material="Air"> <shape type="BooleanShape" operation="Subtraction" material="Air">
...@@ -44,24 +44,24 @@ ...@@ -44,24 +44,24 @@
<ring name="D4" inner_radius="1668*mm" outer_radius="(1816-0.2)*mm" repeat="16*14" aggregation="2" vis="SeeThrough"/> <ring name="D4" inner_radius="1668*mm" outer_radius="(1816-0.2)*mm" repeat="16*14" aggregation="2" vis="SeeThrough"/>
</rings> </rings>
<layers thickness="11.4*mm"> <layers thickness="11.4*mm">
<layer name="other_electronic" width="100.40*mm" thickness="32.6437*0.1*100*um" material="Kapton" vis="BlackVis"/>
<layer name="PCB_metal_layers" thickness="1.436*0.2*100*um" material="G4_Cu" vis="FTDSupportVis"/> <layer name="PCB_metal_layers" thickness="1.436*0.2*100*um" material="G4_Cu" vis="FTDSupportVis"/>
<layer name="PCB_insulating_layers" thickness="28.41*0.07*100*um" material="Polyimide" vis="FTDSupportVis"/> <layer name="PCB_insulating_layers" thickness="28.41*0.07*100*um" material="Polyimide_ITK" vis="FTDSupportVis"/>
<layer name="glue_1" thickness="100*um" material="CER_ITK" vis="FTDSupportVis"/>
<layer name="sensor" sensitive="True" thickness="0.3*mm" material="G4_Si" vis="FTDSensitiveVis"/> <layer name="sensor" sensitive="True" thickness="0.3*mm" material="G4_Si" vis="FTDSensitiveVis"/>
<layer name="glue_1" thickness="100*um" material="Air" vis="FTDSupportVis"/> <layer name="glue_2" thickness="200*um" material="Polyimide_ITK" vis="FTDSupportVis"/>
<layer name="other_electronic" width="100.40*mm" thickness="32.6437*0.1*100*um" material="Kapton" vis="BlackVis"/> <layer name="carbon_fiber_plane" thickness="0.3*mm" material="CF_ITK" vis="FTDSupportVis"/>
<layer name="carbon_fiber_plane" thickness="0.3*mm" material="CarbonFiber" vis="FTDSupportVis"/>
<layer name="cooling_tube_wall" thickness="3.560*0.169*100*um" material="G4_Ti" vis="FTDSupportVis"/> <layer name="cooling_tube_wall" thickness="3.560*0.169*100*um" material="G4_Ti" vis="FTDSupportVis"/>
<layer name="cooling_fluid" thickness="35.76*0.105*100*um" material="G4_WATER" vis="FTDSupportVis"/> <layer name="cooling_fluid" thickness="35.76*0.105*100*um" material="G4_WATER" vis="FTDSupportVis"/>
<layer name="graphite_foam_Honeycom" thickness="6000*um" material="Air" vis="FTDSupportVis"/> <layer name="graphite_foam_Honeycom" thickness="6000*um" material="GraphiteFoam_OTK" vis="FTDSupportVis"/>
<layer name="carbon_fiber_back_plate" thickness="0.3*mm" material="CarbonFiber" vis="FTDSupportVis"/> <layer name="carbon_fiber_back_plate" thickness="0.3*mm" material="CF_ITK" vis="FTDSupportVis"/>
<layer name="glue_2" thickness="200*um" material="Air" vis="FTDSupportVis"/>
</layers> </layers>
</detector> </detector>
</detectors> </detectors>
<readouts> <readouts>
<readout name="OTKEndcapCollection"> <readout name="OTKEndcapCollection">
<id>system:5,side:-2,layer:4,module:8,sensor:13</id> <id>system:5,side:-2,layer:9,module:8,sensor:8</id>
</readout> </readout>
</readouts> </readouts>
</lccdd> </lccdd>
\ No newline at end of file
...@@ -253,14 +253,14 @@ ...@@ -253,14 +253,14 @@
<section type="CenterSide" name="MagnetShell_Front" zStart="1050*mm" zEnd="1056*mm" rStart="50.0*mm"> <section type="CenterSide" name="MagnetShell_Front" zStart="1050*mm" zEnd="1056*mm" rStart="50.0*mm">
<layer material="stainless_steel" thickness="90.75*mm" vis="ShellVis"/> <layer material="stainless_steel" thickness="90.75*mm" vis="ShellVis"/>
</section> </section>
<section type="CenterSide" name="MagnetShell_FrontSide" zStart="1056*mm" zEnd="1900*mm" rStart="130.75*mm" rEnd="175*mm"> <section type="CenterSide" name="MagnetShell_FrontSide" zStart="1056*mm" zEnd="1900*mm" rStart="132.75*mm" rEnd="175*mm">
<layer material="stainless_steel" thickness="15*mm" vis="ShellVis"/> <layer material="stainless_steel" thickness="15*mm" vis="ShellVis"/>
</section> </section>
<section type="CenterSide" name="MagnetShell_CenterSide" zStart="1900*mm" zEnd="3800*mm" rStart="175*mm"> <section type="CenterSide" name="MagnetShell_CenterSide" zStart="1900*mm" zEnd="3800*mm" rStart="175*mm">
<layer material="stainless_steel" thickness="15*mm" vis="ShellVis"/> <layer material="stainless_steel" thickness="15*mm" vis="ShellVis"/>
</section> </section>
<section type="CenterSide" name="MagnetShell_Linker" zStart="3800*mm" zEnd="3910*mm" rStart="175*mm"> <section type="CenterSide" name="MagnetShell_Linker" zStart="3800*mm" zEnd="3910*mm" rStart="175*mm">
<layer material="stainless_steel" thickness="15*mm" vis="ShellVis"/> <layer material="stainless_steel" thickness="15*mm" vis="ShellVis"/>
</section> </section>
<section type="CenterSide" name="MagnetShell_RearSide" zStart="3910*mm" zEnd="7160*mm" rStart="240*mm"> <section type="CenterSide" name="MagnetShell_RearSide" zStart="3910*mm" zEnd="7160*mm" rStart="240*mm">
<layer material="stainless_steel" thickness="15*mm" vis="ShellVis"/> <layer material="stainless_steel" thickness="15*mm" vis="ShellVis"/>
...@@ -271,10 +271,10 @@ ...@@ -271,10 +271,10 @@
<section type="CenterSide" name="MagnetSupport_2i" zStart="1135*mm" zEnd="1925*mm" rStart="75*mm"> <section type="CenterSide" name="MagnetSupport_2i" zStart="1135*mm" zEnd="1925*mm" rStart="75*mm">
<layer material="G4_Al" thickness="2*mm" vis="ShellVis"/> <layer material="G4_Al" thickness="2*mm" vis="ShellVis"/>
</section> </section>
<section type="CenterSide" name="MagnetSupport_2o" zStart="1135*mm" zEnd="1900*mm" rStart="120*mm"> <section type="CenterSide" name="MagnetSupport_2o" zStart="1135*mm" zEnd="1900*mm" rStart="130*mm">
<layer material="G4_Al" thickness="2*mm" vis="ShellVis"/> <layer material="G4_Al" thickness="2*mm" vis="ShellVis"/>
</section> </section>
<section type="CenterSide" name="MagnetSupport_3l" zStart="1900*mm" zEnd="1905*mm" rStart="120*mm"> <section type="CenterSide" name="MagnetSupport_3l" zStart="1900*mm" zEnd="1905*mm" rStart="130*mm">
<layer material="G4_Al" thickness="2*mm" vis="ShellVis"/> <layer material="G4_Al" thickness="2*mm" vis="ShellVis"/>
</section> </section>
<section type="CenterSide" name="MagnetSupport_3r" zStart="1925*mm" zEnd="1930*mm" rStart="75*mm"> <section type="CenterSide" name="MagnetSupport_3r" zStart="1925*mm" zEnd="1930*mm" rStart="75*mm">
...@@ -307,7 +307,7 @@ ...@@ -307,7 +307,7 @@
<section type="CenterSide" name="MagnetCooling_1i" zStart="1160*mm" zEnd="1900*mm" rStart="80*mm"> <section type="CenterSide" name="MagnetCooling_1i" zStart="1160*mm" zEnd="1900*mm" rStart="80*mm">
<layer material="lHe" thickness="10*mm" vis="BlueVis"/> <layer material="lHe" thickness="10*mm" vis="BlueVis"/>
</section> </section>
<section type="CenterSide" name="MagnetCooling_1o" zStart="1160*mm" zEnd="1900*mm" rStart="110*mm"> <section type="CenterSide" name="MagnetCooling_1o" zStart="1160*mm" zEnd="1900*mm" rStart="120*mm">
<layer material="lHe" thickness="10*mm" vis="BlueVis"/> <layer material="lHe" thickness="10*mm" vis="BlueVis"/>
</section> </section>
<section type="CenterSide" name="MagnetCooling_1r" zStart="1900*mm" zEnd="1925*mm" rStart="80*mm"> <section type="CenterSide" name="MagnetCooling_1r" zStart="1900*mm" zEnd="1925*mm" rStart="80*mm">
......
...@@ -249,7 +249,7 @@ ...@@ -249,7 +249,7 @@
<section type="CenterSide" name="MagnetShell_Front" zStart="1050*mm" zEnd="1056*mm" rStart="50.0*mm"> <section type="CenterSide" name="MagnetShell_Front" zStart="1050*mm" zEnd="1056*mm" rStart="50.0*mm">
<layer material="G4_Ti" thickness="80.75*mm" vis="ShellVis"/> <layer material="G4_Ti" thickness="80.75*mm" vis="ShellVis"/>
</section> </section>
<section type="CenterSide" name="MagnetShell_FrontSide" zStart="1056*mm" zEnd="1900*mm" rStart="130.75*mm" rEnd="175*mm"> <section type="CenterSide" name="MagnetShell_FrontSide" zStart="1056*mm" zEnd="1900*mm" rStart="132.75*mm" rEnd="175*mm">
<layer material="G4_Ti" thickness="5*mm" vis="ShellVis"/> <layer material="G4_Ti" thickness="5*mm" vis="ShellVis"/>
</section> </section>
<section type="CenterSide" name="MagnetShell_CenterSide" zStart="1900*mm" zEnd="3800*mm" rStart="175*mm"> <section type="CenterSide" name="MagnetShell_CenterSide" zStart="1900*mm" zEnd="3800*mm" rStart="175*mm">
...@@ -267,10 +267,10 @@ ...@@ -267,10 +267,10 @@
<section type="CenterSide" name="MagnetSupport_2i" zStart="1135*mm" zEnd="1925*mm" rStart="75*mm"> <section type="CenterSide" name="MagnetSupport_2i" zStart="1135*mm" zEnd="1925*mm" rStart="75*mm">
<layer material="G4_Al" thickness="2*mm" vis="ShellVis"/> <layer material="G4_Al" thickness="2*mm" vis="ShellVis"/>
</section> </section>
<section type="CenterSide" name="MagnetSupport_2o" zStart="1135*mm" zEnd="1900*mm" rStart="120*mm"> <section type="CenterSide" name="MagnetSupport_2o" zStart="1135*mm" zEnd="1900*mm" rStart="130*mm">
<layer material="G4_Al" thickness="2*mm" vis="ShellVis"/> <layer material="G4_Al" thickness="2*mm" vis="ShellVis"/>
</section> </section>
<section type="CenterSide" name="MagnetSupport_3l" zStart="1900*mm" zEnd="1905*mm" rStart="120*mm"> <section type="CenterSide" name="MagnetSupport_3l" zStart="1900*mm" zEnd="1905*mm" rStart="130*mm">
<layer material="G4_Al" thickness="2*mm" vis="ShellVis"/> <layer material="G4_Al" thickness="2*mm" vis="ShellVis"/>
</section> </section>
<section type="CenterSide" name="MagnetSupport_3r" zStart="1925*mm" zEnd="1930*mm" rStart="75*mm"> <section type="CenterSide" name="MagnetSupport_3r" zStart="1925*mm" zEnd="1930*mm" rStart="75*mm">
...@@ -303,7 +303,7 @@ ...@@ -303,7 +303,7 @@
<section type="CenterSide" name="MagnetCooling_1i" zStart="1160*mm" zEnd="1900*mm" rStart="80*mm"> <section type="CenterSide" name="MagnetCooling_1i" zStart="1160*mm" zEnd="1900*mm" rStart="80*mm">
<layer material="lHe" thickness="10*mm" vis="BlueVis"/> <layer material="lHe" thickness="10*mm" vis="BlueVis"/>
</section> </section>
<section type="CenterSide" name="MagnetCooling_1o" zStart="1160*mm" zEnd="1900*mm" rStart="110*mm"> <section type="CenterSide" name="MagnetCooling_1o" zStart="1160*mm" zEnd="1900*mm" rStart="120*mm">
<layer material="lHe" thickness="10*mm" vis="BlueVis"/> <layer material="lHe" thickness="10*mm" vis="BlueVis"/>
</section> </section>
<section type="CenterSide" name="MagnetCooling_1r" zStart="1900*mm" zEnd="1925*mm" rStart="80*mm"> <section type="CenterSide" name="MagnetCooling_1r" zStart="1900*mm" zEnd="1925*mm" rStart="80*mm">
......
...@@ -9,56 +9,54 @@ ...@@ -9,56 +9,54 @@
<comment>CepC Inner Tracker EndCap</comment> <comment>CepC Inner Tracker EndCap</comment>
</info> </info>
<define> <define>
<constant name="SiliconThickness" value="400*um"/>
<constant name="SupportThickness" value="3.5*mm"/>
<constant name="ITKModuleLengthPhi" value="40.1*mm"/> <constant name="ITKModuleLengthPhi" value="40.1*mm"/>
</define> </define>
<detectors> <detectors>
<detector id="DetID_ITKEndCap" name="ITK_EndCap" type="ITK_EndCap_v01" vis="FTDVis" readout="ITKEndcapCollection" insideTrackingVolume="true" reflect="true"> <detector id="DetID_ITKEndcap" name="ITKEndcap" type="ITK_EndCap_v01" vis="FTDVis" readout="ITKEndcapCollection" combineHits="true" insideTrackingVolume="true" reflect="true">
<envelope> <envelope>
<shape type="Assembly"/> <shape type="Assembly"/>
</envelope> </envelope>
<type_flags type="DetType_TRACKER + DetType_ENDCAP + DetType_PIXEL "/> <type_flags type="DetType_TRACKER + DetType_ENDCAP + DetType_PIXEL "/>
<support thickness="SupportThickness"> <support>
<slice name="Carbon_fiber_front" material="CarbonFiber" thickness="150*um" vis="GrayVis"/> <slice name="Carbon_fiber_front" material="CF_ITK" thickness="150*um" vis="GrayVis"/>
<slice name="Cooling_tube_wall" material="G4_Ti" thickness="3.560*0.013*100*um" vis="GrayVis"/> <slice name="Cooling_tube_wall" material="G4_Ti" thickness="3.560*0.013*100*um" vis="GrayVis"/>
<slice name="Cooling_fluid" material="G4_WATER" thickness="35.76*0.105*100*um" vis="GrayVis"/> <slice name="Cooling_fluid" material="G4_WATER" thickness="35.76*0.105*100*um" vis="GrayVis"/>
<slice name="Graphite_foam_Honeycomb" material="Air" thickness="2000*um" vis="YellowVis"/> <slice name="Graphite_foam_Honeycomb" material="GraphiteFoam_OTK" thickness="2000*um" vis="YellowVis"/>
<slice name="Carbon_fiber_back" material="CarbonFiber" thickness="150*um" vis="GrayVis"/> <slice name="Carbon_fiber_back" material="CF_ITK" thickness="150*um" vis="GrayVis"/>
<slice name="Glue" material="Air" thickness="200*um" vis="YellowVis"/>
<slice name="Other_electronics" material="Kapton" thickness="32.6437*0.05*100*um" vis="SeeThrough"/>
</support> </support>
<sensor thickness="SiliconThickness"> <sensor>
<slice name="Glue" material="Air" thickness="100*um" vis="SeeThrough"/> <slice name="GlueF" material="CER_ITK" thickness="200*um" vis="YellowVis"/>
<slice name="Sensor" material="G4_Si" thickness="150*um" sensitive="true" vis="GreenVis"/> <slice name="Sensor" material="G4_Si" thickness="150*um" sensitive="true" vis="GreenVis"/>
<slice name="FPC_Insulating_layers" material="Polyimide" thickness="100*um" vis="SeeThrough"/> <slice name="GlueB" material="CER_ITK" thickness="100*um" vis="SeeThrough"/>
<slice name="FPC_Insulating_layers" material="Polyimide_ITK" thickness="100*um" vis="SeeThrough"/>
<slice name="FPC_metal_layer" material="G4_Al" thickness="50*um" vis="SeeThrough"/> <slice name="FPC_metal_layer" material="G4_Al" thickness="50*um" vis="SeeThrough"/>
<slice name="Other_electronics" material="Kapton" thickness="32.6437*0.05*100*um" vis="SeeThrough"/>
</sensor> </sensor>
<layers> <layers>
<layer id="0" z="505*mm" dz="SiliconThickness*2 + SupportThickness" inner_r="81.5*mm" outer_r="245*mm" vis="SeeThrough"> <layer id="0" z="505*mm" inner_r="81.5*mm" outer_r="245*mm" phi0="90*degree" vis="SeeThrough">
<ring id="0" inner_r="81.5*mm" outer_r="(163.4-0.1)*mm" module_dr="80.3*mm" module_dphi="40.1*mm" nmodule="13" vis="SeeThrough" /> <ring id="0" inner_r="81.5*mm" outer_r="(163.4-0.1)*mm" module_dr="80.3*mm" module_dphi="40.1*mm" nmodule="13" vis="SeeThrough" />
<ring id="1" inner_r="163.4*mm" outer_r="245*mm" module_dr="80.3*mm" module_dphi="40.1*mm" nmodule="20" vis="SeeThrough"/> <ring id="1" inner_r="163.4*mm" outer_r="245*mm" module_dr="80.3*mm" module_dphi="40.1*mm" nmodule="20" vis="SeeThrough"/>
</layer> </layer>
<layer id="1" z="718.5*mm" dz="SiliconThickness*2 + SupportThickness" inner_r="110.5*mm" outer_r="355*mm" vis="SeeThrough"> <layer id="1" z="718.5*mm" inner_r="110.5*mm" outer_r="355*mm" phi0="90*degree" vis="SeeThrough">
<ring id="0" inner_r="110.5*mm" outer_r="(192.2-0.1)*mm" module_dr="80.3*mm" module_dphi="40.1*mm" nmodule="16" vis="SeeThrough"/> <ring id="0" inner_r="110.5*mm" outer_r="(192.2-0.1)*mm" module_dr="80.3*mm" module_dphi="40.1*mm" nmodule="16" vis="SeeThrough"/>
<ring id="1" inner_r="192.2*mm" outer_r="(273.4-0.1)*mm" module_dr="80.3*mm" module_dphi="40.1*mm" nmodule="24" vis="SeeThrough"/> <ring id="1" inner_r="192.2*mm" outer_r="(273.4-0.1)*mm" module_dr="80.3*mm" module_dphi="40.1*mm" nmodule="24" vis="SeeThrough"/>
<ring id="2" inner_r="273.4*mm" outer_r="355*mm" module_dr="80.3*mm" module_dphi="40.1*mm" nmodule="28" vis="SeeThrough"/> <ring id="2" inner_r="273.4*mm" outer_r="355*mm" module_dr="80.3*mm" module_dphi="40.1*mm" nmodule="28" vis="SeeThrough"/>
</layer> </layer>
<layer id="2" z="1000.3*mm" dz="SiliconThickness*2 + SupportThickness" inner_r="160.5*mm" outer_r="565*mm" vis="SeeThrough"> <layer id="2" z="1000.3*mm" inner_r="160.5*mm" outer_r="565*mm" phi0="90*degree" vis="SeeThrough">
<ring id="0" inner_r="160.5*mm" outer_r="(282-0.1)*mm" module_dr="120.5*mm" module_dphi="40.1*mm" nmodule="24" vis="SeeThrough"/> <ring id="0" inner_r="160.5*mm" outer_r="(282-0.1)*mm" module_dr="120.5*mm" module_dphi="40.1*mm" nmodule="24" vis="SeeThrough"/>
<ring id="1" inner_r="282*mm" outer_r="(423.4-0.1)*mm" module_dr="140.6*mm" module_dphi="40.1*mm" nmodule="36" vis="SeeThrough"/> <ring id="1" inner_r="282*mm" outer_r="(423.4-0.1)*mm" module_dr="140.6*mm" module_dphi="40.1*mm" nmodule="36" vis="SeeThrough"/>
<ring id="2" inner_r="423.4*mm" outer_r="565*mm" module_dr="140.6*mm" module_dphi="40.1*mm" nmodule="44" vis="SeeThrough"/> <ring id="2" inner_r="423.4*mm" outer_r="565*mm" module_dr="140.6*mm" module_dphi="40.1*mm" nmodule="44" vis="SeeThrough"/>
</layer> </layer>
<layer id="3" z="1489*mm" dz="SiliconThickness*2 + SupportThickness" inner_r="220.3*mm" outer_r="565*mm" vis="SeeThrough"> <layer id="3" z="1489*mm" inner_r="220.3*mm" outer_r="565*mm" phi0="90*degree" vis="SeeThrough">
<ring id="0" inner_r="220.3*mm" outer_r="(301.6-0.1)*mm" module_dr="80.3*mm" module_dphi="40.1*mm" nmodule="24" vis="SeeThrough"/> <ring id="0" inner_r="220.3*mm" outer_r="(301.6-0.1)*mm" module_dr="80.3*mm" module_dphi="40.1*mm" nmodule="24" vis="SeeThrough"/>
<ring id="1" inner_r="301.6*mm" outer_r="(443.1-0.1)*mm" module_dr="140.6*mm" module_dphi="40.1*mm" nmodule="36" vis="SeeThrough"/> <ring id="1" inner_r="301.6*mm" outer_r="(443.1-0.1)*mm" module_dr="140.6*mm" module_dphi="40.1*mm" nmodule="36" vis="SeeThrough"/>
<ring id="2" inner_r="443.1*mm" outer_r="565*mm" module_dr="120.5*mm" module_dphi="40.1*mm" nmodule="44" vis="SeeThrough"/> <ring id="2" inner_r="443.1*mm" outer_r="565*mm" module_dr="120.5*mm" module_dphi="40.1*mm" nmodule="44" vis="SeeThrough"/>
</layer> </layer>
</layers> </layers>
</detector> </detector>
......
...@@ -867,6 +867,13 @@ ...@@ -867,6 +867,13 @@
<D type="density" value="2" unit="g/cm3"/> <D type="density" value="2" unit="g/cm3"/>
<fraction n="1.0" ref="G4_WATER"/> <fraction n="1.0" ref="G4_WATER"/>
</material> </material>
<material name="GraphiteFoam_OTK">
<D type="density" value="0.113776" unit="g/cm3"/>
<fraction n="1.0" ref="Graphite_ITK"/>
<fraction n="1.0" ref="CF_ITK"/>
</material>
Graphite_ITK
</materials> </materials>
<surfaces> <surfaces>
......
...@@ -35,7 +35,7 @@ ...@@ -35,7 +35,7 @@
<constant name="DetID_SET" value=" 5"/> <constant name="DetID_SET" value=" 5"/>
<constant name="DetID_ETD" value=" 6"/> <constant name="DetID_ETD" value=" 6"/>
<constant name="DetID_ITKBarrel" value=" 2"/> <constant name="DetID_ITKBarrel" value=" 2"/>
<constant name="DetID_ITKEndCap" value=" 3"/> <constant name="DetID_ITKEndcap" value=" 3"/>
<constant name="DetID_OTKBarrel" value=" 5"/> <constant name="DetID_OTKBarrel" value=" 5"/>
<constant name="DetID_OTKEndcap" value=" 6"/> <constant name="DetID_OTKEndcap" value=" 6"/>
...@@ -130,20 +130,25 @@ ...@@ -130,20 +130,25 @@
<constant name="ITKBarrel1_inner_radius" value="235*mm"/> <constant name="ITKBarrel1_inner_radius" value="235*mm"/>
<constant name="ITKBarrel2_inner_radius" value="345*mm"/> <constant name="ITKBarrel2_inner_radius" value="345*mm"/>
<constant name="ITKBarrel3_inner_radius" value="555.6*mm"/> <constant name="ITKBarrel3_inner_radius" value="555.6*mm"/>
<constant name="ITKBarrel1_half_length" value="500.5*mm"/> <constant name="ITKBarrel1_half_length" value="493.3*mm"/>
<constant name="ITKBarrel2_half_length" value="715*mm"/> <constant name="ITKBarrel2_half_length" value="704.8*mm"/>
<constant name="ITKBarrel3_half_length" value="1001*mm"/> <constant name="ITKBarrel3_half_length" value="986.6*mm"/>
<!-- Parameters of time of flight tracker --> <!-- Parameters of time of flight tracker -->
<constant name="OTKBarrel_inner_radius" value="1800*mm"/> <constant name="OTKBarrel_inner_radius" value="1800*mm"/>
<constant name="OTKBarrel_outer_radius" value="1830*mm"/> <constant name="OTKBarrel_outer_radius" value="1830*mm"/>
<!--constant name="OTKBarrel_half_length" value="2940*mm"/--><!--reach Ecal edge, wait mechanical design update-->
<constant name="OTKBarrel_half_length" value="2930*mm"/> <constant name="OTKBarrel_half_length" value="2930*mm"/>
<constant name="OTKBarrelLayer1_half_length" value="OTKBarrel_half_length"/> <constant name="OTKBarrelLayer1_half_length" value="OTKBarrel_half_length"/>
<constant name="OTKBarrelLayer2_half_length" value="OTKBarrel_half_length"/> <constant name="OTKBarrelLayer2_half_length" value="OTKBarrel_half_length"/>
<constant name="OTKBarrel1_inner_radius" value="1805*mm"/> <constant name="OTKBarrel1_inner_radius" value="1805*mm"/>
<constant name="OTKBarrel2_inner_radius" value="1820*mm"/> <constant name="OTKBarrel2_inner_radius" value="1820*mm"/>
<constant name="OTKEndcap_zmin" value="2910*mm"/>
<constant name="OTKEndcap_zmax" value="2930*mm"/>
<constant name="OTKEndcap_outer_radius" value="1820*mm"/>
<constant name="OTKEndcap_inner_radius" value="400*mm"/>
<!-- obselete -->
<constant name="SET_inner_radius" value="1800*mm"/> <constant name="SET_inner_radius" value="1800*mm"/>
<constant name="SiTracker_endcap_barrel_zgap" value="5*mm"/> <constant name="SiTracker_endcap_barrel_zgap" value="5*mm"/>
......
...@@ -30,17 +30,19 @@ ...@@ -30,17 +30,19 @@
<!--preliminary vertex and tracker, to update/--> <!--preliminary vertex and tracker, to update/-->
<!--include ref="../CRD_common_v02/VXD_StaggeredLadder_v02_01.xml"/--> <!--include ref="../CRD_common_v02/VXD_StaggeredLadder_v02_01.xml"/-->
<include ref="../CRD_common_v02/VXD_Composite_v01_02.xml"/> <include ref="../CRD_common_v02/VXD_Composite_v01_02.xml"/>
<include ref="../CRD_common_v02/FTD_SkewRing_v01_07.xml"/> <!--include ref="../CRD_common_v02/FTD_SkewRing_v01_09.xml"/-->
<!--include ref="../CRD_common_v02/SIT_SimplePixel_v01_04.xml"/--> <!--include ref="../CRD_common_v02/SIT_SimplePixel_v01_04.xml"/-->
<!--include ref="../CRD_common_v02/SIT_StaggeredStave_v02.xml"/--> <!--include ref="../CRD_common_v02/SIT_StaggeredStave_v02.xml"/-->
<include ref="../CRD_common_v02/ITK_StaggeredStave_v03_01.xml"/> <include ref="../CRD_common_v02/ITK_StaggeredStave_v03_01.xml"/>
<include ref="../CRD_common_v02/ITK_EndCap_v01.xml"/>
<!--include ref="../CRD_common_v01/TPC_Simple_v10_02.xml"/--> <!--include ref="../CRD_common_v01/TPC_Simple_v10_02.xml"/-->
<!-- use 10 rows clustering version--> <!-- use 10 rows clustering version-->
<include ref="../CRD_common_v02/TPC_ModularEndcap_o1_v02.xml"/> <include ref="../CRD_common_v02/TPC_ModularEndcap_o1_v02.xml"/>
<!--include ref="../CRD_common_v01/SET_SimplePixel_v01_01.xml"/--> <!--include ref="../CRD_common_v01/SET_SimplePixel_v01_01.xml"/-->
<include ref="../CRD_common_v01/OTKBarrel_v01_01.xml"/> <!--include ref="../CRD_common_v01/OTKBarrel_v01_01.xml"/-->
<include ref="../CRD_common_v01/OTKBarrel_v02.xml"/>
<!--include ref="../CRD_common_v01/OTKEndcap_v01_01.xml"/--> <!--include ref="../CRD_common_v01/OTKEndcap_v01_01.xml"/-->
<include ref="../CRD_common_v01/OTKEndcap_v02.xml"/>
<fields> <fields>
<field name="InnerSolenoid" type="solenoid" <field name="InnerSolenoid" type="solenoid"
......
...@@ -31,16 +31,19 @@ ...@@ -31,16 +31,19 @@
<!--preliminary vertex and tracker, to update/--> <!--preliminary vertex and tracker, to update/-->
<!--include ref="../CRD_common_v02/VXD_StaggeredLadder_v02_01.xml"/--> <!--include ref="../CRD_common_v02/VXD_StaggeredLadder_v02_01.xml"/-->
<include ref="../CRD_common_v02/VXD_Composite_v01_02.xml"/> <include ref="../CRD_common_v02/VXD_Composite_v01_02.xml"/>
<include ref="../CRD_common_v02/FTD_SkewRing_v01_07.xml"/> <!--include ref="../CRD_common_v02/FTD_SkewRing_v01_07.xml"/-->
<!--include ref="../CRD_common_v02/SIT_SimplePixel_v01_04.xml"/--> <!--include ref="../CRD_common_v02/SIT_SimplePixel_v01_04.xml"/-->
<!--include ref="../CRD_common_v02/SIT_StaggeredStave_v02.xml"/--> <!--include ref="../CRD_common_v02/SIT_StaggeredStave_v02.xml"/-->
<include ref="../CRD_common_v02/ITK_StaggeredStave_v03_01.xml"/> <include ref="../CRD_common_v02/ITK_StaggeredStave_v03_01.xml"/>
<include ref="../CRD_common_v02/ITK_EndCap_v01.xml"/>
<!--include ref="../CRD_common_v01/TPC_Simple_v10_02.xml"/--> <!--include ref="../CRD_common_v01/TPC_Simple_v10_02.xml"/-->
<!--use 10 rows clustering version/--> <!-- use 10 rows clustering version-->
<include ref="../CRD_common_v02/TPC_ModularEndcap_o1_v02.xml"/> <include ref="../CRD_common_v02/TPC_ModularEndcap_o1_v02.xml"/>
<!--include ref="../CRD_common_v01/SET_SimplePixel_v01_01.xml"/--> <!--include ref="../CRD_common_v01/SET_SimplePixel_v01_01.xml"/-->
<include ref="../CRD_common_v01/OTKBarrel_v01_01.xml"/> <!--include ref="../CRD_common_v01/OTKBarrel_v01_01.xml"/-->
<include ref="../CRD_common_v01/OTKBarrel_v02.xml"/>
<!--include ref="../CRD_common_v01/OTKEndcap_v01_01.xml"/--> <!--include ref="../CRD_common_v01/OTKEndcap_v01_01.xml"/-->
<include ref="../CRD_common_v01/OTKEndcap_v02.xml"/>
<include ref="../CRD_common_v01/Ecal_Crystal_Barrel_v02_02.xml"/> <include ref="../CRD_common_v01/Ecal_Crystal_Barrel_v02_02.xml"/>
<include ref="../CRD_common_v01/Ecal_Crystal_Endcap_v02_01.xml"/> <include ref="../CRD_common_v01/Ecal_Crystal_Endcap_v02_01.xml"/>
...@@ -68,13 +71,14 @@ ...@@ -68,13 +71,14 @@
inner_radius="SolenoidCoil_center_radius" inner_radius="SolenoidCoil_center_radius"
outer_radius="Solenoid_outer_radius"> outer_radius="Solenoid_outer_radius">
</field> </field>
<field name="OuterSolenoid" type="solenoid" <!-- remove anti magnetic field in order to extrapolate to muon detector more easily-->
<!--field name="OuterSolenoid" type="solenoid"
inner_field="0" inner_field="0"
outer_field="Field_outer_nominal_value" outer_field="Field_outer_nominal_value"
zmax="SolenoidCoil_half_length" zmax="SolenoidCoil_half_length"
inner_radius="Solenoid_outer_radius" inner_radius="Solenoid_outer_radius"
outer_radius="Yoke_barrel_inner_radius"> outer_radius="Yoke_barrel_inner_radius">
</field> </field-->
</fields> </fields>
</lccdd> </lccdd>
...@@ -66,6 +66,11 @@ genalg.GenTools = ["GtGunTool"] ...@@ -66,6 +66,11 @@ genalg.GenTools = ["GtGunTool"]
from Configurables import DetSimSvc from Configurables import DetSimSvc
detsimsvc = DetSimSvc("DetSimSvc") detsimsvc = DetSimSvc("DetSimSvc")
from Configurables import Edm4hepWriterAnaElemTool
edm4hep_writer = Edm4hepWriterAnaElemTool("Edm4hepWriterAnaElemTool")
#edm4hep_writer.TrackerCollections = ["VXD", "ITKBarrel", "ITKEndcap", "TPC", "TPCLowPt", "TPCSpacePoint",
# "OTKBarrel", "OTKEndcap", "COIL", "MuonBarrel", "MuonEndcap"]
from Configurables import DetSimAlg from Configurables import DetSimAlg
detsimalg = DetSimAlg("DetSimAlg") detsimalg = DetSimAlg("DetSimAlg")
detsimalg.RandomSeeds = seed detsimalg.RandomSeeds = seed
...@@ -83,7 +88,7 @@ detsimalg.RootDetElem = "WorldDetElemTool" ...@@ -83,7 +88,7 @@ detsimalg.RootDetElem = "WorldDetElemTool"
from Configurables import TimeProjectionChamberSensDetTool from Configurables import TimeProjectionChamberSensDetTool
tpc_sensdettool = TimeProjectionChamberSensDetTool("TimeProjectionChamberSensDetTool") tpc_sensdettool = TimeProjectionChamberSensDetTool("TimeProjectionChamberSensDetTool")
tpc_sensdettool.TypeOption = 1 tpc_sensdettool.TypeOption = 1
tpc_sensdettool.DoHeedSim = True tpc_sensdettool.DoHeedSim = False #True
dedxoption = "TrackHeedSimTool" dedxoption = "TrackHeedSimTool"
tpc_sensdettool.DedxSimTool = dedxoption tpc_sensdettool.DedxSimTool = dedxoption
......
...@@ -50,9 +50,10 @@ podioinput = PodioInput("PodioReader", collections=[ ...@@ -50,9 +50,10 @@ podioinput = PodioInput("PodioReader", collections=[
"MCParticle", "MCParticle",
"VXDCollection", "VXDCollection",
"ITKBarrelCollection", "ITKBarrelCollection",
"ITKEndcapCollection",
"TPCCollection", "TPCCollection",
"OTKBarrelCollection", "OTKBarrelCollection",
"FTDCollection", "OTKEndcapCollection",
"MuonBarrelCollection", "MuonBarrelCollection",
"MuonEndcapCollection" "MuonEndcapCollection"
]) ])
...@@ -65,11 +66,10 @@ podioinput = PodioInput("PodioReader", collections=[ ...@@ -65,11 +66,10 @@ podioinput = PodioInput("PodioReader", collections=[
## Config ## ## Config ##
vxdhitname = "VXDTrackerHits" vxdhitname = "VXDTrackerHits"
sithitname = "ITKBarrelTrackerHits" sithitname = "ITKBarrelTrackerHits"
ftdhitname = "ITKEndcapTrackerHits"
gashitname = "TPCTrackerHits" gashitname = "TPCTrackerHits"
sethitname = "OTKBarrelTrackerHits" sethitname = "OTKBarrelTrackerHits"
setspname = "OTKBarrelSpacePoints" etdhitname = "OTKEndcapTrackerHits"
ftdhitname = "FTDTrackerHits"
ftdspname = "FTDSpacePoints"
from Configurables import SmearDigiTool,SiTrackerDigiAlg from Configurables import SmearDigiTool,SiTrackerDigiAlg
## VXD ## ## VXD ##
...@@ -98,6 +98,19 @@ digiITKB.TrackerHitAssociationCollection = "ITKBarrelTrackerHitAssociation" ...@@ -98,6 +98,19 @@ digiITKB.TrackerHitAssociationCollection = "ITKBarrelTrackerHitAssociation"
digiITKB.DigiTool = "SmearDigiTool/ITKBarrel" digiITKB.DigiTool = "SmearDigiTool/ITKBarrel"
#digiITKB.OutputLevel = DEBUG #digiITKB.OutputLevel = DEBUG
## ITKEndcap ##
itketool = SmearDigiTool("ITKEndcap")
itketool.ResolutionU = [0.008]
itketool.ResolutionV = [0.040]
#itketool.OutputLevel = DEBUG
digiITKE = SiTrackerDigiAlg("ITKEndcapDigi")
digiITKE.SimTrackHitCollection = "ITKEndcapCollection"
digiITKE.TrackerHitCollection = ftdhitname
digiITKE.TrackerHitAssociationCollection = "ITKEndcapTrackerHitAssociation"
digiITKE.DigiTool = "SmearDigiTool/ITKEndcap"
#digiITKE.OutputLevel = DEBUG
## OTKBarrel ## ## OTKBarrel ##
otkbtool = SmearDigiTool("OTKBarrel") otkbtool = SmearDigiTool("OTKBarrel")
otkbtool.ResolutionU = [0.010] otkbtool.ResolutionU = [0.010]
...@@ -111,18 +124,18 @@ digiOTKB.TrackerHitAssociationCollection = "OTKBarrelTrackerHitAssociation" ...@@ -111,18 +124,18 @@ digiOTKB.TrackerHitAssociationCollection = "OTKBarrelTrackerHitAssociation"
digiOTKB.DigiTool = "SmearDigiTool/OTKBarrel" digiOTKB.DigiTool = "SmearDigiTool/OTKBarrel"
#digiOTKB.OutputLevel = DEBUG #digiOTKB.OutputLevel = DEBUG
## FTD ## ## OTKEndcap ##
ftdtool = SmearDigiTool("FTD") otketool = SmearDigiTool("OTKEndcap")
ftdtool.ResolutionU = [0.0072] otketool.ResolutionU = [0.010]
ftdtool.ResolutionV = [0.086] otketool.ResolutionV = [1.000]
#ftdtool.OutputLevel = DEBUG #otketool.OutputLevel = DEBUG
digiFTD = SiTrackerDigiAlg("FTDDigi") digiOTKE = SiTrackerDigiAlg("OTKEndcapDigi")
digiFTD.SimTrackHitCollection = "FTDCollection" digiOTKE.SimTrackHitCollection = "OTKEndcapCollection"
digiFTD.TrackerHitCollection = ftdhitname digiOTKE.TrackerHitCollection = etdhitname
digiFTD.TrackerHitAssociationCollection = "FTDTrackerHitAssociation" digiOTKE.TrackerHitAssociationCollection = "OTKEndcapTrackerHitAssociation"
digiFTD.DigiTool = "SmearDigiTool/FTD" digiOTKE.DigiTool = "SmearDigiTool/OTKEndcap"
#digiFTD.OutputLevel = DEBUG #digiOTKE.OutputLevel = DEBUG
## TPC ## ## TPC ##
from Configurables import TPCDigiAlg from Configurables import TPCDigiAlg
...@@ -195,7 +208,6 @@ tracking.HeaderCol = "EventHeader" ...@@ -195,7 +208,6 @@ tracking.HeaderCol = "EventHeader"
tracking.VTXHitCollection = vxdhitname tracking.VTXHitCollection = vxdhitname
tracking.SITHitCollection = sithitname tracking.SITHitCollection = sithitname
tracking.FTDPixelHitCollection = ftdhitname tracking.FTDPixelHitCollection = ftdhitname
tracking.FTDSpacePointCollection = ftdspname
tracking.SITRawHitCollection = "NotNeedForPixelSIT" tracking.SITRawHitCollection = "NotNeedForPixelSIT"
tracking.FTDRawHitCollection = ftdhitname tracking.FTDRawHitCollection = ftdhitname
tracking.UseSIT = True tracking.UseSIT = True
...@@ -217,7 +229,7 @@ tracking.Chi2WZSeptet = 0.1 ...@@ -217,7 +229,7 @@ tracking.Chi2WZSeptet = 0.1
from Configurables import ForwardTrackingAlg from Configurables import ForwardTrackingAlg
forward = ForwardTrackingAlg("ForwardTracking") forward = ForwardTrackingAlg("ForwardTracking")
forward.FTDPixelHitCollection = ftdhitname forward.FTDPixelHitCollection = ftdhitname
forward.FTDSpacePointCollection = ftdspname #forward.FTDSpacePointCollection = ftdspname
forward.FTDRawHitCollection = ftdhitname forward.FTDRawHitCollection = ftdhitname
forward.Chi2ProbCut = 0.0 forward.Chi2ProbCut = 0.0
forward.HitsPerTrackMin = 3 forward.HitsPerTrackMin = 3
...@@ -232,7 +244,7 @@ forward.CriteriaMax = [30, 1.02, 10, 1.015, 20, 1.3, 1.0, 150, 1.08, 99999999, ...@@ -232,7 +244,7 @@ forward.CriteriaMax = [30, 1.02, 10, 1.015, 20, 1.3, 1.0, 150, 1.08, 99999999,
from Configurables import TrackSubsetAlg from Configurables import TrackSubsetAlg
subset = TrackSubsetAlg("TrackSubset") subset = TrackSubsetAlg("TrackSubset")
subset.TrackInputCollections = ["ForwardTracks", "SiTracks"] subset.TrackInputCollections = ["ForwardTracks", "SiTracks"]
subset.RawTrackerHitCollections = [vxdhitname, sithitname, ftdhitname, ftdspname] subset.RawTrackerHitCollections = [vxdhitname, sithitname, ftdhitname]
subset.TrackSubsetCollection = "SubsetTracks" subset.TrackSubsetCollection = "SubsetTracks"
#subset.FitterTool = "KalTestTool/KalTest111" #subset.FitterTool = "KalTestTool/KalTest111"
#subset.OutputLevel = DEBUG #subset.OutputLevel = DEBUG
...@@ -249,7 +261,8 @@ full.SITTrackerHits = sithitname ...@@ -249,7 +261,8 @@ full.SITTrackerHits = sithitname
full.TPCTrackerHits = gashitname full.TPCTrackerHits = gashitname
full.SETTrackerHits = sethitname full.SETTrackerHits = sethitname
full.FTDPixelTrackerHits = ftdhitname full.FTDPixelTrackerHits = ftdhitname
full.FTDSpacePoints = ftdspname #full.FTDSpacePoints = ftdspname
full.ETDTrackerHits = etdhitname
full.SITRawHits = "NotNeedForPixelSIT" full.SITRawHits = "NotNeedForPixelSIT"
full.SETRawHits = "NotNeedForPixelSET" full.SETRawHits = "NotNeedForPixelSET"
full.FTDRawHits = ftdhitname full.FTDRawHits = ftdhitname
...@@ -259,6 +272,7 @@ full.OutputTracks = "CompleteTracks" # default name ...@@ -259,6 +272,7 @@ full.OutputTracks = "CompleteTracks" # default name
full.FTDHitToTrackDistance = 5. full.FTDHitToTrackDistance = 5.
full.SITHitToTrackDistance = 3. full.SITHitToTrackDistance = 3.
full.SETHitToTrackDistance = 5. full.SETHitToTrackDistance = 5.
full.ETDHitToTrackDistance = 15.
full.MinChi2ProbForSiliconTracks = 0 full.MinChi2ProbForSiliconTracks = 0
full.MaxChi2PerHit = 200 full.MaxChi2PerHit = 200
full.ForceSiTPCMerging = True full.ForceSiTPCMerging = True
...@@ -277,7 +291,8 @@ from Configurables import TrackParticleRelationAlg ...@@ -277,7 +291,8 @@ from Configurables import TrackParticleRelationAlg
tpr = TrackParticleRelationAlg("Track2Particle") tpr = TrackParticleRelationAlg("Track2Particle")
tpr.MCParticleCollection = "MCParticle" tpr.MCParticleCollection = "MCParticle"
tpr.TrackList = ["CompleteTracks"] tpr.TrackList = ["CompleteTracks"]
tpr.TrackerAssociationList = ["VXDTrackerHitAssociation", "ITKBarrelTrackerHitAssociation", "OTKBarrelTrackerHitAssociation", "FTDTrackerHitAssociation"] tpr.TrackerAssociationList = ["VXDTrackerHitAssociation", "ITKBarrelTrackerHitAssociation", "ITKEndcapTrackerHitAssociation",
"OTKBarrelTrackerHitAssociation", "OTKEndcapTrackerHitAssociation"]
#tpr.OutputLevel = DEBUG #tpr.OutputLevel = DEBUG
...@@ -285,7 +300,8 @@ from Configurables import TrueMuonTagAlg ...@@ -285,7 +300,8 @@ from Configurables import TrueMuonTagAlg
tmt = TrueMuonTagAlg("TrueMuonTag") tmt = TrueMuonTagAlg("TrueMuonTag")
tmt.MCParticleCollection = "MCParticle" tmt.MCParticleCollection = "MCParticle"
tmt.TrackList = ["CompleteTracks"] tmt.TrackList = ["CompleteTracks"]
tmt.TrackerAssociationList = ["VXDTrackerHitAssociation", "ITKBarrelTrackerHitAssociation", "OTKBarrelTrackerHitAssociation", "FTDTrackerHitAssociation", "TPCTrackerHitAss"] tmt.TrackerAssociationList = ["VXDTrackerHitAssociation", "ITKBarrelTrackerHitAssociation", "ITKEndcapTrackerHitAssociation",
"OTKBarrelTrackerHitAssociation", "OTKEndcapTrackerHitAssociation", "TPCTrackerHitAss"]
tmt.MuonTagEfficiency = 0.95 # muon true tag efficiency, default is 1.0 (100%) tmt.MuonTagEfficiency = 0.95 # muon true tag efficiency, default is 1.0 (100%)
tmt.MuonDetTanTheta = 1.2 # muon det barrel/endcap separation tan(theta) tmt.MuonDetTanTheta = 1.2 # muon det barrel/endcap separation tan(theta)
#tmt.OutputLevel = DEBUG #tmt.OutputLevel = DEBUG
...@@ -299,7 +315,7 @@ out.outputCommands = ["keep *"] ...@@ -299,7 +315,7 @@ out.outputCommands = ["keep *"]
# ApplicationMgr # ApplicationMgr
from Configurables import ApplicationMgr from Configurables import ApplicationMgr
mgr = ApplicationMgr( mgr = ApplicationMgr(
TopAlg = [podioinput, digiVXD, digiITKB, digiOTKB, digiFTD, digiTPC, digiMuon, tracking, forward, subset, clupatra, full, tpr, tpc_dndx, tof, tmt, out], TopAlg = [podioinput, digiVXD, digiITKB, digiITKE, digiOTKB, digiOTKE, digiTPC, digiMuon, tracking, clupatra, full, tpr, tpc_dndx, tof, tmt, out],
EvtSel = 'NONE', EvtSel = 'NONE',
EvtMax = 50, EvtMax = 50,
ExtSvc = [rndmengine, rndmgensvc, dsvc, evtseeder, geosvc, gearsvc, tracksystemsvc, pidsvc], ExtSvc = [rndmengine, rndmgensvc, dsvc, evtseeder, geosvc, gearsvc, tracksystemsvc, pidsvc],
......
...@@ -64,6 +64,11 @@ genalg.GenTools = ["GtGunTool"] ...@@ -64,6 +64,11 @@ genalg.GenTools = ["GtGunTool"]
from Configurables import DetSimSvc from Configurables import DetSimSvc
detsimsvc = DetSimSvc("DetSimSvc") detsimsvc = DetSimSvc("DetSimSvc")
from Configurables import Edm4hepWriterAnaElemTool
edm4hep_writer = Edm4hepWriterAnaElemTool("Edm4hepWriterAnaElemTool")
edm4hep_writer.TrackerCollections = ["VXD", "SIT", "FTD", "TPC", "TPCLowPt", "TPCSpacePoint",
"SET", "COIL", "MuonBarrel", "MuonEndcap"]
from Configurables import DetSimAlg from Configurables import DetSimAlg
detsimalg = DetSimAlg("DetSimAlg") detsimalg = DetSimAlg("DetSimAlg")
detsimalg.RandomSeeds = seed detsimalg.RandomSeeds = seed
......
...@@ -208,32 +208,32 @@ static dd4hep::Ref_t create_detector(dd4hep::Detector& theDetector, ...@@ -208,32 +208,32 @@ static dd4hep::Ref_t create_detector(dd4hep::Detector& theDetector,
// ### Print Volume ### // ### Print Volume ###
// #################### // ####################
std::cout << "dim_x1" << " : " << dim_x1*2 << std::endl; //std::cout << "dim_x1" << " : " << dim_x1*2 << std::endl;
std::cout << "dim_x2" << " : " << dim_x2*2 << std::endl; //std::cout << "dim_x2" << " : " << dim_x2*2 << std::endl;
std::cout << "dim_x3" << " : " << dim_x3*2 << std::endl; //std::cout << "dim_x3" << " : " << dim_x3*2 << std::endl;
std::cout << "dim_x4" << " : " << dim_x4*2 << std::endl; //std::cout << "dim_x4" << " : " << dim_x4*2 << std::endl;
std::cout << "depth_longitudinal_p" << " : " << depth_longitudinal_p << std::endl; //std::cout << "depth_longitudinal_p" << " : " << depth_longitudinal_p << std::endl;
std::cout << "depth_longitudinal_n" << " : " << depth_longitudinal_n << std::endl; //std::cout << "depth_longitudinal_n" << " : " << depth_longitudinal_n << std::endl;
std::cout << "radius outer" << " : " << sqrt((radius_inner+depth_longitudinal_n)*(radius_inner+depth_longitudinal_n)+dim_x4*dim_x4) << std::endl; //std::cout << "radius outer" << " : " << sqrt((radius_inner+depth_longitudinal_n)*(radius_inner+depth_longitudinal_n)+dim_x4*dim_x4) << std::endl;
std::cout << "radius outer" << " : " << sqrt((radius_inner+height_layer1+depth_longitudinal_p)*(radius_inner+height_layer1+depth_longitudinal_p)+dim_x2*dim_x2) << std::endl; //std::cout << "radius outer" << " : " << sqrt((radius_inner+height_layer1+depth_longitudinal_p)*(radius_inner+height_layer1+depth_longitudinal_p)+dim_x2*dim_x2) << std::endl;
std::cout << "size_crystal" << " : " << size_crystal << std::endl; //std::cout << "size_crystal" << " : " << size_crystal << std::endl;
std::cout << "size_posi_crystal" << " : " << size_posi_crystal << std::endl; //std::cout << "size_posi_crystal" << " : " << size_posi_crystal << std::endl;
std::cout << "dead_material_p" << " : " << dead_material_p << std::endl; //std::cout << "dead_material_p" << " : " << dead_material_p << std::endl;
std::cout << "dead_material_plus" << " : " << size_posi_crystal*tan(alice_angle) << std::endl; //std::cout << "dead_material_plus" << " : " << size_posi_crystal*tan(alice_angle) << std::endl;
std::cout << "dead_material_n" << " : " << dead_material_n << std::endl; //std::cout << "dead_material_n" << " : " << dead_material_n << std::endl;
std::cout << "dead_material_minus" << " : " << size_crystal/tan(copper_angle) << std::endl; //std::cout << "dead_material_minus" << " : " << size_crystal/tan(copper_angle) << std::endl;
std::cout << "area_1" << " : " << dead_material_p*2*size_posi_crystal << std::endl; //std::cout << "area_1" << " : " << dead_material_p*2*size_posi_crystal << std::endl;
std::cout << "area_2" << " : " << (dead_material_p+dead_material_p+size_posi_crystal*tan(alice_angle))*size_posi_crystal << std::endl; //std::cout << "area_2" << " : " << (dead_material_p+dead_material_p+size_posi_crystal*tan(alice_angle))*size_posi_crystal << std::endl;
std::cout << "area_3" << " : " << (dead_material_p+dead_material_p+2*size_posi_crystal*tan(alice_angle))*size_posi_crystal << std::endl; //std::cout << "area_3" << " : " << (dead_material_p+dead_material_p+2*size_posi_crystal*tan(alice_angle))*size_posi_crystal << std::endl;
std::cout << "area_4" << " : " << dead_material_n*2*size_crystal << std::endl; //std::cout << "area_4" << " : " << dead_material_n*2*size_crystal << std::endl;
std::cout << "area_5" << " : " << (dead_material_n+dead_material_n+size_crystal/tan(copper_angle))*size_crystal << std::endl; //std::cout << "area_5" << " : " << (dead_material_n+dead_material_n+size_crystal/tan(copper_angle))*size_crystal << std::endl;
std::cout << "area_6" << " : " << (dead_material_n+dead_material_n+2*size_crystal/tan(copper_angle))*size_crystal << std::endl; //std::cout << "area_6" << " : " << (dead_material_n+dead_material_n+2*size_crystal/tan(copper_angle))*size_crystal << std::endl;
double area_posi = (2*dim_x1+2*dim_x2)*depth_longitudinal_p/2; double area_posi = (2*dim_x1+2*dim_x2)*depth_longitudinal_p/2;
double area_nega = (2*dim_x3+2*dim_x4)*depth_longitudinal_n/2; double area_nega = (2*dim_x3+2*dim_x4)*depth_longitudinal_n/2;
...@@ -246,12 +246,12 @@ static dd4hep::Ref_t create_detector(dd4hep::Detector& theDetector, ...@@ -246,12 +246,12 @@ static dd4hep::Ref_t create_detector(dd4hep::Detector& theDetector,
double area_5 = (dead_material_n+dead_material_n+size_crystal/tan(copper_angle))*size_crystal; double area_5 = (dead_material_n+dead_material_n+size_crystal/tan(copper_angle))*size_crystal;
double area_6 = (dead_material_n+dead_material_n+2*size_crystal/tan(copper_angle))*size_crystal; double area_6 = (dead_material_n+dead_material_n+2*size_crystal/tan(copper_angle))*size_crystal;
std::cout << "area_1_ratio" << " : " << (area_1+area_4)*2*14/(area_posi+area_nega) << std::endl; //std::cout << "area_1_ratio" << " : " << (area_1+area_4)*2*14/(area_posi+area_nega) << std::endl;
std::cout << "area_2_ratio" << " : " << (area_2+area_5)*2*14/(area_posi+area_nega) << std::endl; //std::cout << "area_2_ratio" << " : " << (area_2+area_5)*2*14/(area_posi+area_nega) << std::endl;
std::cout << "area_3_ratio" << " : " << (area_3+area_6)*2*14/(area_posi+area_nega) << std::endl; //std::cout << "area_3_ratio" << " : " << (area_3+area_6)*2*14/(area_posi+area_nega) << std::endl;
std::cout << "pZ" << " : " << pZ << std::endl; //std::cout << "pZ" << " : " << pZ << std::endl;
std::cout << "Nbar_phi" << " : " << Nbar_phi << std::endl; //std::cout << "Nbar_phi" << " : " << Nbar_phi << std::endl;
// #################################### // ####################################
// ### placement of all the volumes ### // ### placement of all the volumes ###
...@@ -408,7 +408,7 @@ static dd4hep::Ref_t create_detector(dd4hep::Detector& theDetector, ...@@ -408,7 +408,7 @@ static dd4hep::Ref_t create_detector(dd4hep::Detector& theDetector,
Tot_Phi = Tot_Phi + Nbar_phi; Tot_Phi = Tot_Phi + Nbar_phi;
Tot_length_Phi_posi = Tot_length_Phi_posi + (length_posi-photoelectronic-crystal_wrapping)*2*(size_posi_crystal*0.5-crystal_wrapping)*2*(length_crystal_z-crystal_wrapping*2*Nbar_phi); Tot_length_Phi_posi = Tot_length_Phi_posi + (length_posi-photoelectronic-crystal_wrapping)*2*(size_posi_crystal*0.5-crystal_wrapping)*2*(length_crystal_z-crystal_wrapping*2*Nbar_phi);
cout<<"length_crystal_phi "<<(dim_x1 - dead_material_l-photoelectronic-crystal_wrapping)*2 <<" "<<size_posi_crystal*tan(alice_angle)*2<<endl; //cout<<"length_crystal_phi "<<(dim_x1 - dead_material_l-photoelectronic-crystal_wrapping)*2 <<" "<<size_posi_crystal*tan(alice_angle)*2<<endl;
dd4hep::Volume sipm_s0("sipm_s0", dd4hep::Box(photoelectronic/2, photoelectronic_width/2, photoelectronic_width/2), mat_Si); dd4hep::Volume sipm_s0("sipm_s0", dd4hep::Box(photoelectronic/2, photoelectronic_width/2, photoelectronic_width/2), mat_Si);
sipm_s0.setVisAttributes(theDetector, "BlueVis"); sipm_s0.setVisAttributes(theDetector, "BlueVis");
...@@ -568,8 +568,8 @@ static dd4hep::Ref_t create_detector(dd4hep::Detector& theDetector, ...@@ -568,8 +568,8 @@ static dd4hep::Ref_t create_detector(dd4hep::Detector& theDetector,
Tot_Z = Tot_Z + 2*Nbar_z+1; Tot_Z = Tot_Z + 2*Nbar_z+1;
Tot_length_Z_posi = Tot_length_Z_posi + (2*length_posi-(2*Nbar_z+1)*crystal_wrapping*2)*(length_crystal_z/2-photoelectronic-crystal_wrapping)*2*(size_posi_crystal*0.5-crystal_wrapping)*2; Tot_length_Z_posi = Tot_length_Z_posi + (2*length_posi-(2*Nbar_z+1)*crystal_wrapping*2)*(length_crystal_z/2-photoelectronic-crystal_wrapping)*2*(size_posi_crystal*0.5-crystal_wrapping)*2;
cout<<"layer: "<< ilayer+1 <<" Nbar_z: "<< 2*Nbar_z+1 <<endl; //cout<<"layer: "<< ilayer+1 <<" Nbar_z: "<< 2*Nbar_z+1 <<endl;
cout<<"length_crystal_z "<<(length_crystal_z/2-photoelectronic-crystal_wrapping)*2 <<endl; //cout<<"length_crystal_z "<<(length_crystal_z/2-photoelectronic-crystal_wrapping)*2 <<endl;
dd4hep::Volume sipm_s0("sipm_s0", dd4hep::Box(photoelectronic_width/2, photoelectronic/2, photoelectronic_width/2), mat_Si); dd4hep::Volume sipm_s0("sipm_s0", dd4hep::Box(photoelectronic_width/2, photoelectronic/2, photoelectronic_width/2), mat_Si);
sipm_s0.setVisAttributes(theDetector, "BlueVis"); sipm_s0.setVisAttributes(theDetector, "BlueVis");
...@@ -723,7 +723,7 @@ static dd4hep::Ref_t create_detector(dd4hep::Detector& theDetector, ...@@ -723,7 +723,7 @@ static dd4hep::Ref_t create_detector(dd4hep::Detector& theDetector,
dd4hep::PlacedVolume plv = subtrap_positive_vol.placeVolume(block, Position(0, 0, 0.5*size_posi_crystal+ilayer*size_posi_crystal-dim_z_p)); dd4hep::PlacedVolume plv = subtrap_positive_vol.placeVolume(block, Position(0, 0, 0.5*size_posi_crystal+ilayer*size_posi_crystal-dim_z_p));
plv.addPhysVolID("dlayer", floor(ilayer/2+1)); plv.addPhysVolID("dlayer", floor(ilayer/2+1));
cout<<"*****layer: "<<floor(ilayer/2+1)<<endl; //cout<<"*****layer: "<<floor(ilayer/2+1)<<endl;
sd.setPlacement(plv); sd.setPlacement(plv);
} }
...@@ -861,7 +861,7 @@ static dd4hep::Ref_t create_detector(dd4hep::Detector& theDetector, ...@@ -861,7 +861,7 @@ static dd4hep::Ref_t create_detector(dd4hep::Detector& theDetector,
Tot_Phi = Tot_Phi + Nbar_phi; Tot_Phi = Tot_Phi + Nbar_phi;
Tot_length_Phi_nega = Tot_length_Phi_nega + (length_nega-photoelectronic-crystal_wrapping)*2*(length_crystal_z-Nbar_phi*crystal_wrapping*2)*(size_crystal*0.5-crystal_wrapping)*2; Tot_length_Phi_nega = Tot_length_Phi_nega + (length_nega-photoelectronic-crystal_wrapping)*2*(length_crystal_z-Nbar_phi*crystal_wrapping*2)*(size_crystal*0.5-crystal_wrapping)*2;
cout<<"length_crystal_phi "<<(dim_x3 - dead_material_r-photoelectronic-crystal_wrapping)*2 <<" "<<size_crystal/tan(copper_angle)*2<<endl; //cout<<"length_crystal_phi "<<(dim_x3 - dead_material_r-photoelectronic-crystal_wrapping)*2 <<" "<<size_crystal/tan(copper_angle)*2<<endl;
dd4hep::Volume sipm_s0("sipm_s0", dd4hep::Box(photoelectronic/2, photoelectronic_width/2, photoelectronic_width/2), mat_Si); dd4hep::Volume sipm_s0("sipm_s0", dd4hep::Box(photoelectronic/2, photoelectronic_width/2, photoelectronic_width/2), mat_Si);
sipm_s0.setVisAttributes(theDetector, "BlueVis"); sipm_s0.setVisAttributes(theDetector, "BlueVis");
...@@ -1022,8 +1022,8 @@ static dd4hep::Ref_t create_detector(dd4hep::Detector& theDetector, ...@@ -1022,8 +1022,8 @@ static dd4hep::Ref_t create_detector(dd4hep::Detector& theDetector,
Tot_Z = Tot_Z + 2*Nbar_z+1; Tot_Z = Tot_Z + 2*Nbar_z+1;
Tot_length_Z_nega = Tot_length_Z_nega + (2*length_nega-(2*Nbar_z+1)*crystal_wrapping*2)*(size_crystal*0.5-crystal_wrapping)*2*(length_crystal_z/2-photoelectronic-crystal_wrapping)*2; Tot_length_Z_nega = Tot_length_Z_nega + (2*length_nega-(2*Nbar_z+1)*crystal_wrapping*2)*(size_crystal*0.5-crystal_wrapping)*2*(length_crystal_z/2-photoelectronic-crystal_wrapping)*2;
cout<<"layer: "<< ilayer+1 <<" Nbar_z: "<< 2*Nbar_z+1 <<endl; //cout<<"layer: "<< ilayer+1 <<" Nbar_z: "<< 2*Nbar_z+1 <<endl;
cout<<"length_crystal_z "<<(length_crystal_z/2-photoelectronic-crystal_wrapping)*2 <<endl; //cout<<"length_crystal_z "<<(length_crystal_z/2-photoelectronic-crystal_wrapping)*2 <<endl;
dd4hep::Volume sipm_s0("sipm_s0", dd4hep::Box(photoelectronic_width/2, photoelectronic/2, photoelectronic_width/2), mat_Si); dd4hep::Volume sipm_s0("sipm_s0", dd4hep::Box(photoelectronic_width/2, photoelectronic/2, photoelectronic_width/2), mat_Si);
sipm_s0.setVisAttributes(theDetector, "BlueVis"); sipm_s0.setVisAttributes(theDetector, "BlueVis");
...@@ -1179,13 +1179,13 @@ static dd4hep::Ref_t create_detector(dd4hep::Detector& theDetector, ...@@ -1179,13 +1179,13 @@ static dd4hep::Ref_t create_detector(dd4hep::Detector& theDetector,
dd4hep::PlacedVolume plv = subtrap_negative_vol.placeVolume(block, Position(0, 0, 0.5*size_crystal+ilayer*size_crystal-dim_z_n)); dd4hep::PlacedVolume plv = subtrap_negative_vol.placeVolume(block, Position(0, 0, 0.5*size_crystal+ilayer*size_crystal-dim_z_n));
plv.addPhysVolID("dlayer", floor(ilayer/2+1)); plv.addPhysVolID("dlayer", floor(ilayer/2+1));
cout<<"*****layer: "<<floor(ilayer/2+1)<<endl; //cout<<"*****layer: "<<floor(ilayer/2+1)<<endl;
sd.setPlacement(plv); sd.setPlacement(plv);
} }
cout<<"Tot_Phi: "<<Tot_Phi<<" Tot_Z: "<<Tot_Z<<endl; //cout<<"Tot_Phi: "<<Tot_Phi<<" Tot_Z: "<<Tot_Z<<endl;
cout<<"Tot_Phi: "<<Tot_Phi*15*16<<" Tot_Z: "<<Tot_Z*15*16<<endl; //cout<<"Tot_Phi: "<<Tot_Phi*15*16<<" Tot_Z: "<<Tot_Z*15*16<<endl;
// ########################### // ###########################
// ### Z modules placement ### // ### Z modules placement ###
......
...@@ -179,34 +179,34 @@ static dd4hep::Ref_t create_detector(dd4hep::Detector& theDetector, ...@@ -179,34 +179,34 @@ static dd4hep::Ref_t create_detector(dd4hep::Detector& theDetector,
// ### Print Volume ### // ### Print Volume ###
// #################### // ####################
std::cout << "dim_x1" << " : " << dim_x1*2 << std::endl; //std::cout << "dim_x1" << " : " << dim_x1*2 << std::endl;
std::cout << "dim_x2" << " : " << dim_x2*2 << std::endl; //std::cout << "dim_x2" << " : " << dim_x2*2 << std::endl;
std::cout << "dim_x3" << " : " << dim_x3*2 << std::endl; //std::cout << "dim_x3" << " : " << dim_x3*2 << std::endl;
std::cout << "dim_x4" << " : " << dim_x4*2 << std::endl; //std::cout << "dim_x4" << " : " << dim_x4*2 << std::endl;
std::cout << "depth_longitudinal_p" << " : " << depth_longitudinal_p << std::endl; //std::cout << "depth_longitudinal_p" << " : " << depth_longitudinal_p << std::endl;
std::cout << "depth_longitudinal_n" << " : " << depth_longitudinal_n << std::endl; //std::cout << "depth_longitudinal_n" << " : " << depth_longitudinal_n << std::endl;
std::cout << "radius outer" << " : " << sqrt((radius_inner+depth_longitudinal_n)*(radius_inner+depth_longitudinal_n)+dim_x4*dim_x4) << std::endl; //std::cout << "radius outer" << " : " << sqrt((radius_inner+depth_longitudinal_n)*(radius_inner+depth_longitudinal_n)+dim_x4*dim_x4) << std::endl;
std::cout << "radius outer" << " : " << sqrt((radius_inner+height_layer1+depth_longitudinal_p)*(radius_inner+height_layer1+depth_longitudinal_p)+dim_x2*dim_x2) << std::endl; //std::cout << "radius outer" << " : " << sqrt((radius_inner+height_layer1+depth_longitudinal_p)*(radius_inner+height_layer1+depth_longitudinal_p)+dim_x2*dim_x2) << std::endl;
std::cout << "size_crystal" << " : " << size_crystal << std::endl; //std::cout << "size_crystal" << " : " << size_crystal << std::endl;
std::cout << "size_posi_crystal" << " : " << size_posi_crystal << std::endl; //std::cout << "size_posi_crystal" << " : " << size_posi_crystal << std::endl;
std::cout << "pZ" << " : " << pZ << std::endl; //std::cout << "pZ" << " : " << pZ << std::endl;
std::cout << "Nbar_phi" << " : " << Nbar_phi << std::endl; //std::cout << "Nbar_phi" << " : " << Nbar_phi << std::endl;
std::cout << "area_1" << " : " << dead_material_p*2*size_posi_crystal << std::endl; //std::cout << "area_1" << " : " << dead_material_p*2*size_posi_crystal << std::endl;
std::cout << "area_2" << " : " << (dead_material_p+dead_material_p+size_posi_crystal*tan(alice_angle))*size_posi_crystal << std::endl; //std::cout << "area_2" << " : " << (dead_material_p+dead_material_p+size_posi_crystal*tan(alice_angle))*size_posi_crystal << std::endl;
std::cout << "area_3" << " : " << (dead_material_p+dead_material_p+2*size_posi_crystal*tan(alice_angle))*size_posi_crystal << std::endl; //std::cout << "area_3" << " : " << (dead_material_p+dead_material_p+2*size_posi_crystal*tan(alice_angle))*size_posi_crystal << std::endl;
std::cout << "area_4" << " : " << dead_material_n*2*size_crystal << std::endl; //std::cout << "area_4" << " : " << dead_material_n*2*size_crystal << std::endl;
std::cout << "area_5" << " : " << (dead_material_n+dead_material_n+size_crystal/tan(copper_angle))*size_crystal << std::endl; //std::cout << "area_5" << " : " << (dead_material_n+dead_material_n+size_crystal/tan(copper_angle))*size_crystal << std::endl;
std::cout << "area_6" << " : " << (dead_material_n+dead_material_n+2*size_crystal/tan(copper_angle))*size_crystal << std::endl; //std::cout << "area_6" << " : " << (dead_material_n+dead_material_n+2*size_crystal/tan(copper_angle))*size_crystal << std::endl;
//
std::cout << "total volume" << " : " << //std::cout << "total volume" << " : " <<
( dim_x1*2 + (dim_x1+Nlayers*size_crystal*tan(alice_angle))*2 ) * Nlayers*size_crystal /2 * pZ + //( dim_x1*2 + (dim_x1+Nlayers*size_crystal*tan(alice_angle))*2 ) * Nlayers*size_crystal /2 * pZ +
( dim_x3*2 + (dim_x3-Nlayers*size_posi_crystal/tan(copper_angle))*2 ) * Nlayers*size_posi_crystal /2 * pZ //( dim_x3*2 + (dim_x3-Nlayers*size_posi_crystal/tan(copper_angle))*2 ) * Nlayers*size_posi_crystal /2 * pZ
<< std::endl; //<< std::endl;
// #################################### // ####################################
// ### placement of all the volumes ### // ### placement of all the volumes ###
...@@ -239,8 +239,8 @@ static dd4hep::Ref_t create_detector(dd4hep::Detector& theDetector, ...@@ -239,8 +239,8 @@ static dd4hep::Ref_t create_detector(dd4hep::Detector& theDetector,
for(int ilayer=0; ilayer<Nlayers; ilayer=ilayer+1){ for(int ilayer=0; ilayer<Nlayers; ilayer=ilayer+1){
length_posi = dim_x1 - dead_material_l + ilayer*size_posi_crystal*tan(alice_angle); length_posi = dim_x1 - dead_material_l + ilayer*size_posi_crystal*tan(alice_angle);
cout<< "layer: "<< ilayer+1 << endl; //cout<< "layer: "<< ilayer+1 << endl;
cout<< " length_posi: "<< length_posi*2 << endl; //cout<< " length_posi: "<< length_posi*2 << endl;
//Trapezoid in layer //Trapezoid in layer
dd4hep::Volume block("block", dd4hep::Trapezoid( dim_x1+ilayer*size_posi_crystal*tan(alice_angle), dim_x1+(ilayer+1)*size_posi_crystal*tan(alice_angle), pZ/2, pZ/2, size_posi_crystal/2), air); dd4hep::Volume block("block", dd4hep::Trapezoid( dim_x1+ilayer*size_posi_crystal*tan(alice_angle), dim_x1+(ilayer+1)*size_posi_crystal*tan(alice_angle), pZ/2, pZ/2, size_posi_crystal/2), air);
...@@ -335,7 +335,7 @@ static dd4hep::Ref_t create_detector(dd4hep::Detector& theDetector, ...@@ -335,7 +335,7 @@ static dd4hep::Ref_t create_detector(dd4hep::Detector& theDetector,
// ################################### // ###################################
if(ilayer%2==0){ if(ilayer%2==0){
cout<< " Nbar_phi: " << Nbar_phi << endl; //cout<< " Nbar_phi: " << Nbar_phi << endl;
dd4hep::Volume sipm_s0("sipm_s0", dd4hep::Box(photoelectronic/2, photoelectronic_width/2, photoelectronic_width/2), mat_Si); dd4hep::Volume sipm_s0("sipm_s0", dd4hep::Box(photoelectronic/2, photoelectronic_width/2, photoelectronic_width/2), mat_Si);
sipm_s0.setVisAttributes(theDetector, "BlueVis"); sipm_s0.setVisAttributes(theDetector, "BlueVis");
...@@ -556,7 +556,7 @@ static dd4hep::Ref_t create_detector(dd4hep::Detector& theDetector, ...@@ -556,7 +556,7 @@ static dd4hep::Ref_t create_detector(dd4hep::Detector& theDetector,
Nbar_z = int((length_posi-0.5*width_crystal)/width_crystal); Nbar_z = int((length_posi-0.5*width_crystal)/width_crystal);
last_bar = length_posi-0.5*width_crystal - (Nbar_z-1)*width_crystal; last_bar = length_posi-0.5*width_crystal - (Nbar_z-1)*width_crystal;
cout<< " Nbar_z: " << 2*Nbar_z+1 << endl; //cout<< " Nbar_z: " << 2*Nbar_z+1 << endl;
dd4hep::Volume sipm_s0("sipm_s0", dd4hep::Box(photoelectronic_width/2, photoelectronic/2, photoelectronic_width/2), mat_Si); dd4hep::Volume sipm_s0("sipm_s0", dd4hep::Box(photoelectronic_width/2, photoelectronic/2, photoelectronic_width/2), mat_Si);
sipm_s0.setVisAttributes(theDetector, "BlueVis"); sipm_s0.setVisAttributes(theDetector, "BlueVis");
...@@ -792,8 +792,8 @@ static dd4hep::Ref_t create_detector(dd4hep::Detector& theDetector, ...@@ -792,8 +792,8 @@ static dd4hep::Ref_t create_detector(dd4hep::Detector& theDetector,
length_nega = dim_x3 - dead_material_r - (ilayer+1)*size_crystal/tan(copper_angle); length_nega = dim_x3 - dead_material_r - (ilayer+1)*size_crystal/tan(copper_angle);
cout << "layer: " << ilayer+1 << endl; //cout << "layer: " << ilayer+1 << endl;
cout << " length_nega: " << length_nega*2 << endl; //cout << " length_nega: " << length_nega*2 << endl;
//Trapezoid in layer //Trapezoid in layer
...@@ -889,7 +889,7 @@ static dd4hep::Ref_t create_detector(dd4hep::Detector& theDetector, ...@@ -889,7 +889,7 @@ static dd4hep::Ref_t create_detector(dd4hep::Detector& theDetector,
if(ilayer%2==0){ if(ilayer%2==0){
cout<< " Nbar_phi: " << Nbar_phi << endl; //cout<< " Nbar_phi: " << Nbar_phi << endl;
dd4hep::Volume sipm_s0("sipm_s0", dd4hep::Box(photoelectronic/2, photoelectronic_width/2, photoelectronic_width/2), mat_Si); dd4hep::Volume sipm_s0("sipm_s0", dd4hep::Box(photoelectronic/2, photoelectronic_width/2, photoelectronic_width/2), mat_Si);
sipm_s0.setVisAttributes(theDetector, "BlueVis"); sipm_s0.setVisAttributes(theDetector, "BlueVis");
...@@ -1109,7 +1109,7 @@ static dd4hep::Ref_t create_detector(dd4hep::Detector& theDetector, ...@@ -1109,7 +1109,7 @@ static dd4hep::Ref_t create_detector(dd4hep::Detector& theDetector,
Nbar_z = int((length_nega-0.5*width_crystal)/width_crystal); Nbar_z = int((length_nega-0.5*width_crystal)/width_crystal);
last_bar = length_nega-0.5*width_crystal - (Nbar_z-1)*width_crystal; last_bar = length_nega-0.5*width_crystal - (Nbar_z-1)*width_crystal;
cout << " Nbar_z: " << 2*Nbar_z+1 << endl; //cout << " Nbar_z: " << 2*Nbar_z+1 << endl;
dd4hep::Volume sipm_s0("sipm_s0", dd4hep::Box(photoelectronic_width/2, photoelectronic/2, photoelectronic_width/2), mat_Si); dd4hep::Volume sipm_s0("sipm_s0", dd4hep::Box(photoelectronic_width/2, photoelectronic/2, photoelectronic_width/2), mat_Si);
sipm_s0.setVisAttributes(theDetector, "BlueVis"); sipm_s0.setVisAttributes(theDetector, "BlueVis");
...@@ -1332,8 +1332,8 @@ static dd4hep::Ref_t create_detector(dd4hep::Detector& theDetector, ...@@ -1332,8 +1332,8 @@ static dd4hep::Ref_t create_detector(dd4hep::Detector& theDetector,
sd.setPlacement(plv); sd.setPlacement(plv);
} }
cout<<"positive volume "<< positive_volume<<endl; //cout<<"positive volume "<< positive_volume<<endl;
cout<<"negative volume "<< negative_volume<<endl; //cout<<"negative volume "<< negative_volume<<endl;
// ########################### // ###########################
// ### Z modules placement ### // ### Z modules placement ###
......
...@@ -171,18 +171,18 @@ static Ref_t create_detector(Detector& theDetector, xml_h element, SensitiveDete ...@@ -171,18 +171,18 @@ static Ref_t create_detector(Detector& theDetector, xml_h element, SensitiveDete
} }
std::cout << "module_type: " << module_type << std::endl; //std::cout << "module_type: " << module_type << std::endl;
std::cout << "module_number: " << module_number << std::endl; //std::cout << "module_number: " << module_number << std::endl;
std::cout << "dim_x: " << dim_x << std::endl; //std::cout << "dim_x: " << dim_x << std::endl;
std::cout << "dim_x1: " << dim_x1 << std::endl; //std::cout << "dim_x1: " << dim_x1 << std::endl;
std::cout << "dim_x2: " << dim_x2 << std::endl; //std::cout << "dim_x2: " << dim_x2 << std::endl;
std::cout << "dim_y: " << dim_y << std::endl; //std::cout << "dim_y: " << dim_y << std::endl;
std::cout << "dim_y1: " << dim_y1 << std::endl; //std::cout << "dim_y1: " << dim_y1 << std::endl;
std::cout << "dim_y2: " << dim_y2 << std::endl; //std::cout << "dim_y2: " << dim_y2 << std::endl;
std::cout << "dim_z: " << dim_z << std::endl; //std::cout << "dim_z: " << dim_z << std::endl;
std::cout << "pos_x: " << pos_x << std::endl; //std::cout << "pos_x: " << pos_x << std::endl;
std::cout << "pos_y: " << pos_y << std::endl; //std::cout << "pos_y: " << pos_y << std::endl;
std::cout << "pos_z: " << pos_z << std::endl; //std::cout << "pos_z: " << pos_z << std::endl;
Box EndcapModule(box_half_x,box_half_y,box_half_z); Box EndcapModule(box_half_x,box_half_y,box_half_z);
...@@ -498,8 +498,8 @@ static Ref_t create_detector(Detector& theDetector, xml_h element, SensitiveDete ...@@ -498,8 +498,8 @@ static Ref_t create_detector(Detector& theDetector, xml_h element, SensitiveDete
} }
} }
std::cout << "N_bar: " << N_bar << std::endl; //std::cout << "N_bar: " << N_bar << std::endl;
std::cout << "volume_bar: " << volume_bar << std::endl; //std::cout << "volume_bar: " << volume_bar << std::endl;
int sector_sum = 0; int sector_sum = 0;
if(module_type==1 || module_type==2 || module_type == 21 || module_type == 22) sector_sum = module_number; if(module_type==1 || module_type==2 || module_type == 21 || module_type == 22) sector_sum = module_number;
...@@ -722,13 +722,13 @@ static Ref_t create_detector(Detector& theDetector, xml_h element, SensitiveDete ...@@ -722,13 +722,13 @@ static Ref_t create_detector(Detector& theDetector, xml_h element, SensitiveDete
} }
endcapID++; endcapID++;
} }
cout<<"EndcapModule0: "<<all_module0<<endl; //cout<<"EndcapModule0: "<<all_module0<<endl;
cout<<"EndcapModule1: "<<all_module1<<endl; //cout<<"EndcapModule1: "<<all_module1<<endl;
cout<<"EndcapModule2: "<<all_module2<<endl; //cout<<"EndcapModule2: "<<all_module2<<endl;
cout<<"EndcapModule3: "<<all_module3<<endl; //cout<<"EndcapModule3: "<<all_module3<<endl;
sdet.addExtension<dd4hep::rec::ECALSystemInfoData>(ecalSystemInfoData); sdet.addExtension<dd4hep::rec::ECALSystemInfoData>(ecalSystemInfoData);
return sdet; return sdet;
} }
DECLARE_DETELEMENT(LongCrystalBarEndcapCalorimeter_v03, create_detector) DECLARE_DETELEMENT(LongCrystalBarEndcapCalorimeter_v03, create_detector)
\ No newline at end of file
...@@ -184,18 +184,18 @@ static Ref_t create_detector(Detector& theDetector, xml_h element, SensitiveDete ...@@ -184,18 +184,18 @@ static Ref_t create_detector(Detector& theDetector, xml_h element, SensitiveDete
} }
std::cout << "module_type: " << module_type << std::endl; //std::cout << "module_type: " << module_type << std::endl;
std::cout << "module_number: " << module_number << std::endl; //std::cout << "module_number: " << module_number << std::endl;
std::cout << "dim_x: " << dim_x << std::endl; //std::cout << "dim_x: " << dim_x << std::endl;
std::cout << "dim_x1: " << dim_x1 << std::endl; //std::cout << "dim_x1: " << dim_x1 << std::endl;
std::cout << "dim_x2: " << dim_x2 << std::endl; //std::cout << "dim_x2: " << dim_x2 << std::endl;
std::cout << "dim_y: " << dim_y << std::endl; //std::cout << "dim_y: " << dim_y << std::endl;
std::cout << "dim_y1: " << dim_y1 << std::endl; //std::cout << "dim_y1: " << dim_y1 << std::endl;
std::cout << "dim_y2: " << dim_y2 << std::endl; //std::cout << "dim_y2: " << dim_y2 << std::endl;
std::cout << "dim_z: " << dim_z << std::endl; //std::cout << "dim_z: " << dim_z << std::endl;
std::cout << "pos_x: " << pos_x << std::endl; //std::cout << "pos_x: " << pos_x << std::endl;
std::cout << "pos_y: " << pos_y << std::endl; //std::cout << "pos_y: " << pos_y << std::endl;
std::cout << "pos_z: " << pos_z << std::endl; //std::cout << "pos_z: " << pos_z << std::endl;
Box EndcapModule(box_half_x,box_half_y,box_half_z); Box EndcapModule(box_half_x,box_half_y,box_half_z);
...@@ -619,8 +619,8 @@ static Ref_t create_detector(Detector& theDetector, xml_h element, SensitiveDete ...@@ -619,8 +619,8 @@ static Ref_t create_detector(Detector& theDetector, xml_h element, SensitiveDete
} }
} }
std::cout << "N_bar: " << N_bar << std::endl; //std::cout << "N_bar: " << N_bar << std::endl;
std::cout << "volume_bar: " << volume_bar << std::endl; //std::cout << "volume_bar: " << volume_bar << std::endl;
int sector_sum = 0; int sector_sum = 0;
if(module_type==1 || module_type==2 || module_type == 21 || module_type == 22) sector_sum = module_number; if(module_type==1 || module_type==2 || module_type == 21 || module_type == 22) sector_sum = module_number;
...@@ -843,13 +843,13 @@ static Ref_t create_detector(Detector& theDetector, xml_h element, SensitiveDete ...@@ -843,13 +843,13 @@ static Ref_t create_detector(Detector& theDetector, xml_h element, SensitiveDete
} }
endcapID++; endcapID++;
} }
cout<<"EndcapModule0: "<<all_module0<<endl; //cout<<"EndcapModule0: "<<all_module0<<endl;
cout<<"EndcapModule1: "<<all_module1<<endl; //cout<<"EndcapModule1: "<<all_module1<<endl;
cout<<"EndcapModule2: "<<all_module2<<endl; //cout<<"EndcapModule2: "<<all_module2<<endl;
cout<<"EndcapModule3: "<<all_module3<<endl; //cout<<"EndcapModule3: "<<all_module3<<endl;
sdet.addExtension<dd4hep::rec::ECALSystemInfoData>(ecalSystemInfoData); sdet.addExtension<dd4hep::rec::ECALSystemInfoData>(ecalSystemInfoData);
return sdet; return sdet;
} }
DECLARE_DETELEMENT(LongCrystalBarEndcapCalorimeter_v04, create_detector) DECLARE_DETELEMENT(LongCrystalBarEndcapCalorimeter_v04, create_detector)
\ No newline at end of file
...@@ -111,7 +111,7 @@ static Ref_t create_detector(Detector& description, xml_h e, SensitiveDetector s ...@@ -111,7 +111,7 @@ static Ref_t create_detector(Detector& description, xml_h e, SensitiveDetector s
int keyVal = segxml.attr<int>( _Unicode(value) ) ; int keyVal = segxml.attr<int>( _Unicode(value) ) ;
encoder[ keyStr ] = keyVal ; encoder[ keyStr ] = keyVal ;
std::cout<<"keyStr:"<<keyStr<<"_keyVal:"<<keyVal<<"\n"; //std::cout<<"keyStr:"<<keyStr<<"_keyVal:"<<keyVal<<"\n";
// if we have a multisegmentation that uses the slice as key, we need to know for the // if we have a multisegmentation that uses the slice as key, we need to know for the
// computation of the layer parameters in LayeredCalorimeterData::Layer below // computation of the layer parameters in LayeredCalorimeterData::Layer below
if( keyStr == "layer"){sensitive_slice_number = keyVal;} if( keyStr == "layer"){sensitive_slice_number = keyVal;}
...@@ -239,7 +239,7 @@ static Ref_t create_detector(Detector& description, xml_h e, SensitiveDetector s ...@@ -239,7 +239,7 @@ static Ref_t create_detector(Detector& description, xml_h e, SensitiveDetector s
slice_vol.setVisAttributes(description,x_slice.visStr()); slice_vol.setVisAttributes(description,x_slice.visStr());
PlacedVolume slice_phv = envelope.placeVolume(slice_vol,Position(x_slice.position().x(),ky*x_slice.position().y(),kz*x_slice.position().z())); PlacedVolume slice_phv = envelope.placeVolume(slice_vol,Position(x_slice.position().x(),ky*x_slice.position().y(),kz*x_slice.position().z()));
slice_phv.addPhysVolID("side",kz).addPhysVolID("stave",ky).addPhysVolID("module",l+1).addPhysVolID("layer",layer_num ).addPhysVolID("slice",slice_number); slice_phv.addPhysVolID("side",kz).addPhysVolID("stave",ky).addPhysVolID("module",l+1).addPhysVolID("layer",layer_num ).addPhysVolID("slice",slice_number);
std::cout<<"l + 1 = "<<l+1<<"\n"; //std::cout<<"l + 1 = "<<l+1<<"\n";
if(ky==1 && kz==1){ if(ky==1 && kz==1){
dd4hep::PrintLevel printLevel = dd4hep::ERROR; dd4hep::PrintLevel printLevel = dd4hep::ERROR;
if (x_det.hasAttr(_Unicode(printLevel))) { if (x_det.hasAttr(_Unicode(printLevel))) {
......
...@@ -144,7 +144,7 @@ static Ref_t create_detector(Detector& description, xml_h e, SensitiveDetector s ...@@ -144,7 +144,7 @@ static Ref_t create_detector(Detector& description, xml_h e, SensitiveDetector s
Transform3D transform_beampipe(RotationZYX(90*deg,0,0), Translation3D(-kx*x_slice.position().x(),x_slice.position().y() , kz*x_slice.position().z())); Transform3D transform_beampipe(RotationZYX(90*deg,0,0), Translation3D(-kx*x_slice.position().x(),x_slice.position().y() , kz*x_slice.position().z()));
PlacedVolume slice_phv = envelope.placeVolume(slice_vol,transform_beampipe); PlacedVolume slice_phv = envelope.placeVolume(slice_vol,transform_beampipe);
slice_phv.addPhysVolID("side",kz).addPhysVolID("module",0).addPhysVolID("layer",0 ).addPhysVolID("slice",layer_num); slice_phv.addPhysVolID("side",kz).addPhysVolID("module",0).addPhysVolID("layer",0 ).addPhysVolID("slice",layer_num);
std::cout<<"side:"<<kz<<"module:"<<0<<"layer:"<<layer_num<<"slice:"<<layer_num<<"\n"; //std::cout<<"side:"<<kz<<"module:"<<0<<"layer:"<<layer_num<<"slice:"<<layer_num<<"\n";
slice.setPlacement(slice_phv); slice.setPlacement(slice_phv);
slice_number++; slice_number++;
} }
...@@ -167,7 +167,7 @@ static Ref_t create_detector(Detector& description, xml_h e, SensitiveDetector s ...@@ -167,7 +167,7 @@ static Ref_t create_detector(Detector& description, xml_h e, SensitiveDetector s
Transform3D transform_beampipe(RotationZYX(90*deg,0,0), Translation3D(-kx*x_slice.position().x(),x_slice.position().y() , kz*x_slice.position().z())); Transform3D transform_beampipe(RotationZYX(90*deg,0,0), Translation3D(-kx*x_slice.position().x(),x_slice.position().y() , kz*x_slice.position().z()));
PlacedVolume slice_phv = envelope.placeVolume(slice_vol,transform_beampipe); PlacedVolume slice_phv = envelope.placeVolume(slice_vol,transform_beampipe);
slice_phv.addPhysVolID("side",kz).addPhysVolID("module",0).addPhysVolID("layer",0 ).addPhysVolID("slice",layer_num); slice_phv.addPhysVolID("side",kz).addPhysVolID("module",0).addPhysVolID("layer",0 ).addPhysVolID("slice",layer_num);
std::cout<<"side:"<<kz<<"module:"<<0<<"layer:"<<layer_num<<"slice:"<<layer_num<<"\n"; //std::cout<<"side:"<<kz<<"module:"<<0<<"layer:"<<layer_num<<"slice:"<<layer_num<<"\n";
slice.setPlacement(slice_phv); slice.setPlacement(slice_phv);
slice_number++; slice_number++;
} }
......