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 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217
<?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="rMaxB"      value="[hgcal:rmaxHEF]"/>
  <Constant name="absorbW"    value="1.5*[hgcal:WaferW]"/>
  <Constant name="absorbH"    value="1.5*[hgcal:WaferW]"/>
</ConstantsSection>

<PosPartSection label="hgcalHE.xml">
  <Algorithm name="hgcal:DDHGCalTBModuleX">
    <rParent name="hgcal:HGCalHE"/>
    <String name="GeneralMaterial" value="materials:Air"/>
    <Vector name="WaferName" type="string" nEntries="2">
      hgcalwafer:HGCalHEWaferFine, hgcalwafer:HGCalHEWaferCoarse</Vector>
    <Vector name="CoverName" type="string" nEntries="9">
      hgcal:HGCalHESiliconSensitive, hgcal:HGCalHEPCB, 
      hgcal:HGCalHEKapton,           hgcal:HGCalHEAbsorber, 
      hgcal:HGCalHECuAbsorber,       hgcal:HGCalHEPCBAbsorber,
      hgcal:HGCalHECuKapton,         hgcal:HGCalHECuPCB,
      hgcal:HGCalHEAirAbsorber</Vector>
    <Vector name="MaterialNames" type="string" nEntries="66">
      materials:Air,    materials:Air,    materials:Air,
      materials:Air,    materials:Air,    materials:Iron, 
      materials:Copper, materials:Air,    materials:Iron,
      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,    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,    materials:Air,
      materials:Air,    materials:Air,    materials:Iron, 
      materials:Copper, materials:Air,    materials:Iron,
      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,    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="66">
      HEPCB,          HEKapton,           HECuWShield, 
      HECuShield,     HEPCBShield,        HEFeAbsorber,
      HECuHeatShield, HESiliconSensitive, HEFeBox, 
      HEAirGap1,      HEAirGap2,          HEAirGap3, 
      HEAirGap4,      HEAirGap5,          HEAirGap6, 
      HEAirGap7,      HEAirGap8,          HEAirGap9,
      HEAirGap10,     HEAirGap11,         HEAirGap12,
      HEAirGap13,     HEAirGap14,         HEAirGap15,
      HEAirGap16,     HECuKapton,         HECuPCB, 
      HEAirGap17,     HEAirGap18,         HEAirGap19,
      HEAirGap20,     HEAirGap21,         HEAirGap22,
      HEPCB,          HEKapton,           HECuWShield, 
      HECuShield,     HEPCBShield,        HEFeAbsorber,
      HECuHeatShield, HESiliconSensitive, HEFeBox, 
      HEAirGap1,      HEAirGap2,          HEAirGap3, 
      HEAirGap4,      HEAirGap5,          HEAirGap6, 
      HEAirGap7,      HEAirGap8,          HEAirGap9,
      HEAirGap10,     HEAirGap11,         HEAirGap12,
      HEAirGap13,     HEAirGap14,         HEAirGap15,
      HEAirGap16,     HECuKapton,         HECuPCB, 
      HEAirGap17,     HEAirGap18,         HEAirGap19,
      HEAirGap20,     HEAirGap21,         HEAirGap22</Vector>
    <Vector name="Thickness" type="numeric" nEntries="66">
      [hgcal:thPCB],     [hgcal:thKapton],   [hgcal:thAbsHE], 
      [hgcal:thAbsCuHE], [hgcal:thAbsPCBHE], 40.0*mm,
      6.0*mm,            [hgcal:thSilicon],  9.0*mm, 
      10.2*mm,           10.8*mm,            12.7*mm, 
      12.8*mm,           14.8*mm,            15.2*mm,
      5.0*mm,            6.0*mm,             7.0*mm, 
      7.1*mm,            8.0*mm,             8.5*mm,
      8.6*mm,            10.0*mm,            40.0*mm, 
      52*mm,             [hgcal:thCuKapton], [hgcal:thCuPCB], 
      7.45*mm,           11.8*mm,            25.0*mm,
      9.1*mm,            9.8*mm,             [hgcal:thAbsCuHE],
      [hgcal:thPCB],     [hgcal:thKapton],   [hgcal:thAbsHE], 
      [hgcal:thAbsCuHE], [hgcal:thAbsPCBHE], 40.0*mm,
      6.0*mm,            [hgcal:thSilicon],  9.0*mm, 
      10.2*mm,           10.8*mm,            12.7*mm, 
      12.8*mm,           14.8*mm,            15.2*mm,
      5.0*mm,            6.0*mm,             7.0*mm, 
      7.1*mm,            8.0*mm,             8.5*mm,
      8.6*mm,            10.0*mm,            40.0*mm, 
      52*mm,             [hgcal:thCuKapton], [hgcal:thCuPCB], 
      7.45*mm,           11.8*mm,            25.0*mm,
      9.1*mm,            9.8*mm,             [hgcal:thAbsCuHE]
    </Vector>
    <Vector name="BlockThick" type="numeric" nEntries="12"> 
      29.075*mm, 68.975*mm, 68.075*mm, 
      71.075*mm, 68.575*mm, 176.1*mm, 
      69.075*mm, 67.075*mm, 73.475*mm, 
      66.475*mm, 75.075*mm, 103.525*mm
    </Vector>
    <Numeric name="InOut"   value="2"/>
    <Vector name="LayerFrontIn" type="numeric" nEntries="12"> 
       0, 12, 25, 38, 51, 62, 82, 95,108,121,134,147</Vector>
    <Vector name="LayerBackIn" type="numeric" nEntries="12"> 
      11, 24, 37, 50, 61, 81, 94,107,120,133,146,161</Vector>
    <Vector name="LayerFrontOut" type="numeric" nEntries="12"> 
     162,174,187,200,213,224,244,257,270,283,296,309</Vector>
    <Vector name="LayerBackOut" type="numeric" nEntries="12"> 
     173,186,199,212,223,243,256,269,282,295,308,323</Vector>
    <Vector name="LayerType" type="numeric" nEntries="324"> 
       8, 31,  0, 26,  7,  7,  7, 25,  1,  3,  2,  6,
      20,  5,  9,  0, 26,  7,  7,  7, 25,  1,  3,  3,  6,
      19,  5, 31,  0, 26,  7,  7,  7, 25,  1,  3,  2,  6,
      19,  5, 12,  0, 26,  7,  7,  7, 25,  1,  3,  3,  6,
      21,  5, 31,  0, 26,  7,  7,  7,  4,  3,  6,
      17,  5, 11,  0, 26,  7,  7,  7, 25,  1, 25,  3, 25,  1,  3,  6, 15,  8, 24,  5,
      23,  8, 31,  0, 26,  7,  7,  7, 25,  1,  3,  3,  6,
      16,  5, 10,  0, 26,  7,  7,  7, 25,  1,  3,  3,  6,
      19,  5, 14,  0, 26,  7,  7,  7, 25,  1,  2,  3,  6,
      18,  5, 30,  0, 26,  7,  7,  7, 25,  1,  3,  3,  6,
      22,  5, 13,  0, 26,  7,  7,  7, 25,  1,  3,  3,  6,
      27,  5, 28,  0, 26,  7,  7,  7, 25,  1,  3,  3,  6, 29,  8,
      41, 64, 33, 59, 40, 40, 40, 58, 34, 36, 65, 39,
      53, 38, 42, 33, 59, 40, 40, 40, 58, 34, 36, 65, 39,
      52, 38, 64, 33, 59, 40, 40, 40, 58, 34, 36, 65, 39,
      52, 38, 45, 33, 59, 40, 40, 40, 58, 34, 36, 65, 39,
      54, 38, 64, 33, 59, 40, 40, 40, 37, 65, 39,
      50, 38, 44, 33, 59, 40, 40, 40, 58, 34, 58, 36, 58, 34, 65, 39, 48, 41, 57, 38,
      56, 41, 64, 33, 59, 40, 40, 40, 58, 34, 36, 65, 39,
      49, 38, 43, 33, 59, 40, 40, 40, 58, 34, 36, 65, 39,
      52, 38, 47, 33, 59, 40, 40, 40, 58, 34, 36, 65, 39,
      51, 38, 63, 33, 59, 40, 40, 40, 58, 34, 36, 65, 39,
      55, 38, 46, 33, 59, 40, 40, 40, 58, 34, 36, 65, 39,
      60, 38, 61, 33, 59, 40, 40, 40, 58, 34, 36, 65, 39, 62, 41
    </Vector>
    <Vector name="LayerSense" type="numeric" nEntries="324">
      0, 0, 2, 8, 1, 1, 1, 7, 3, 5, 4, 0,
      0, 0, 0, 2, 8, 1, 1, 1, 7, 3, 5, 5, 0,
      0, 0, 0, 2, 8, 1, 1, 1, 7, 3, 5, 4, 0,
      0, 0, 0, 2, 8, 1, 1, 1, 7, 3, 5, 5, 0,
      0, 0, 0, 2, 8, 1, 1, 1, 6, 5, 0,
      0, 0, 0, 2, 8, 1, 1, 1, 7, 3, 7, 5, 7, 3, 5, 0, 0, 0, 0, 0, 
      0, 0, 0, 2, 8, 1, 1, 1, 7, 3, 5, 5, 0,
      0, 0, 0, 2, 8, 1, 1, 1, 7, 3, 5, 5, 0,
      0, 0, 0, 2, 8, 1, 1, 1, 7, 3, 4, 5, 0,
      0, 0, 0, 2, 8, 1, 1, 1, 7, 3, 5, 5, 0,
      0, 0, 0, 2, 8, 1, 1, 1, 7, 3, 5, 9, 0,
      0, 0, 0, 2, 8, 1, 1, 1, 7, 3, 5, 9, 0, 0, 0,
      0, 0, 2, 8, 1, 1, 1, 7, 3, 5, 9, 0,
      0, 0, 0, 2, 8, 1, 1, 1, 7, 3, 5, 9, 0,
      0, 0, 0, 2, 8, 1, 1, 1, 7, 3, 5, 9, 0,
      0, 0, 0, 2, 8, 1, 1, 1, 7, 3, 5, 9, 0,
      0, 0, 0, 2, 8, 1, 1, 1, 6, 9, 0,
      0, 0, 0, 2, 8, 1, 1, 1, 7, 3, 7, 5, 7, 3, 9, 0, 0, 0, 0, 0, 
      0, 0, 0, 2, 8, 1, 1, 1, 7, 3, 5, 9, 0,
      0, 0, 0, 2, 8, 1, 1, 1, 7, 3, 5, 9, 0,
      0, 0, 0, 2, 8, 1, 1, 1, 7, 3, 4, 5, 0,
      0, 0, 0, 2, 8, 1, 1, 1, 7, 3, 5, 9, 0,
      0, 0, 0, 2, 8, 1, 1, 1, 7, 3, 5, 9, 0,
      0, 0, 0, 2, 8, 1, 1, 1, 7, 3, 5, 9, 0, 0, 0
    </Vector>
    <Vector name="MaxModule" type="numeric" nEntries="324">
      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
      0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0,
      0, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0,
      0, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0,
      0, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0,
      0, 0, 0, 2, 2, 2, 2, 2, 2, 2, 0,
      0, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 
      0, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0,
      0, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0,
      0, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0,
      0, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0,
      0, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0,
      0, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 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="rMax"        value="[rMax]"/>
    <Numeric name="rMaxB"       value="[rMaxB]"/>
  </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>