Skip to content
Snippets Groups Projects
GenericRICH_example.xml 6.16 KiB
Newer Older
  • Learn to ignore specific revisions
  • Chao Peng's avatar
    Chao Peng committed
    <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="GenericRICH_example" title="Generic RICH detector example"
            author="Whitney Armstrong"
            url="https://eicweb.phy.anl.gov/EIC/NPDet"
            status="development"
            version="$Id: compact.xml v1.0 2016-12-21$">
        <comment>A generic RICH detector</comment>
      </info>
    
      <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="world_side"/>
        <constant name="CrossingAngle" value="0.020*rad"/>
        <constant name="tracker_region_zmax" value="5*m"/>
        <constant name="tracker_region_rmax" value="5*m"/>
        <constant name="PhotMomWaveConv" value="1243.125*eV"/>
      </define>
    
      <properties>
        <matrix name="RINDEX__N2" coldim="2" values="
          1.0*eV 1.00033
          4.0*eV 1.00033
          5.1*eV 1.00033
          "/>
        <matrix name="RINDEX__Pyrex" coldim="2" values="
          1.0*eV 1.5
          4.0*eV 1.5
          5.1*eV 1.5
          "/>
        <matrix name= "REFLECTIVITY_mirror" coldim="2" values="
          1.0*eV  0.9
          4.0*eV  0.9
          5.1*eV  0.9
        "/>
    
      </properties>
    
    
      <includes>
        <gdmlFile  ref="elements.xml"/>
        <gdmlFile  ref="materials.xml"/>
      </includes>
    
      <materials>
        <material name="N2cherenkov">
          <D type="density" value="0.00125" unit="g/cm3"/>
          <composite n="1" ref="N"/>
          <property name="RINDEX"   ref="RINDEX__N2"/>
        </material>
        <material name="PyrexCherenkov">
          <D type="density" value="2.23" unit="g/cm3"/>
          <fraction n="0.806" ref="SiliconOxide"/>
          <fraction n="0.130" ref="BoronOxide"/>
          <fraction n="0.040" ref="SodiumOxide"/>
          <fraction n="0.023" ref="AluminumOxide"/>
          <property name="RINDEX"   ref="RINDEX__Pyrex"/>
        </material>
      </materials>
    
      <surfaces>
        <comment> For the values of "finish", model and type, see TGeoOpticalSurface.h !
        </comment>
        <opticalsurface finish="polished" model="glisur" name="MirrorOpticalSurface" type="dielectric_metal" value="0">
          <property name="REFLECTIVITY" ref="REFLECTIVITY_mirror"/>
          <property name="RINDEX"       coldim="2" values="1.034*eV  1.5   4.136*eV  1.5"/>
          <!--<property name="EFFICIENCY"   ref="EFFICIENCY0x8b77240"/>-->
        </opticalsurface>
        <opticalsurface name="mirror2" finish="polished" model="glisur" type="dielectric_dielectric">
          <property name="REFLECTIVITY"            coldim="2" values="1.034*eV  0.8   4.136*eV  0.9"/>
          <property name="EFFICIENCY"              coldim="2" values="2.034*eV  0.8   4.136*eV  1.0"/>
          <property name="RINDEX"                  coldim="2" values="1.034*eV  1.5   4.136*eV  1.5"/>
        </opticalsurface>
    
      </surfaces>
    
    
      <limits>
        <limitset name="cal_limits">
          <limit name="step_length_max" particles="*" value="5.0" unit="mm" />
        </limitset>
        <limitset name="GenericRICHRegionLimitSet">
          <limit name="step_length_max" particles="*" value="1.0" unit="mm" />
          <limit name="track_length_max" particles="*" value="1.0" unit="mm" />
          <limit name="time_max" particles="*" value="0.1" unit="ns" />
          <limit name="ekin_min" particles="*" value="0.001" unit="MeV" />
          <limit name="range_min" particles="*" value="0.1" unit="mm" />
        </limitset>
      </limits>
      <regions>
        <region name="GenericRICHRegion" eunit="MeV" lunit="mm" cut="0.0001" threshold="0.0001">
          <limitsetref name="GenericRICHRegionLimitSet"/>
        </region>
      </regions>
    
      <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="0.5"  r= "0.75" g="0.75" b="0.75" showDaughters="true" visible="true"/>
      </display>
    
      <detectors>
        <detector id="1" name="ForwardRICH" type="GenericRICH" readout="ForwardRICHHits"
          vis="RedVis" material="N2cherenkov">
          <dimensions rmin1="30*cm" rmin2="30*cm" rmax1="80*cm" rmax2="80*cm" zmin="20*cm"  zmax="120*cm"/>
        </detector>
      </detectors>
    
      <!--  Definition of the readout segmentation/definition  -->
      <readouts>
        <readout name="ForwardRICHHits">
          <segmentation type="CartesianGridXY" grid_size_x="3*mm" grid_size_y="3*mm" />
          <id>system:5,layer:4,module:14,x:32:-16,y:-16</id>
        </readout>
      </readouts>
    
      <plugins>
        <!--
        <plugin name="DD4hep_GenericSurfaceInstallerPlugin">
          <argument value="ForwardRomanPot"/>
          <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="4.0*tesla"
          outer_field="-0.6*tesla"
          zmax="3*m"
          outer_radius="2*m">
        </field>
      </fields>
    </lccdd>