Line Code
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114
<?xml version="1.0"?>
<DDDefinition xmlns="http://www.cern.ch/cms/DDL" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.cern.ch/cms/DDL ../../../../DetectorDescription/Schema/DDLSchema.xsd">

<ConstantsSection label="hgcalHE.xml" eval="true">
  <Constant name="rMinFine"   value="0.0*fm"/>
  <Constant name="rMaxFine"   value="0.0*fm"/>
  <Constant name="rMaxMiddle" value="0.0*fm"/>
  <Constant name="rMaxCoarse" value="2000.0*cm"/>
  <Constant name="rMin"       value="[hgcal:rminHE]"/>
  <Constant name="rMax"       value="[hgcal:rmaxHE]"/>
  <Constant name="absorbW"    value="1.5*[hgcal:WaferW]"/>
  <Constant name="absorbH"    value="1.5*[hgcal:WaferW]"/>
</ConstantsSection>

<PosPartSection label="hgcalHE.xml">
  <Algorithm name="hgcal:DDHGCalTBModule">
    <rParent name="hgcal:HGCalHE"/>
    <Vector name="WaferName" type="string" nEntries="2">
      hgcalwafer:HGCalHEWaferFine, hgcalwafer:HGCalHEWaferCoarse</Vector>
    <Vector name="CoverName" type="string" nEntries="4">
      hgcal:HGCalHEPCB, hgcal:HGCalHEKapton, hgcal:HGCalHEAbsorber, 
      hgcal:HGCalEEAbsorber</Vector>
    <Vector name="MaterialNames" type="string" nEntries="21">
      materials:StainlessSteel, materials:Air, materials:Air, 
      materials:Copper, materials:Air, materials:Air,
      materials:Air, materials:StainlessSteel, materials:Air,
      materials:Air, materials:Air, materials:Air, 
      materials:Air, materials:Air, materials:Air, 
      materials:Air, materials:Air, materials:Air,
      materials:Air, materials:Air, materials:Air
      </Vector>
    <Vector name="VolumeNames" type="string" nEntries="21">
      HESiliconAbsorber1, HESiliconPCB1, HESiliconShield1, 
      HESiliconHeatShield, HESiliconSensitive, HESiliconKapton1,
      HESiliconAirGap, HESiliconSupport, HEAirGap1, 
      HEAirGap2, HEAirGap3, HEAirGap4, 
      HEAirGap5, HEAirGap6, HEAirGap7, 
      HEAirGap8, HEAirGap9, HEAirGap10,
      HEAirGap11, HEAirGap12, HEBaseCuW</Vector>
    <Vector name="Thickness" type="numeric" nEntries="21">
      40.0*mm, [hgcal:thPCB], [hgcal:thAbsHE], 6.0*mm, 0.1*mm, 
      [hgcal:thKapton], 6*mm, 10*mm, 7.0*mm, 7*mm, 8*mm, 8.9*mm,
      9*mm, 9.62*mm, 10.54*mm, 10.9*mm,
      13.9*mm, 18*mm, 22.9*mm, 63*mm, [hgcal:thAbsEE]
      </Vector>
    <Vector name="Layers" type="numeric" nEntries="12"> 
      9, 10, 10, 10, 10, 10, 5, 8, 10, 10, 10, 6</Vector>
    <Vector name="LayerThick" type="numeric" nEntries="12"> 
      26.11*mm, 64.73*mm, 68.01*mm, 62.11*mm, 68.65*mm, 66.01*mm, 131.9*mm, 
      16.11*mm, 69.01*mm, 66.01*mm, 67.01*mm, 148.9*mm </Vector>
    <Vector name="LayerType" type="numeric" nEntries="108"> 
      7, 9, 3, 2, 5, 4, 4, 4, 1,
      13, 0, 6, 3, 2, 5, 4, 4, 4, 1,
      15, 0, 10, 3, 2, 5, 4, 4, 4, 1,
      8, 0, 6, 3, 20, 5, 4, 4, 4, 1,
      14, 0, 12, 3, 2, 5, 4, 4, 4, 1,
      15, 0, 6, 3, 2, 5, 4, 4, 4, 1,
      11, 7, 19, 7, 0,
      9, 3, 2, 5, 4, 4, 4, 1,
      16, 0, 6, 3, 20, 5, 4, 4, 4, 1,
      15, 0, 6, 3, 20, 5, 4, 4, 4, 1,
      15, 0, 9, 3, 20, 5, 4, 4, 4, 1,
      18, 0, 17, 0, 17, 7
      
    </Vector>
    <Vector name="LayerSense" type="numeric" nEntries="108">
      0, 0, 0, 4, 3, 1, 1, 1, 2,
      0, 0, 0, 0, 4, 3, 1, 1, 1, 2,
      0, 0, 0, 0, 4, 3, 1, 1, 1, 2,
      0, 0, 0, 0, 5, 3, 1, 1, 1, 2,
      0, 0, 0, 0, 4, 3, 1, 1, 1, 2,
      0, 0, 0, 0, 4, 3, 1, 1, 1, 2,
      0, 0, 0, 0, 0,
      0, 0, 4, 3, 1, 1, 1, 2,
      0, 0, 0, 0, 5, 3, 1, 1, 1, 2,
      0, 0, 0, 0, 5, 3, 1, 1, 1, 2,
      0, 0, 0, 0, 5, 3, 1, 1, 1, 2,
      0, 0, 0, 0, 0, 0
    </Vector>
    <Numeric name="zMinBlock"   value="[hgcal:zminHE]"/>
    <Numeric name="rMaxFine"    value="[rMaxFine]"/>
    <Numeric name="waferW"      value="[hgcal:WaferW]"/>
    <Numeric name="waferGap"    value="1.0*mm"/>
    <Numeric name="absorberW"   value="[hgcalHE:absorbW]"/>
    <Numeric name="absorberH"   value="[hgcalHE:absorbH]"/>
    <Numeric name="Sectors"     value="12"/>
    <Vector name="SlopeBottom" type="numeric" nEntries="2">
      0.0, 0.0</Vector>
    <Vector name="SlopeTop" type="numeric" nEntries="2">
      0, 0</Vector>
    <Vector name="ZFront" type="numeric" nEntries="2">
      [hgcal:zminHE], [hgcal:zmaxHE]</Vector>
    <Vector name="RMaxFront" type="numeric" nEntries="2">
      [hgcal:rmaxHE], [hgcal:rmaxHE]</Vector>
    <String name="RotNameSpace" value="hgcalmodule"/>
  </Algorithm>
</PosPartSection> 

<SpecParSection label="hgcalHE.xml" eval="true">
  <SpecPar name="HGCalHE">
    <PartSelector path="//HGCalHESiliconSensitive.*"/>
    <Parameter name="Volume" value="HGCalHESiliconSensitive" eval="false"/>
    <Parameter name="GeometryMode" value="HGCalGeometryMode::Hexagon" eval="false"/>
    <Parameter name="RadiusBound"  value="[rMinFine]"/>
    <Parameter name="RadiusBound"  value="[rMaxFine]"/>
    <Parameter name="RadiusBound"  value="[rMaxMiddle]"/>
    <Parameter name="RadiusBound"  value="[rMaxCoarse]"/>
    <Parameter name="RadiusLimits" value="[rMin]"/>
    <Parameter name="RadiusLimits" value="[rMax]"/>
    <Parameter name="LevelTop"     value="99"/>
  </SpecPar>
</SpecParSection>

</DDDefinition>