<?xml version="1.0" encoding="UTF-8"?> <lccdd> <define> <constant name="ITS3Thickness" value="0.03*mm"/> <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="2"/> <constant name="VertexTrackerEndcap_delta" value="(VertexTrackerEndcapP_zmax - VertexTrackerEndcapP_zmin)/VertexEndcap_NLayers"/> </define> <display> </display> <detectors> <detector id="VertexSubAssembly_ID" name="VertexSubAssembly" type="DD4hep_SubdetectorAssembly" vis="TrackerSubAssemblyVis"> <composite name="VertexEndcapN"/> <composite name="VertexEndcapP"/> <composite name="VertexBarrel"/> </detector> <detector id="VertexBarrel_ID" name="VertexBarrel" type="athena_VertexBarrel" readout="VertexBarrelHits" insideTrackingVolume="true"> <dimensions rmin="VertexBarrel_rmin-VertexBarrelLayer_rOffset" rmax="VertexBarrel_rmax-VertexBarrelLayer_rOffset" length="VertexBarrel_length"/> <comment> Define available modules </comment> <module name="Module1" vis="PurpleVis"> <frame width="15*mm" height="10.0*mm" length="VertexBarrel_length" thickness="0.1 * mm" material="CarbonFiber_25percent" vis="BlueGreenVis" /> <module_component name="silicon" width="14.0*mm" length="VertexBarrel_length-0.1*mm" thickness="0.05*mm" material="Silicon" sensitive="true"> <position z="-0.025*mm" y="0*mm"/> </module_component> </module> <module name="Module2"> <frame width="15*mm" height="10.0*mm" length="VertexBarrel_length" thickness="0.1 * mm" material="CarbonFiber_25percent" vis="BlueGreenVis" /> <module_component name="silicon" width="14.0*mm" length="VertexBarrel_length-0.1*mm" thickness="0.05*mm" material="Silicon" sensitive="true"> <position z="-0.025*mm" y="0*mm"/> </module_component> </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" 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="athena_SimpleDiskTracker" insideTrackingVolume="true" reflect="false" vis="AnlRed"> <position x="0" y="0" z="0"/> <layer id="1" vis="AnlOrange" inner_z="VertexTrackerEndcapP_zmin + 0*VertexTrackerEndcap_delta" inner_r="VertexTrackerEndcapP_rmin" outer_r="VertexTrackerEndcapP_rmax"> <slice material="Air" thickness="1.0*mm" vis="AnlOrange" /> </layer> <layer id="2" vis="AnlOrange" inner_z="VertexTrackerEndcapP_zmin + 1*VertexTrackerEndcap_delta" inner_r="VertexTrackerEndcapP_rmin" outer_r="VertexTrackerEndcapP_rmax"> <slice material="Air" thickness="1.0*mm" vis="AnlOrange" /> </layer> </detector> <detector id="VertexEndcapN_ID" name="VertexEndcapN" type="ref_DiskTracker" insideTrackingVolume="true" reflect="true" vis="AnlRed"> <position x="0" y="0" z="0"/> <layer id="1" vis="AnlOrange" inner_z="VertexTrackerEndcapN_zmin + 0*VertexTrackerEndcap_delta" inner_r="VertexTrackerEndcapN_rmin" outer_r="VertexTrackerEndcapN_rmax"> <slice material="Air" thickness="1.0*mm" vis="AnlOrange" /> </layer> <layer id="2" vis="AnlOrange" inner_z="VertexTrackerEndcapN_zmin + 1*VertexTrackerEndcap_delta" inner_r="VertexTrackerEndcapN_rmin" outer_r="VertexTrackerEndcapN_rmax"> <slice material="Air" thickness="1.0*mm" vis="AnlOrange" /> </layer> </detector> </detectors> <readouts> <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> <readout name="VertexEndcapHits"> <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>