Newer
Older
<?xml version="1.0" encoding="UTF-8"?>
<lccdd>
<define>
<comment>
THis value probably can live in the file that includes this one.
</comment>
<constant name="ITS3Thickness" value="40*um"/>
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
<documentation>
#### Vertex Tracker Barrel Parameters
- The sensor modules are 2 half-cylinders.
- There are 2 sensitive layers
- Each sensor has a thickness is 40um
- There is an outer shell for structural support 300um thick.
- The ID of this shell is set (arbitrarily) to 10 cm.
##### Sensor layers
Currently there are 2 sensor layers. Each is composed of 2 half-cylinders modules with only 40um of silicon thickness.
##### Support shell
Simple carbon fiber support shell.
</documentation>
<constant name="VertexBarrel_length" value="VertexTrackerBarrel_length"/>
<constant name="VertexBarrelLayer_length" value="VertexBarrel_length - 1*mm"/>
<constant name="VertexBarrelMod_length" value="VertexBarrel_length - 2*mm"/>
<constant name="VertexBarrelSensor_thickness" value="ITS3Thickness"/>
<constant name="VertexBarrelLayer_thickness" value="0.2*cm"/>
<constant name="VertexBarrelMod_thickness" value="0.1*cm"/>
<constant name="VertexBarrelMod1_rmin" value="3.4*cm"/>
<constant name="VertexBarrelMod2_rmin" value="5.7*cm"/>
<constant name="VertexBarrelLayer_rmin1" value="VertexBarrelMod1_rmin - VertexBarrelLayer_thickness/2.0"/>
<constant name="VertexBarrelLayer_rmin2" value="VertexBarrelMod2_rmin - VertexBarrelLayer_thickness/2.0"/>
<constant name="VertexBarrelLayer_offset" value="VertexBarrelLayer_rmin2-VertexBarrelLayer_rmin1"/>
<constant name="VertexBarrelLayer_rmax1" value="VertexBarrelLayer_rmin1 + VertexBarrelLayer_thickness"/>
<constant name="VertexBarrelLayer_rmax2" value="VertexBarrelLayer_rmin2 + VertexBarrelLayer_thickness"/>
<constant name="VertexBarrelShell_rmin" value="VertexBarrelLayer_rmin2+2*VertexBarrelLayer_offset"/>
<constant name="VertexBarrelShell_thickness" value="300*um"/>
<constant name="VertexBarrelShell_rmax" value="VertexBarrelShell_rmin + VertexBarrelShell_thickness"/>
<constant name="VertexBarrelShell_length" value="VertexBarrel_length"/>
<constant name="VertexTrackerEndcapN_zmin" value="VertexTrackerBarrel_zmax"/>
<constant name="VertexTrackerEndcapP_zmin" value="VertexTrackerBarrel_zmax"/>
<constant name="VertexEndcap_NLayers" value="1"/>
<constant name="VertexTrackerEndcap_delta" value="(VertexTrackerEndcapP_zmax - VertexTrackerEndcapP_zmin)/VertexEndcap_NLayers"/>
<constant name="VertexEndcapLayer_dz" value="(VertexTrackerEndcapP_zmax - VertexTrackerEndcapP_zmin)/VertexEndcap_NLayers"/>
<constant name="VertexEndcapModOpeningAngle" value="30.0*degree"/>
<constant name="VertexEndcapMod1_x1" value="2.0*VertexTrackerEndcapP_rmin*sin(VertexEndcapModOpeningAngle/2.0)"/>
<constant name="VertexEndcapMod1_x2" value="2.0*VertexTrackerEndcapP_rmax*sin(VertexEndcapModOpeningAngle/2.0)"/>
<constant name="VertexEndcapMod1_y" value="VertexTrackerEndcapP_rmax*cos(VertexEndcapModOpeningAngle/2.0) - VertexTrackerEndcapP_rmin"/>
<display>
</display>
<detectors>
id="VertexBarrel_ID"
name="VertexBarrel"
type="athena_CylinderVertexBarrel"
readout="VertexBarrelHits"
insideTrackingVolume="true">
<comment>Vertex Barrel Modules</comment>
<module name="Module1" vis="VertexLayerVis">
<module_envelope rmin="VertexBarrelMod1_rmin" length="VertexBarrelMod_length" thickness="VertexBarrelMod_thickness" phi="180*degree" />
<module_component thickness="VertexBarrelSensor_thickness" material="Silicon" sensitive="true">
<module name="Module2" vis="VertexLayerVis">
<module_envelope rmin="VertexBarrelMod2_rmin" length="VertexBarrelMod_length" thickness="VertexBarrelMod_thickness" phi="180*degree" />
<module_component thickness="VertexBarrelSensor_thickness" material="Silicon" sensitive="true">
<position x="0" />
</module_component>
</module>
<module name="SupportShell" vis="VertexSupportVis">
<module_envelope rmin="VertexBarrelShell_rmin" length="VertexBarrelShell_length" thickness="VertexBarrelShell_thickness" phi="180*degree" />
<module_component thickness="VertexBarrelShell_thickness" material="CarbonFiber">
<position x="0" />
</module_component>
</module>
<comment> Layers composed of many arrayed modules </comment>
<layer module="Module1" id="1" vis="VertexLayerVis">
<barrel_envelope
inner_r="VertexBarrelLayer_rmin1"
outer_r="VertexBarrelLayer_rmax1"
z_length="VertexBarrelLayer_length" />
<comment>
phi0 : Starting phi of first module.
phi_tilt : Phi tilt of a module.
rc : Radius of the module center.
nphi : Number of modules in phi.
rphi_dr : The delta radius of every other module.
z0 : Z position of first module in phi.
nz : Number of modules to place in z.
dr : Radial displacement parameter, of every other module.
</comment>
<rphi_layout phi_tilt="0.0*degree" nphi="2" phi0="0.0" rc="VertexBarrelMod1_rmin" dr="0.0 * mm"/>
<z_layout dr="0.0 * mm" z0="0.0 * mm" nz="1"/>
</layer>
<layer module="Module2" id="2" vis="VertexLayerVis">
inner_r="VertexBarrelLayer_rmin2"
outer_r="VertexBarrelLayer_rmax2"
z_length="VertexBarrelLayer_length" />
<rphi_layout phi_tilt="0.0*degree" nphi="2" phi0="0.0" rc="VertexBarrelMod2_rmin" dr="0.0 * mm"/>
<z_layout dr="0.0 * mm" z0="0.0 * mm" nz="1"/>
</layer>
<layer module="SupportShell" id="3" vis="VertexSupportVis">
inner_r="VertexBarrelShell_rmin"
outer_r="VertexBarrelShell_rmax"
z_length="VertexBarrelShell_length" />
<rphi_layout phi_tilt="0.0*degree" nphi="2" phi0="0.0" rc="VertexBarrelShell_rmin" dr="0.0 * mm"/>
<z_layout dr="0.0 * mm" z0="0.0 * mm" nz="1"/>
</layer>
</detector>
<detector
id="VertexEndcapP_ID"
name="VertexEndcapP"
type="athena_TrapEndcapTracker"
readout="VertexEndcapHits"
vis="AnlRed"
reflect="false">
<module name="Module1" vis="AnlProcess_Blue">
<trd x1="VertexEndcapMod1_x1/2.0" x2="VertexEndcapMod1_x2/2.0" z="VertexEndcapMod1_y/2"/>
<module_component thickness="ITS3Thickness" material="Silicon" sensitive="true"/>
<module_component thickness="0.25/100*9.37*cm-ITS3Thickness" material="Silicon"/>
</module>
<layer id="1">
<envelope vis="AnlRed"
rmin="VertexTrackerEndcapP_rmin"
rmax="VertexTrackerEndcapP_rmax"
length="VertexEndcapLayer_dz"
zstart="VertexTrackerEndcapP_zmin" />
<ring vis="AnlRed"
r="VertexTrackerEndcapP_rmin+VertexEndcapMod1_y/2.0"
zstart="25.0*mm"
nmodules="12" dz="2.5 * mm" module="Module1" />
</layer>
</detector>
<detector
id="VertexEndcapN_ID"
name="VertexEndcapN"
type="athena_TrapEndcapTracker"
readout="VertexEndcapHits"
vis="AnlRed"
reflect="true">
<module name="Module1" vis="AnlProcess_Blue">
<trd x1="VertexEndcapMod1_x1/2.0" x2="VertexEndcapMod1_x2/2.0" z="VertexEndcapMod1_y/2"/>
<module_component thickness="ITS3Thickness" material="Silicon" sensitive="true"/>
<module_component thickness="0.25/100*9.37*cm-ITS3Thickness" material="Silicon"/>
</module>
<layer id="1">
<envelope vis="AnlRed"
rmin="VertexTrackerEndcapN_rmin"
rmax="VertexTrackerEndcapN_rmax"
length="VertexEndcapLayer_dz"
zstart="VertexTrackerEndcapN_zmin" />
<ring vis="AnlRed"
r="VertexTrackerEndcapN_rmin+VertexEndcapMod1_y/2.0"
zstart="-25.0*mm"
nmodules="12" dz="2.5 * mm" module="Module1" />
</layer>
</detector>
<!--
<detector id="VertexEndcapP_ID"
name="VertexEndcapP"
type="athena_SimpleDiskTracker"
insideTrackingVolume="true"
reflect="false" vis="AnlRed">
inner_z="VertexTrackerEndcapP_zmin + 0.5*VertexTrackerEndcap_delta"
inner_r="VertexTrackerEndcapP_rmin-3*mm"
outer_r="VertexTrackerEndcapP_rmax">
<slice material="Air" thickness="1.0*mm" vis="AnlOrange" />
<slice material="Silicon" thickness="1.0*mm" vis="AnlOrange" sensitive="true"/>
<slice material="Air" thickness="1.0*mm" vis="AnlOrange" />
inner_z="VertexTrackerEndcapP_zmin + 1.5*VertexTrackerEndcap_delta"
inner_r="VertexTrackerEndcapP_rmin"
outer_r="VertexTrackerEndcapP_rmax">
<slice material="Air" thickness="1.0*mm" vis="AnlOrange" />
<slice material="Silicon" thickness="1.0*mm" vis="AnlOrange" sensitive="true"/>
<slice material="Air" thickness="1.0*mm" vis="AnlOrange" />
<detector id="VertexEndcapN_ID"
name="VertexEndcapN"
type="athena_SimpleDiskTracker"
readout="VertexEndcapHits"
insideTrackingVolume="true"
reflect="true" vis="AnlRed">
<position x="0" y="0" z="-0.0*mm-1.0e-9*mm"/>
inner_z="VertexTrackerEndcapN_zmin + 0.5*VertexTrackerEndcap_delta"
inner_r="VertexTrackerEndcapN_rmin"
outer_r="VertexTrackerEndcapN_rmax">
<slice material="Air" thickness="1.0*mm" vis="AnlOrange" />
<slice material="Silicon" thickness="1.0*mm" vis="AnlOrange" sensitive="true"/>
<slice material="Air" thickness="1.0*mm" vis="AnlOrange" />
inner_z="VertexTrackerEndcapN_zmin + 1.5*VertexTrackerEndcap_delta"
inner_r="VertexTrackerEndcapN_rmin"
outer_r="VertexTrackerEndcapN_rmax">
<slice material="Air" thickness="1.0*mm" vis="AnlOrange" />
<slice material="Silicon" thickness="1.0*mm" vis="AnlOrange" sensitive="true"/>
<slice material="Air" thickness="1.0*mm" vis="AnlOrange" />
<segmentation type="CartesianGridXY" grid_size_x="0.010*mm" grid_size_y="0.010*mm" />
<id>system:8,barrel:2,layer:4,module:12,sensor:2,x:32:-16,y:-16</id>
</readout>
<segmentation type="CartesianGridXZ" grid_size_x="0.20*mm" grid_size_z="0.20*mm" />
<id>system:8,barrel:2,layer:4,module:12,sensor:2,x:32:-16,z:-16</id>
</readout>
</readouts>
</lccdd>