Skip to content
Snippets Groups Projects
ce_ecal_crystal_glass.xml 8.39 KiB
Newer Older
<lccdd>
  <define>
    <constant name="CrystalModule_sx" value="20.0*mm"/>
    <constant name="CrystalModule_sy" value="20.0*mm"/>
    <constant name="CrystalModule_sz" value="20.0*cm"/>
    <constant name="CrystalModule_wrap" value="0.5*mm"/>
    <constant name="CrystalModule_dz" value="-8*cm"/>
    <constant name="GlassModule_sx" value="40.0*mm"/>
    <constant name="GlassModule_sy" value="40.0*mm"/>
    <constant name="GlassModule_sz" value="40.0*cm"/>
    <constant name="GlassModule_dz" value="0.0*cm"/>
    <constant name="GlassModule_wrap" value="1.0*mm"/>
    <constant name="EcalEndcapN_z0" value="-EcalEndcapN_zmin-max(CrystalModule_sz,GlassModule_sz)/2."/>
  </define>
  <detectors>
    <comment> Backwards Endcap EM Calorimeter, placements generated by script </comment>
    <detector id="ECalEndcapN_ID" name="EcalEndcapN" type="HomogeneousCalorimeter" readout="EcalEndcapNHits">
      <position x="0" y="0" z="EcalEndcapN_z0"/>
      <rotation x="0" y="0" z="0"/>
      <placements>
        <lines sector="1" mirrorx="true" mirrory="true">
          <module sizex="CrystalModule_sx" sizey="CrystalModule_sy" sizez="CrystalModule_sz" material="PbWO4" vis="AnlTeal"/>
          <wrapper thickness="CrystalModule_wrap" material="Epoxy" vis="WhiteVis"/>
          <position z="CrystalModule_dz"/>
          <line x="(CrystalModule_sx + CrystalModule_wrap)/2." y="(CrystalModule_sy + CrystalModule_wrap)*1/2." begin="7" nmods="17"/>
          <line x="(CrystalModule_sx + CrystalModule_wrap)/2." y="(CrystalModule_sy + CrystalModule_wrap)*3/2." begin="7" nmods="17"/>
          <line x="(CrystalModule_sx + CrystalModule_wrap)/2." y="(CrystalModule_sy + CrystalModule_wrap)*5/2." begin="7" nmods="17"/>
          <line x="(CrystalModule_sx + CrystalModule_wrap)/2." y="(CrystalModule_sy + CrystalModule_wrap)*7/2." begin="6" nmods="18"/>
          <line x="(CrystalModule_sx + CrystalModule_wrap)/2." y="(CrystalModule_sy + CrystalModule_wrap)*9/2." begin="6" nmods="18"/>
          <line x="(CrystalModule_sx + CrystalModule_wrap)/2." y="(CrystalModule_sy + CrystalModule_wrap)*11/2." begin="5" nmods="19"/>
          <line x="(CrystalModule_sx + CrystalModule_wrap)/2." y="(CrystalModule_sy + CrystalModule_wrap)*13/2." begin="3" nmods="19"/>
          <line x="(CrystalModule_sx + CrystalModule_wrap)/2." y="(CrystalModule_sy + CrystalModule_wrap)*15/2." begin="0" nmods="22"/>
          <line x="(CrystalModule_sx + CrystalModule_wrap)/2." y="(CrystalModule_sy + CrystalModule_wrap)*17/2." begin="0" nmods="22"/>
          <line x="(CrystalModule_sx + CrystalModule_wrap)/2." y="(CrystalModule_sy + CrystalModule_wrap)*19/2." begin="0" nmods="22"/>
          <line x="(CrystalModule_sx + CrystalModule_wrap)/2." y="(CrystalModule_sy + CrystalModule_wrap)*21/2." begin="0" nmods="22"/>
          <line x="(CrystalModule_sx + CrystalModule_wrap)/2." y="(CrystalModule_sy + CrystalModule_wrap)*23/2." begin="0" nmods="22"/>
          <line x="(CrystalModule_sx + CrystalModule_wrap)/2." y="(CrystalModule_sy + CrystalModule_wrap)*25/2." begin="0" nmods="20"/>
          <line x="(CrystalModule_sx + CrystalModule_wrap)/2." y="(CrystalModule_sy + CrystalModule_wrap)*27/2." begin="0" nmods="20"/>
          <line x="(CrystalModule_sx + CrystalModule_wrap)/2." y="(CrystalModule_sy + CrystalModule_wrap)*29/2." begin="0" nmods="18"/>
          <line x="(CrystalModule_sx + CrystalModule_wrap)/2." y="(CrystalModule_sy + CrystalModule_wrap)*31/2." begin="0" nmods="18"/>
          <line x="(CrystalModule_sx + CrystalModule_wrap)/2." y="(CrystalModule_sy + CrystalModule_wrap)*33/2." begin="0" nmods="16"/>
          <line x="(CrystalModule_sx + CrystalModule_wrap)/2." y="(CrystalModule_sy + CrystalModule_wrap)*35/2." begin="0" nmods="16"/>
          <line x="(CrystalModule_sx + CrystalModule_wrap)/2." y="(CrystalModule_sy + CrystalModule_wrap)*37/2." begin="0" nmods="14"/>
          <line x="(CrystalModule_sx + CrystalModule_wrap)/2." y="(CrystalModule_sy + CrystalModule_wrap)*39/2." begin="0" nmods="14"/>
          <line x="(CrystalModule_sx + CrystalModule_wrap)/2." y="(CrystalModule_sy + CrystalModule_wrap)*41/2." begin="0" nmods="12"/>
          <line x="(CrystalModule_sx + CrystalModule_wrap)/2." y="(CrystalModule_sy + CrystalModule_wrap)*43/2." begin="0" nmods="12"/>
          <line x="(CrystalModule_sx + CrystalModule_wrap)/2." y="(CrystalModule_sy + CrystalModule_wrap)*45/2." begin="0" nmods="6"/>
          <line x="(CrystalModule_sx + CrystalModule_wrap)/2." y="(CrystalModule_sy + CrystalModule_wrap)*47/2." begin="0" nmods="6"/>
        </lines>
        <lines sector="2" mirrorx="true" mirrory="true">
          <module sizex="GlassModule_sx" sizey="GlassModule_sy" sizez="GlassModule_sz" material="PbGlass" vis="AnlBlue"/>
          <wrapper thickness="GlassModule_wrap" material="Epoxy" vis="WhiteVis"/>
          <position z="GlassModule_dz"/>
          <line x="(GlassModule_sx + GlassModule_wrap)/2." y="(GlassModule_sy + GlassModule_wrap)*1/2." begin="12" nmods="11"/>
          <line x="(GlassModule_sx + GlassModule_wrap)/2." y="(GlassModule_sy + GlassModule_wrap)*3/2." begin="12" nmods="11"/>
          <line x="(GlassModule_sx + GlassModule_wrap)/2." y="(GlassModule_sy + GlassModule_wrap)*5/2." begin="12" nmods="11"/>
          <line x="(GlassModule_sx + GlassModule_wrap)/2." y="(GlassModule_sy + GlassModule_wrap)*7/2." begin="11" nmods="12"/>
          <line x="(GlassModule_sx + GlassModule_wrap)/2." y="(GlassModule_sy + GlassModule_wrap)*9/2." begin="11" nmods="12"/>
          <line x="(GlassModule_sx + GlassModule_wrap)/2." y="(GlassModule_sy + GlassModule_wrap)*11/2." begin="11" nmods="12"/>
          <line x="(GlassModule_sx + GlassModule_wrap)/2." y="(GlassModule_sy + GlassModule_wrap)*13/2." begin="10" nmods="12"/>
          <line x="(GlassModule_sx + GlassModule_wrap)/2." y="(GlassModule_sy + GlassModule_wrap)*15/2." begin="9" nmods="13"/>
          <line x="(GlassModule_sx + GlassModule_wrap)/2." y="(GlassModule_sy + GlassModule_wrap)*17/2." begin="8" nmods="13"/>
          <line x="(GlassModule_sx + GlassModule_wrap)/2." y="(GlassModule_sy + GlassModule_wrap)*19/2." begin="7" nmods="14"/>
          <line x="(GlassModule_sx + GlassModule_wrap)/2." y="(GlassModule_sy + GlassModule_wrap)*21/2." begin="6" nmods="14"/>
          <line x="(GlassModule_sx + GlassModule_wrap)/2." y="(GlassModule_sy + GlassModule_wrap)*23/2." begin="3" nmods="16"/>
          <line x="(GlassModule_sx + GlassModule_wrap)/2." y="(GlassModule_sy + GlassModule_wrap)*25/2." begin="0" nmods="19"/>
          <line x="(GlassModule_sx + GlassModule_wrap)/2." y="(GlassModule_sy + GlassModule_wrap)*27/2." begin="0" nmods="18"/>
          <line x="(GlassModule_sx + GlassModule_wrap)/2." y="(GlassModule_sy + GlassModule_wrap)*29/2." begin="0" nmods="18"/>
          <line x="(GlassModule_sx + GlassModule_wrap)/2." y="(GlassModule_sy + GlassModule_wrap)*31/2." begin="0" nmods="17"/>
          <line x="(GlassModule_sx + GlassModule_wrap)/2." y="(GlassModule_sy + GlassModule_wrap)*33/2." begin="0" nmods="17"/>
          <line x="(GlassModule_sx + GlassModule_wrap)/2." y="(GlassModule_sy + GlassModule_wrap)*35/2." begin="0" nmods="15"/>
          <line x="(GlassModule_sx + GlassModule_wrap)/2." y="(GlassModule_sy + GlassModule_wrap)*37/2." begin="0" nmods="13"/>
          <line x="(GlassModule_sx + GlassModule_wrap)/2." y="(GlassModule_sy + GlassModule_wrap)*39/2." begin="0" nmods="11"/>
          <line x="(GlassModule_sx + GlassModule_wrap)/2." y="(GlassModule_sy + GlassModule_wrap)*41/2." begin="0" nmods="10"/>
          <line x="(GlassModule_sx + GlassModule_wrap)/2." y="(GlassModule_sy + GlassModule_wrap)*43/2." begin="0" nmods="8"/>
          <line x="(GlassModule_sx + GlassModule_wrap)/2." y="(GlassModule_sy + GlassModule_wrap)*45/2." begin="0" nmods="6"/>
        </lines>
      </placements>
    </detector>
  </detectors>
  <readouts>
    <comment>Effectively no segmentation, the segmentation is used to provide cell dimension info</comment>
    <readout name="EcalEndcapNHits">
      <segmentation type="MultiSegmentation" key="sector">
        <segmentation name="CrystalSeg" key_value="1" type="CartesianGridXY" grid_size_x="CrystalModule_sx + CrystalModule_wrap" grid_size_y="CrystalModule_sy + CrystalModule_wrap"/>
        <segmentation name="GlassSeg" key_value="2" type="CartesianGridXY" grid_size_x="GlassModule_sx + GlassModule_wrap" grid_size_y="GlassModule_sy + GlassModule_wrap"/>
      </segmentation>
      <id>system:8,sector:4,module:20,x:32:-16,y:-16</id>
    </readout>
  </readouts>
</lccdd>