Skip to content
Snippets Groups Projects
vertex_tracker.xml 11 KiB
Newer Older
  • Learn to ignore specific revisions
  • <?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"/>
    
    
        <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_component>
          </module>
    
          <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">
    
            <barrel_envelope
    
              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">
    
            <barrel_envelope
    
              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" />
    
        <detector id="VertexEndcapP_ID" 
          name="VertexEndcapP" 
          type="athena_SimpleDiskTracker"
    
          readout="VertexEndcapHits"
    
          insideTrackingVolume="true" 
          reflect="false" vis="AnlRed">
    
          <position x="0" y="0" z="0.0*mm"/>
    
          <layer id="1" vis="AnlOrange"
    
            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" />
    
          <layer id="2" 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"/>
    
          <layer id="1" vis="AnlOrange"
    
            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" />
    
          <layer id="2" 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" />
    
          </layer>
        </detector>
    
      </detectors>
    
      <readouts>
    
        <readout name="VertexBarrelHits">
    
          <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>
    
        <readout name="VertexEndcapHits">
    
          <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>