Skip to content
Snippets Groups Projects
gem_tracker.xml 9.01 KiB
Newer Older
  • Learn to ignore specific revisions
  • <lccdd xmlns:compact="http://www.lcsim.org/schemas/compact/1.0" 
           xmlns:xs="http://www.w3.org/2001/XMLSchema" 
           xs:noNamespaceSchemaLocation="http://www.lcsim.org/schemas/compact/1.0/compact.xsd">
    
      <info name="beam_pipe" title="Beam pipe test"
            author="Whitney Armstrong"
            url="https://eicweb.phy.anl.gov/EIC/NPDet"
            status="development"
            version="">
        <comment>EIC Beam Pipe</comment>        
      </info>
    
      <includes>
        <gdmlFile  ref="elements.xml"/>
        <gdmlFile  ref="materials.xml"/>
      </includes>
      
      <define>
        <constant name="world_side" value="10*m"/>
        <constant name="world_x" value="world_side"/>
        <constant name="world_y" value="world_side"/>
        <constant name="world_z" value="10*world_side"/>
        
        <constant name="tracker_region_rmax" value="2.0*m" />
        <constant name="tracker_region_zmax" value="4.0*m" />
    
        <constant name="CrossingAngle" value="0.020*rad"/>
    
        <constant name="CentralBeamPipe_length"     value="50.0*cm"/>
        <constant name="CentralBeamPipe_thickness"  value="0.1*mm"/>
        <constant name="CentralBeamPipe_radius"     value="3.5*cm"/>
        <constant name="CentralBeamPipe_z"          value="0.0*cm"/>
    
        <constant name="UpStreamBeamPipe_length"    value="150.0*cm"/>
        <constant name="UpStreamBeamPipe_thickness" value="0.1*mm"/>
        <constant name="UpStreamBeamPipe_radius"    value="5*cm"/>
        <constant name="UpStreamBeamPipe_z"          value="-1.0*(CentralBeamPipe_length+UpStreamBeamPipe_length)/2.0"/>
    
        <constant name="DownStreamBeamPipe_length"      value="250.0*cm"/>
        <constant name="DownStreamBeamPipe_thickness"   value="0.1*mm"/>
        <constant name="DownStreamBeamPipe_radius"      value="5*cm"/>
        <constant name="DownStreamBeamPipe_z"          value="1.0*(CentralBeamPipe_length+DownStreamBeamPipe_length)/2.0"/>
        
        <!--
        <constant name="CentralBeamPipe_rmax" value="VertexBarrel_r1 - 0.2*cm"/>
        <constant name="CentralBeamPipe_thickness" value="CentralBeamPipe_rmax * 0.02"/>
        <constant name="CentralBeamPipe_rmin" value="CentralBeamPipe_rmax - CentralBeamPipe_thickness"/>
        <constant name="BeamPipe_thickness" value="0.4*cm"/>
        <constant name="BeamPipe_endThickness" value="0.1*cm"/>
        <constant name="BeamPipe_zmax" value="LumiCal_zmin - 0.5*cm"/>
        <constant name="BeamPipe_rmax" value="19.0*cm"/>
        <constant name="BeamPipe_rmin" value="BeamPipe_rmax - BeamPipe_thickness"/>
        <constant name="bp_cone_slope" value="(BeamPipe_rmax-CentralBeamPipe_rmax)/(tracking_region_zmax-CentralBeamPipe_zmax)"/>
        <constant name="BeamPipe_zmin" value="CentralBeamPipe_zmax + (BeamPipe_thickness - CentralBeamPipe_thickness)/bp_cone_slope"/>
        <constant name="BeamPipeLiner_thickness" value="0.0*cm"/>
    
    
        <constant name="BeamCal_rmax" value="13.0*cm"/>
        <constant name="BeamCal_zmin" value="ForwardMask_zmin + ForwardMask_thickness"/>
    
        <constant name="IncomingBP_radius" value="0.25*cm"/>
        <constant name="IncomingBP_thickness" value="0.05*cm"/>
        <constant name="OutgoingBP_radius" value="tan(CrossingAngle/2/rad)*BeamCal_zmin"/>
        <constant name="OutgoingBP_thickness" value="0.1*cm"/>    
    
        <constant name="BeamCal_crossingAngle" value="CrossingAngle"/>    
        <constant name="BeamCal_outgoing_r" value="OutgoingBP_radius + 0.05*cm"/>    
        <constant name="BeamCal_incoming_r" value="IncomingBP_radius + 0.05*cm"/>    
        -->
    
        <constant name="Place_Center" value="0*cm"/>
    
        <constant name="ForwardTrackerPlane_z0" value="400*cm"/>
    
      </define>
    
      <limits>
        <limitset name="cal_limits">
          <limit name="step_length_max" particles="*" value="5.0" unit="mm" />
        </limitset>
        <limitset name="GemTrackerDiscRegionLimitSet">
          <limit name="step_length_max" particles="*" value="5.0" unit="mm" />
          <limit name="track_length_max" particles="*" value="5.0" unit="mm" />
          <limit name="time_max" particles="*" value="5.0" unit="ns" />
          <limit name="ekin_min" particles="*" value="0.01" unit="MeV" />
          <limit name="range_min" particles="*" value="5.0" unit="mm" />
        </limitset>
      </limits>
      <regions>
        <region name="GemTrackerDiscRegion" eunit="MeV" lunit="mm" cut="0.001" threshold="0.001">
          <limitsetref name="GemTrackerDiscRegionLimitSet"/>
        </region>
      </regions>
    
        <limits>
          <limitset name="Tracker_limits">
            <limit name="step_length_max" particles="*" value="5.0" unit="mm" />
          </limitset>
        </limits>
    
      <comment>Common Generic visualization attributes</comment>
      <display>
        <vis name="InvisibleNoDaughters"      showDaughters="false" visible="false"/>
        <vis name="InvisibleWithDaughters"    showDaughters="true" visible="false"/>
        <vis name="GreenVis"       alpha="0.5"  r= "0.0" g="1.0" b="0.0" showDaughters="true" visible="true"/>
        <vis name="RedVis"         alpha="0.5"  r= "1.0" g="0.0" b="0.0" showDaughters="true" visible="true"/>
        <vis name="BlueVis"        alpha="0.5"  r= "0.0" g="0.0" b="1.0" showDaughters="true" visible="true"/>
        <vis name="OrangeVis"      alpha="0.5"  r= "1.0" g="0.45" b="0.0" showDaughters="true" visible="true"/>
        <vis name="RedGreenVis"    alpha="0.5"  r= "1.0" g="1.0" b="0.0" showDaughters="true" visible="true"/>
        <vis name="BlueGreenVis"   alpha="0.5"  r= "0.0" g="1.0" b="1.0" showDaughters="true" visible="true"/>
        <vis name="PurpleVis"      alpha="0.5"  r= "1.0" g="0.0" b="1.0" showDaughters="true" visible="true"/>
        <vis name="DoubleRedG"     alpha="0.5"  r= "2.0" g=".10" b="0.0" showDaughters="true" visible="true"/>
        <vis name="RBG015"         alpha="0.5"  r= "0.0" g=".2"  b="1.0" showDaughters="true" visible="true"/>
        <vis name="RBG510"         alpha="0.5"  r= "1.0" g=".2"  b="0.0" showDaughters="true" visible="true"/>
        <vis name="RBG"            alpha="0.5"  r= "1.0" g="1.0" b="1.0" showDaughters="true" visible="true"/>
        <vis name="GrayVis"        alpha="1.0"  r= "0.75" g="0.75" b="0.75" showDaughters="true" visible="true"/>
      </display>
    
    
      <detectors>
        <!--
        <detector id="1" name="GEMTracker_PVDIS" vis="RedVis" type="GEMTrackerDiscSOLID" readout="GEMTrackerHits" > 
          <layer id="1" z="157.5*cm" inner_r="48.0*cm"  outer_r="122.0*cm" phi0_offset=" 0.5*deg" />
          <layer id="2" z="185.5*cm" inner_r="59.0*cm"  outer_r="143.0*cm" phi0_offset=" 0.0*deg" />
          <layer id="3" z="190  *cm" inner_r="65.0*cm"  outer_r="143.0*cm" phi0_offset=" 0.0*deg" />
          <layer id="4" z="306  *cm" inner_r="105.0*cm" outer_r="230.0*cm" phi0_offset="-0.5*deg" />
          <layer id="5" z="315  *cm" inner_r="109.0*cm" outer_r="237.0*cm" phi0_offset="-0.5*deg" />
        </detector>
        -->
    
        <detector id="2" name="GEMTracker_SIDIS" vis="RedVis" type="GEMTrackerDiscSOLID" readout="GEMTrackerHits" > 
    
          <layer id="1" z="-175 *cm" inner_r="36*cm"  outer_r="87.0*cm"  phi0_offset="0.0*deg" />
          <layer id="2" z="-150 *cm" inner_r="21*cm"  outer_r="98.0*cm"  phi0_offset="0.0*deg" />
          <layer id="3" z="-119 *cm" inner_r="25*cm"  outer_r="112.0*cm" phi0_offset="0.0*deg" />
          <layer id="4" z="-68  *cm" inner_r="32*cm"  outer_r="135.0*cm" phi0_offset="0.0*deg" />
          <layer id="5" z="-5   *cm" inner_r="42*cm"  outer_r="100.0*cm" phi0_offset="0.0*deg" />
          <layer id="6" z="5    *cm" inner_r="42*cm"  outer_r="100.0*cm" phi0_offset="0.0*deg" />
          <layer id="7" z="30   *cm" inner_r="42*cm"  outer_r="123.0*cm" phi0_offset="0.0*deg" />
          <layer id="8" z="60   *cm" inner_r="42*cm"  outer_r="123.0*cm" phi0_offset="0.0*deg" />
          <layer id="9" z="92   *cm" inner_r="55*cm"  outer_r="123.0*cm" phi0_offset="0.0*deg" />
        </detector>
    
        <detector id="102" name="GEMTracker_assembly" type="DD4hep_SubdetectorAssembly" vis="BlueVis">
          <composite name="GEMTracker_SIDIS"/>
        </detector>
    
      </detectors>
    
      <readouts>
        <readout name="TPCollection">
          <segmentation type="CartesianGridXY" grid_size_x="10.0*cm" grid_size_y="10.0*cm" />
          <id>system:5,layer:9,module:8,x:32:-16,y:-16</id>
        </readout>
        <!--
             <readout name="SiVertexBarrelHits">
          <id>system:8,barrel:3,layer:4,module:14,sensor:2,side:32:-2,strip:24</id>
        </readout>
    -->
        <readout name="GEMTrackerHits">
          <segmentation type="PolarGridRPhi" grid_size_phi="1.0*degree" grid_size_r="1.0*cm"/>
          <id>system:5,barrel:3,layer:4,module:5,r:32:-16,phi:-16</id>
          </readout>
        <!--
        <readout name="SiTrackerEndcapHits">
          <id>system:8,barrel:3,layer:4,module:14,sensor:2,side:32:-2,strip:24</id>
        </readout>
        <readout name="SiVertexEndcapHits">
          <id>system:8,barrel:3,layer:4,wedge:6,module:6,sensor:1,side:32:-2,strip:26</id>
        </readout>
    -->
      </readouts>
    
       <plugins>
           <plugin name="DD4hep_GenericSurfaceInstallerPlugin">
               <argument value="GEMTracker_SIDIS"/>
               <argument value="dimension=2"/>
               <argument value="u_x=-1."/>
               <argument value="v_y=-1."/>
               <argument value="n_z=1."/>
           </plugin>	
           <plugin name="InstallSurfaceManager"/>
       </plugins>
    
    
      <fields>
        <field name="GlobalSolenoid" type="solenoid" 
    
    	   inner_field="5.0*tesla"
    
    	   outer_field="-0.5*tesla" 
    	   zmax="4.0*m"
    	   outer_radius="2.0*m">
        </field>
      </fields>
    </lccdd>