Newer
Older
<?xml version="1.0" encoding="UTF-8"?>
<lccdd>
<define>
<constant name="ITS3Thickness" value="30*um"/>
<constant name="VertexBarrel_rmin1" value="3.3*cm"/>
<constant name="VertexBarrel_rmin2" value="5.7*cm"/>
<constant name="VertexBarrelModule_maxThickness" value="VertexBarrel_rmin2 - VertexBarrel_rmin1"/>
<constant name="VertexBarrel_length" value="VertexTrackerBarrel_length"/>
<constant name="VertexBarrel_thickness" value="0.05/100*9.37*cm"/>
<constant name="VertexBarrelService_thickness" value="VertexBarrel_thickness-ITS3Thickness"/>
<constant name="VertexBarrel_rmin" value="VertexBarrel_rmin1"/>
<constant name="VertexBarrel_rmax" value="VertexBarrel_rmin2+VertexBarrelModule_maxThickness"/>
<constant name="VertexBarrelLayer_rOffset" value="4.0*mm"/>
<comment> TODO: These should be computed </comment>
<constant name="VertexBarrel_NModules1" value="14"/>
<constant name="VertexBarrel_NModules2" value="24"/>
<!--
<constant name="VertexTrackerEndcapP_rmin" value="VertexTrackerInnerRadius"/>
<constant name="VertexTrackerEndcapP_rmax" value="VertexTrackerOuterRadius"/>
<constant name="VertexTrackerEndcapP_zmin" value="VertexTrackerBarrel_length + 5*mm"/>
<constant name="VertexTrackerEndcapN_rmin" value="VertexTrackerInnerRadius"/>
<constant name="VertexTrackerEndcapN_rmax" value="VertexTrackerOuterRadius"/>
<constant name="VertexTrackerEndcapN_zmin" value="VertexTrackerBarrelLength + 5*mm"/>
-->
<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"/>
</define>
<display>
</display>
<detectors>
<!--
<detector id="VertexBarrelSubAssembly_ID"
name="VertexBarrelSubAssembly"
<detector id="VertexEndcapSubAssembly_ID"
name="VertexEndcapSubAssembly"
type="DD4hep_SubdetectorAssembly"
vis="TrackerSubAssemblyVis">
<composite name="VertexEndcapN" />
<composite name="VertexEndcapP" />
</detector>
-->
id="VertexBarrel_ID"
name="VertexBarrel"
type="athena_VertexBarrel"
readout="VertexBarrelHits"
insideTrackingVolume="true">
<dimensions
rmin="VertexBarrel_rmin-VertexBarrelLayer_rOffset"
rmax="VertexBarrel_rmax-VertexBarrelLayer_rOffset"
<module name="Module1" vis="PurpleVis">
<frame material="CarbonFiber_25percent" vis="BlueGreenVis"
width="15*mm"
height="10.0*mm"
length="VertexBarrel_length-1.0*mm"
thickness="0.1 * mm"/>
<module_component name="peek1" material="PEEK" sensitive="false"
width="14.0*mm" length="VertexBarrel_length-0.1*mm" thickness="2.0*mm" />
<module_component name="silicon" material="Silicon" sensitive="true"
width="14.0*mm" length="VertexBarrel_length-0.1*mm" thickness="1.0*mm">
<!--position x="0" y="0*mm" z="-0.025*mm" --> />
<module_component name="peek2" material="PEEK" sensitive="false"
width="14.0*mm" length="VertexBarrel_length-0.1*mm" thickness="2.0*mm" />
<frame material="CarbonFiber_25percent" vis="BlueGreenVis"
width="15*mm"
height="10.0*mm"
length="VertexBarrel_length-1.0*mm"
thickness="0.1 * mm"/>
<module_component name="peek1" material="PEEK" sensitive="false"
width="14.0*mm" length="VertexBarrel_length-0.1*mm" thickness="2.0*mm" />
<module_component name="silicon" material="Silicon" sensitive="true"
width="14.0*mm" length="VertexBarrel_length-0.1*mm" thickness="1.0*mm">
<!--position x="0" y="0*mm" z="-0.025*mm"/-->
<module_component name="peek2" material="PEEK" sensitive="false"
width="14.0*mm" length="VertexBarrel_length-0.1*mm" thickness="2.0*mm" />
</module>
<comment> Layers composed of many arrayed modules </comment>
<layer module="Module1" id="1" vis="VertexVis">
<barrel_envelope
inner_r="VertexBarrel_rmin1-VertexBarrelLayer_rOffset"
outer_r="VertexBarrel_rmin2-VertexBarrelLayer_rOffset-1.0*mm"
z_length="VertexBarrel_length"/>
<rphi_layout phi_tilt="10.0*degree" nphi="VertexBarrel_NModules1" phi0="0.0" rc="VertexBarrel_rmin1" dr="0.0 * mm"/>
<z_layout dr="0.0 * mm" z0="0.0 * mm" nz="1"/>
</layer>
<layer module="Module2" id="2" vis="VertexVis">
<barrel_envelope
inner_r="VertexBarrel_rmin2-VertexBarrelLayer_rOffset"
outer_r="VertexBarrel_rmax-VertexBarrelLayer_rOffset"
z_length="VertexBarrel_length"/>
<rphi_layout phi_tilt="10.0*degree" nphi="VertexBarrel_NModules2" phi0="0.0" rc="VertexBarrel_rmin2" 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="refdet_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="refdet_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" />
<readout name="VertexBarrelHits">
<segmentation type="CartesianGridXY" grid_size_x="0.050*mm" grid_size_y="0.050*mm" />
<id>system:8,barrel:2,layer:4,module:12,sensor:2,x:32:-16,y:-16</id>
</readout>
<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>