Skip to content
Snippets Groups Projects
Commit 17aafbd5 authored by Zhenyu Ye's avatar Zhenyu Ye Committed by Sylvester Joosten
Browse files

Resolve "Add Barrel TOF and update Endcap TOF"

parent 7a3a7870
No related branches found
No related tags found
1 merge request!60Resolve "Add Barrel TOF and update Endcap TOF"
......@@ -142,6 +142,16 @@
<composite name="TrackerEndcapP_Outer"/>
<composite name="TrackerEndcapN_Outer"/>
</detector>
<detector id="TOFSubAssembly_ID"
name="TOFSubAssembly"
type="DD4hep_SubdetectorAssembly"
vis="TOFSubAssemblyVis">
<composite name="BarrelTOF"/>
<composite name="ForwardTOF"/>
<composite name="BackwardTOF"/>
</detector>
<!--
<detector id="TrackerBarrelSubAssembly_Inner_ID"
name="TrackerBarrelSubAssembly_Inner"
......@@ -177,6 +187,7 @@
<include ref="compact/central_tracker.xml"/>
<include ref="compact/tof_barrel.xml"/>
<!--include ref="compact/rwell_tracker_barrel.xml"/-->
<include ref="compact/cb_DIRC.xml"/>
......
......@@ -161,13 +161,14 @@
DIRC subsystem ID: 90
Barrel TRD subsystem ID: 91
Barrel TOF subsystem ID: 92
Unused IDs: 93-99
TOFSubAssembly ID: 93
Unused IDs: 94-99
</comment>
<constant name="BarrelDIRC_ID" value="90"/>
<constant name="BarrelTRD_ID" value="91"/>
<constant name="BarrelTOF_ID" value="92"/>
<constant name="TOFSubAssembly_ID" value="93"/>
<comment>
=====================================
......
......@@ -41,7 +41,7 @@
<vis name="EcalEndcapVis" alpha="1.0" r="0.0" g="0.99" b="0.0" showDaughters="false" visible="true" />
<vis name="EcalBarrelVis" alpha="1.0" r="0.0" g="0.99" b="0.0" showDaughters="false" visible="true" />
<vis name="TOFVis" alpha="0.5" r="1" g="0" b="1" showDaughters="true" />
<vis name="SolenoidCoilVis" alpha="1.0" r="0.55" g="0.55" b="0.7" showDaughters="true" visible="true" lineStyle="solid" drawingStyle="solid" />
......
<?xml version="1.0" encoding="UTF-8"?>
<lccdd>
<define>
<constant name="BarrelTOFSpaceFrame_width" value="40.0*mm"/>
<constant name="BarrelTOFSpaceFrame_height" value="sqrt(3.0)*32.0*mm/2.0"/>
<constant name="BarrelTOFSensor_thickness" value="0.3*mm"/>
<constant name="BarrelTOFModule_thickness" value="2.00/100*9.37*cm"/>
<constant name="BarrelTOFService_thickness" value="BarrelTOFModule_thickness-BarrelTOFSensor_thickness"/>
<comment>
Layer_rOffset is used to add inside space so the _rmin value is the nominal sensor radius.
</comment>
<constant name="BarrelTOFLayer_rOffset" value="0.5*cm"/>
<constant name="BarrelTOF_rmin1" value="50.0*cm"/>
<constant name="BarrelTOF_rmin2" value="BarrelTOF_rmin1 + BarrelTOFSpaceFrame_width"/>
<constant name="BarrelTOF_length1" value="192.0*cm"/>
<constant name="BarrelTOF_length2" value="200.0*cm"/>
<constant name="BarrelTOF_thickness" value="BarrelTOF_rmin2 - BarrelTOF_rmin1"/>
<constant name="BarrelTOF_length" value="BarrelTOF_length2"/>
<comment> TODO: These should be computed </comment>
<constant name="BarrelTOF_NModules" value="80"/>
</define>
<display>
</display>
<detectors>
<detector
id="BarrelTOF_ID"
name="BarrelTOF"
type="athena_TrackerBarrel"
readout="BarrelTOFHits"
insideTrackingVolume="true">
<dimensions
rmin="BarrelTOF_rmin1-BarrelTOFLayer_rOffset"
rmax="BarrelTOF_rmin2-BarrelTOFLayer_rOffset + BarrelTOF_thickness"
length="BarrelTOF_length"/>
<comment>
Tracker Barrel Modules
</comment>
<module name="BarrelTOF_Module1" vis="OrgangeVis">
<frame material="CarbonFiber_25percent" vis="BlueGreenVis"
width="BarrelTOFSpaceFrame_width"
height="BarrelTOFSpaceFrame_height"
length="BarrelTOF_length1"
thickness="0.1*mm" />
<module_component name="silicon" material="Silicon" sensitive="true"
width="BarrelTOFSpaceFrame_width" length="BarrelTOF_length1-0.1*mm" thickness="BarrelTOFSensor_thickness" >
</module_component>
<module_component name="service" material="Silicon" sensitive="false"
width="BarrelTOFSpaceFrame_width" length="BarrelTOF_length1-0.1*mm" thickness="BarrelTOFService_thickness" />
</module>
<layer module="BarrelTOF_Module1" id="1" vis="TOFVis">
<barrel_envelope
inner_r="BarrelTOF_rmin1-BarrelTOFLayer_rOffset"
outer_r="BarrelTOF_rmin1-BarrelTOFLayer_rOffset + BarrelTOF_thickness-1.0*mm"
z_length="BarrelTOF_length"/>
<rphi_layout phi_tilt="10.0*degree" nphi="BarrelTOF_NModules" phi0="0.0" rc="BarrelTOF_rmin1" dr="0.0 * mm"/>
<z_layout dr="0.0 * mm" z0="0.0 * mm" nz="1"/>
</layer>
</detector>
</detectors>
<readouts>
<readout name="BarrelTOFHits">
<segmentation type="CartesianGridXY" grid_size_x="0.150*mm" grid_size_y="0.150*mm" />
<id>system:8,barrel:2,layer:4,module:12,sensor:2,x:32:-16,y:-16</id>
</readout>
</readouts>
</lccdd>
......@@ -6,49 +6,130 @@
Forward and backward TOF Parameters
--------------------------
</comment>
<constant name="ForwardTOF_zmin" value="BarrelTracking_length/2.0 + ForwardTracking_length + ForwardRICH_length + ForwardTRD_length"/>
<constant name="ForwardTOF_rmin" value="ForwardPID_rmin1"/>
<constant name="ForwardTOF_rmax" value="Solenoid_rmin"/>
<constant name="BackwardTOF_zmin" value="BarrelTracking_length/2.0 + BackwardTracking_length + BackwardCherenkov_length "/>
<constant name="BackwardTOF_rmin" value="ForwardPID_rmin1"/>
<constant name="BackwardTOF_rmax" value="BarrelTracking_rmax"/>
<constant name="TOFEndcapSensor_thickness" value="0.3*mm"/>
<constant name="TOFEndcap_thickness" value="2.00/100*9.37*cm"/>
<constant name="TOFEndcapService_thickness" value="TOFEndcap_thickness-TOFEndcapSensor_thickness"/>
<constant name="TOFEndcap_nLayers" value="2"/>
<constant name="ForwardTOF_zmin" value="BarrelTracking_length/2.0 + ForwardTracking_length + ForwardRICH_length + ForwardTRD_length"/>
<constant name="ForwardTOF_dz" value="(ForwardTOF_length-0.4*cm)/TOFEndcap_nLayers"/>
<constant name="ForwardTOF_rmin1" value="ForwardPID_rmin1"/>
<constant name="ForwardTOF_rmin2" value="ForwardPID_rmin1"/>
<constant name="ForwardTOF_rmax1" value="Solenoid_rmin"/>
<constant name="ForwardTOF_rmax2" value="Solenoid_rmin"/>
<constant name="ForwardTOFModOpeningAngle" value="30.0*degree"/>
<constant name="ForwardTOFMod1_x1" value="2.0*ForwardTOF_rmin1*sin(ForwardTOFModOpeningAngle/2.0)"/>
<constant name="ForwardTOFMod1_x2" value="2.0*ForwardTOF_rmax1*sin(ForwardTOFModOpeningAngle/2.0)"/>
<constant name="ForwardTOFMod1_y" value="ForwardTOF_rmax1*cos(ForwardTOFModOpeningAngle/2.0) - ForwardTOF_rmin1"/>
<constant name="ForwardTOFMod2_x1" value="2.0*ForwardTOF_rmin2*sin(ForwardTOFModOpeningAngle/2.0)"/>
<constant name="ForwardTOFMod2_x2" value="2.0*ForwardTOF_rmax2*sin(ForwardTOFModOpeningAngle/2.0)"/>
<constant name="ForwardTOFMod2_y" value="ForwardTOF_rmax2*cos(ForwardTOFModOpeningAngle/2.0) - ForwardTOF_rmin2"/>
<constant name="BackwardTOF_zmin" value="BarrelTracking_length/2.0 + BackwardTracking_length + BackwardCherenkov_length "/>
<constant name="BackwardTOF_dz" value="(BackwardTOF_length-0.4*cm)/TOFEndcap_nLayers"/>
<constant name="BackwardTOF_rmin1" value="ForwardPID_rmin1"/>
<constant name="BackwardTOF_rmin2" value="ForwardPID_rmin1"/>
<constant name="BackwardTOF_rmax1" value="BarrelTracking_rmax"/>
<constant name="BackwardTOF_rmax2" value="BarrelTracking_rmax"/>
<constant name="BackwardTOFModOpeningAngle" value="30.0*degree"/>
<constant name="BackwardTOFMod1_x1" value="2.0*BackwardTOF_rmin1*sin(BackwardTOFModOpeningAngle/2.0)"/>
<constant name="BackwardTOFMod1_x2" value="2.0*BackwardTOF_rmax1*sin(BackwardTOFModOpeningAngle/2.0)"/>
<constant name="BackwardTOFMod1_y" value="BackwardTOF_rmax1*cos(BackwardTOFModOpeningAngle/2.0) - BackwardTOF_rmin1"/>
<constant name="BackwardTOFMod2_x1" value="2.0*BackwardTOF_rmin2*sin(BackwardTOFModOpeningAngle/2.0)"/>
<constant name="BackwardTOFMod2_x2" value="2.0*BackwardTOF_rmax2*sin(BackwardTOFModOpeningAngle/2.0)"/>
<constant name="BackwardTOFMod2_y" value="BackwardTOF_rmax2*cos(BackwardTOFModOpeningAngle/2.0) - BackwardTOF_rmin2"/>
</define>
<detectors>
<detector
id="ForwardTOF_ID"
name="ForwardTOF"
type="ref_DiskTracker"
insideTrackingVolume="true"
reflect="false"
vis="AnlOrange">
<position x="0" y="0" z="0.0"/>
<layer id="1"
vis="AnlOrange"
inner_z="ForwardTOF_zmin"
inner_r="ForwardTOF_rmin"
outer_r="ForwardTOF_rmax">
<slice material="Air" thickness="ForwardTOF_length/2.0" vis="AnlOrange" />
</layer>
</detector>
<detector
id="BackwardTOF_ID"
name="BackwardTOF"
type="ref_DiskTracker"
insideTrackingVolume="true"
reflect="true"
vis="AnlOrange">
<position x="0" y="0" z="0.0"/>
<layer id="1"
vis="AnlOrange"
inner_z="BackwardTOF_zmin"
inner_r="BackwardTOF_rmin"
outer_r="BackwardTOF_rmax">
<slice material="Air" thickness="BackwardTOF_length/2.0" vis="AnlOrange" />
</layer>
</detector>
<detector
id="ForwardTOF_ID"
name="ForwardTOF"
type="refdet_TrapEndcapTracker"
readout="TOFEndcapHits"
vis="TOFVis"
reflect="false">
<module name="Module1" vis="OrgangeVis">
<trd x1="ForwardTOFMod1_x1/2.0" x2="ForwardTOFMod1_x2/2.0" z="ForwardTOFMod1_y/2"/>
<module_component thickness="ITS3Thickness" material="Silicon" sensitive="true"/>
<module_component thickness="TOFEndcapService_thickness" material="Silicon"/>
</module>
<module name="Module2" vis="OrgangeVis">
<trd x1="ForwardTOFMod2_x1/2.0" x2="ForwardTOFMod2_x2/2.0" z="ForwardTOFMod2_y/2"/>
<module_component thickness="TOFEndcapSensor_thickness" material="Silicon" sensitive="true"/>
<module_component thickness="TOFEndcapService_thickness" material="Silicon"/>
</module>
<layer id="1">
<envelope vis="TOFVis"
rmin="ForwardTOF_rmin1"
rmax="ForwardTOF_rmax1"
length="ForwardTOF_dz"
zstart="ForwardTOF_zmin" />
<ring vis="AnlRed"
r="ForwardTOF_rmin1+ForwardTOFMod1_y/2.0"
zstart="0.0*mm"
nmodules="12" dz="2.5 * mm" module="Module1" />
</layer>
<layer id="2">
<envelope vis="TOFVis"
rmin="ForwardTOF_rmin2"
rmax="ForwardTOF_rmax2"
length="ForwardTOF_dz"
zstart="ForwardTOF_zmin + ForwardTOF_dz" />
<ring vis="AnlRed"
r="ForwardTOF_rmin2+ForwardTOFMod2_y/2.0"
zstart="0.0*mm"
nmodules="12" dz="2.5 * mm" module="Module2" />
</layer>
</detector>
<detector
id="BackwardTOF_ID"
name="BackwardTOF"
type="refdet_TrapEndcapTracker"
readout="TOFEndcapHits"
vis="TOFVis"
reflect="true">
<module name="Module1" vis="OrgangeVis">
<trd x1="BackwardTOFMod1_x1/2.0" x2="BackwardTOFMod1_x2/2.0" z="BackwardTOFMod1_y/2"/>
<module_component thickness="TOFEndcapSensor_thickness" material="Silicon" sensitive="true"/>
<module_component thickness="TOFEndcapService_thickness" material="Silicon"/>
</module>
<module name="Module2" vis="OrgangeVis">
<trd x1="BackwardTOFMod2_x1/2.0" x2="BackwardTOFMod2_x2/2.0" z="BackwardTOFMod2_y/2"/>
<module_component thickness="TOFEndcapSensor_thickness" material="Silicon" sensitive="true"/>
<module_component thickness="TOFEndcapService_thickness" material="Silicon"/>
</module>
<layer id="1">
<envelope vis="TOFVis"
rmin="BackwardTOF_rmin1 + 0 * 1.2*cm"
rmax="BackwardTOF_rmax1"
length="ForwardTOF_dz"
zstart="BackwardTOF_zmin" />
<ring vis="AnlRed"
r="BackwardTOF_rmin1+BackwardTOFMod1_y/2.0"
zstart="0.0*mm"
nmodules="12" dz="2.5 * mm" module="Module1" />
</layer>
<layer id="2">
<envelope vis="TOFVis"
rmin="BackwardTOF_rmin2"
rmax="BackwardTOF_rmax2"
length="BackwardTOF_dz"
zstart="BackwardTOF_zmin + BackwardTOF_dz" />
<ring vis="AnlRed"
r="BackwardTOF_rmin2+BackwardTOFMod2_y/2.0"
zstart="0.0*mm"
nmodules="12" dz="2.5 * mm" module="Module2" />
</layer>
</detector>
</detectors>
<readouts>
<readout name="TOFEndcapHits">
<segmentation type="CartesianGridXY" grid_size_x="0.20*mm" grid_size_y="0.20*mm" />
<id>system:8,barrel:2,layer:4,module:12,sensor:2,x:32:-16,y:-16</id>
</readout>
</readouts>
</lccdd>
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment