| [819] | 1 | //
|
|---|
| 2 | // ********************************************************************
|
|---|
| 3 | // * License and Disclaimer *
|
|---|
| 4 | // * *
|
|---|
| 5 | // * The Geant4 software is copyright of the Copyright Holders of *
|
|---|
| 6 | // * the Geant4 Collaboration. It is provided under the terms and *
|
|---|
| 7 | // * conditions of the Geant4 Software License, included in the file *
|
|---|
| 8 | // * LICENSE and available at http://cern.ch/geant4/license . These *
|
|---|
| 9 | // * include a list of copyright holders. *
|
|---|
| 10 | // * *
|
|---|
| 11 | // * Neither the authors of this software system, nor their employing *
|
|---|
| 12 | // * institutes,nor the agencies providing financial support for this *
|
|---|
| 13 | // * work make any representation or warranty, express or implied, *
|
|---|
| 14 | // * regarding this software system or assume any liability for its *
|
|---|
| 15 | // * use. Please see the license in the file LICENSE and URL above *
|
|---|
| 16 | // * for the full disclaimer and the limitation of liability. *
|
|---|
| 17 | // * *
|
|---|
| 18 | // * This code implementation is the result of the scientific and *
|
|---|
| 19 | // * technical work of the GEANT4 collaboration. *
|
|---|
| 20 | // * By using, copying, modifying or distributing the software (or *
|
|---|
| 21 | // * any work based on the software) you agree to acknowledge its *
|
|---|
| 22 | // * use in resulting scientific publications, and indicate your *
|
|---|
| 23 | // * acceptance of all terms of the Geant4 Software license. *
|
|---|
| 24 | // ********************************************************************
|
|---|
| 25 | //
|
|---|
| 26 | //
|
|---|
| 27 | //
|
|---|
| 28 | // Author: Simona Saliceti (simona.saliceti@ge.infn.it)
|
|---|
| 29 | //
|
|---|
| 30 | // History:
|
|---|
| 31 | // -----------
|
|---|
| 32 | // 22 Apr 2004 First committed to cvs
|
|---|
| 33 | //
|
|---|
| 34 | // -------------------------------------------------------------------
|
|---|
| [1192] | 35 | // $Id: G4hShellCrossSectionExpData.cc,v 1.4 2009/06/10 13:32:36 mantero Exp $
|
|---|
| 36 | // GEANT4 tag $Name: emlowen-V09-02-64 $
|
|---|
| [819] | 37 |
|
|---|
| 38 | #include "G4hShellCrossSectionExpData.hh"
|
|---|
| 39 | #include <fstream>
|
|---|
| 40 |
|
|---|
| 41 | G4hShellCrossSectionExpData::G4hShellCrossSectionExpData()
|
|---|
| 42 | {
|
|---|
| 43 |
|
|---|
| 44 |
|
|---|
| 45 | FillVectorValues();
|
|---|
| 46 |
|
|---|
| 47 | FillParameterMap();
|
|---|
| 48 |
|
|---|
| 49 | }
|
|---|
| 50 |
|
|---|
| 51 | G4hShellCrossSectionExpData::~G4hShellCrossSectionExpData()
|
|---|
| 52 | {
|
|---|
| 53 | std::map< G4int,std::vector<G4double>*,std::less<G4int> >::iterator pos;
|
|---|
| 54 | for (pos = parameterMap.begin(); pos != parameterMap.end(); ++pos)
|
|---|
| 55 | {
|
|---|
| 56 | std::vector<G4double>* dataSet = (*pos).second;
|
|---|
| 57 | delete dataSet;
|
|---|
| 58 | }
|
|---|
| 59 | }
|
|---|
| 60 |
|
|---|
| 61 | inline void G4hShellCrossSectionExpData::InitializeVector(std::vector<G4double> &vect, G4double value1, G4double value2, G4double value3) const
|
|---|
| 62 | {
|
|---|
| 63 | vect.push_back(value1);
|
|---|
| 64 | vect.push_back(value2);
|
|---|
| 65 | vect.push_back(value3);
|
|---|
| 66 | }
|
|---|
| 67 |
|
|---|
| 68 | void G4hShellCrossSectionExpData::FillVectorValues()
|
|---|
| 69 | {
|
|---|
| 70 | InitializeVector(parameter6C, 25965819., 0.1974268719, -0.9746342);
|
|---|
| 71 | InitializeVector(parameter7N, 14254204., 0.09584816998, -0.8908825);
|
|---|
| 72 | InitializeVector(parameter8O, 14257000., 0.9582500E-01, -0.8909900);
|
|---|
| 73 | InitializeVector(parameter9F, 5628098., 0.2221402E-01, -0.7857742);
|
|---|
| 74 | InitializeVector(parameter10Ne, 3866500., 0.9298651E-02, -0.7569925);
|
|---|
| 75 | InitializeVector(parameter11Na, 2816614., 0.3161790E-02, -0.7429561);
|
|---|
| 76 | InitializeVector(parameter12Mg, 2113709., 0.9267687E-03, -0.7342144);
|
|---|
| 77 | InitializeVector(parameter13Al, 1647127., 0.2344573E-03, -0.7305032);
|
|---|
| 78 | InitializeVector(parameter14Si, 1267490., 0.5787061E-04, -0.7184879);
|
|---|
| 79 | InitializeVector(parameter15P, 1035792., 0.1101495E-04, -0.7199858);
|
|---|
| 80 | InitializeVector(parameter16S, 825871.6, 0.2326387E-05, -0.7095044);
|
|---|
| 81 | InitializeVector(parameter17Cl, 13.41653, -14.66877, -0.7017217);
|
|---|
| 82 | InitializeVector(parameter18Ar, 555038.1, 0.6543986E-07, -0.6968985);
|
|---|
| 83 | InitializeVector(parameter19K, 469063.8, 0.8876799E-08, -0.6940991);
|
|---|
| 84 | InitializeVector(parameter20Ca, 405918.4, 0.9881247E-09, -0.6953619);
|
|---|
| 85 | InitializeVector(parameter21Sc, 351611.0, 0.1054022E-09, -0.6950487);
|
|---|
| 86 | InitializeVector(parameter22Ti, 313223.2, 0.8541349E-11, -0.6984913);
|
|---|
| 87 | InitializeVector(parameter23V, 257752.3, 0.1092866E-11, -0.6841001);
|
|---|
| 88 | InitializeVector(parameter24Cr, 230064.8, 0.7874358E-13, -0.6862135);
|
|---|
| 89 | InitializeVector(parameter25Mn, 151740.8, 0.7988999E-13, -0.6279536);
|
|---|
| 90 | InitializeVector(parameter26Fe, 12.21083, -35.54018, -0.7140945);
|
|---|
| 91 | InitializeVector(parameter27Co, 12.14600, -38.73178, -0.7229655);
|
|---|
| 92 | InitializeVector(parameter28Ni, 12.10570, -42.25900, -0.7354265);
|
|---|
| 93 | InitializeVector(parameter29Cu, 11.87911, -44.37304, -0.7089269);
|
|---|
| 94 | InitializeVector(parameter30Zn, 11.86411, -48.35208, -0.7252861);
|
|---|
| 95 | InitializeVector(parameter31Ga, 11.66042, -50.73798, -0.7029260);
|
|---|
| 96 | InitializeVector(parameter32Ge, 11.66824, -55.26208, -0.7218891);
|
|---|
| 97 | InitializeVector(parameter33As, 11.47804, -57.94218, -0.7016547);
|
|---|
| 98 | InitializeVector(parameter34Se, 11.30017, -60.70304, -0.6836499);
|
|---|
| 99 | InitializeVector(parameter35Br, 11.32571, -65.77174, -0.7042627);
|
|---|
| 100 | InitializeVector(parameter36Kr, 10.44025, -61.74093, -0.5383769);
|
|---|
| 101 | InitializeVector(parameter37Rb, 10.27499, -64.44025, -0.5236434);
|
|---|
| 102 | InitializeVector(parameter38Sr, 10.31786, -69.83844, -0.5475903);
|
|---|
| 103 | InitializeVector(parameter39Y, 10.14157, -72.55550, -0.5302060);
|
|---|
| 104 | InitializeVector(parameter40Zr, 10.03310, -76.52999, -0.5243382);
|
|---|
| 105 | InitializeVector(parameter41Nb, 10.03804, -81.38335, -0.5404782);
|
|---|
| 106 | InitializeVector(parameter42Mo, 9.872166, -84.24110, -0.5245091);
|
|---|
| 107 | InitializeVector(parameter43Tc, 9.941685, -90.72401, -0.5503877);
|
|---|
| 108 | InitializeVector(parameter44Ru, 9.771618, -93.50847, -0.5334178);
|
|---|
| 109 | InitializeVector(parameter45Rh, 9.819192, -99.99145, -0.5543751);
|
|---|
| 110 | InitializeVector(parameter46Pd, 9.680034, -103.5450, -0.5387755);
|
|---|
| 111 | InitializeVector(parameter47Ag, 9.703977, -109.8104, -0.5550457);
|
|---|
| 112 | InitializeVector(parameter48Cd, 9.548004, -113.0565, -0.5399088);
|
|---|
| 113 | InitializeVector(parameter49In, 9.378392, -115.8466, -0.5226109);
|
|---|
| 114 | InitializeVector(parameter50Sn, 9.406608, -122.6137, -0.5386317);
|
|---|
| 115 | InitializeVector(parameter51Sb, 9.254029, -125.8533, -0.5238908);
|
|---|
| 116 | InitializeVector(parameter52Te, 9.311451, -133.6049, -0.5440237);
|
|---|
| 117 | InitializeVector(parameter53I, 9.158569, -136.7913, -0.5291739);
|
|---|
| 118 | InitializeVector(parameter54Xe, 9.011420, -140.1908, -0.5150210);
|
|---|
| 119 | InitializeVector(parameter55Cs, 9.112158, -149.6160, -0.5411919);
|
|---|
| 120 | InitializeVector(parameter56Ba, 7.696734, -124.4350, -0.3181673);
|
|---|
| 121 | InitializeVector(parameter57La, 7.728227, -130.9067, -0.3348193);
|
|---|
| 122 | InitializeVector(parameter58Ce, 7.595518, -134.1356, -0.3233585);
|
|---|
| 123 | InitializeVector(parameter59Pr, 7.451400, -136.9318, -0.3102762);
|
|---|
| 124 | InitializeVector(parameter60Nd, 7.493138, -144.0968, -0.3273972);
|
|---|
| 125 | InitializeVector(parameter61Pm, 7.358854, -147.1354, -0.3155824);
|
|---|
| 126 | InitializeVector(parameter62Sm, 7.231769, -150.3722, -0.3048225);
|
|---|
| 127 | InitializeVector(parameter63Eu, 7.060385, -152.3517, -0.2873322);
|
|---|
| 128 | InitializeVector(parameter64Gd, 7.179881, -161.9544, -0.3162093);
|
|---|
| 129 | InitializeVector(parameter65Tb, 7.048202, -164.9670, -0.3046019);
|
|---|
| 130 | InitializeVector(parameter66Dy, 1.962871, -4.620275, 0.5748519E-02);
|
|---|
| 131 | InitializeVector(parameter67Ho, 1.992797, -4.863559, 0.5772170E-02);
|
|---|
| 132 | InitializeVector(parameter68Er, 2.013621, -5.068997, 0.5749294E-02);
|
|---|
| 133 | InitializeVector(parameter69Tm, 2.026489, -5.243042, 0.5671808E-02);
|
|---|
| 134 | InitializeVector(parameter70Yb, 1.946252, -5.047087, 0.5011610E-02);
|
|---|
| 135 | InitializeVector(parameter71Lu, 1.968246, -5.253083, 0.5007004E-02);
|
|---|
| 136 | InitializeVector(parameter72Hf, 1.980888, -5.421401, 0.4949681E-02);
|
|---|
| 137 | InitializeVector(parameter73Ta, 1.925043, -5.310529, 0.4504530E-02);
|
|---|
| 138 | InitializeVector(parameter74W, 1.939689, -5.484359, 0.4464923E-02);
|
|---|
| 139 | InitializeVector(parameter75Re, 1.951746, -5.645718, 0.4415765E-02);
|
|---|
| 140 | InitializeVector(parameter76Os, 2.249802, -6.974045, 0.5965646E-02);
|
|---|
| 141 | InitializeVector(parameter77Ir, 2.257475, -7.121614, 0.5873831E-02);
|
|---|
| 142 | InitializeVector(parameter78Pt, 2.262231, -7.255240, 0.5769194E-02);
|
|---|
| 143 | InitializeVector(parameter79Au, 2.188981, -7.080360, 0.5161316E-02);
|
|---|
| 144 | InitializeVector(parameter80Hg, 2.199681, -7.233214, 0.5111361E-02);
|
|---|
| 145 | InitializeVector(parameter81Tl, 2.211119, -7.389515, 0.5064001E-02);
|
|---|
| 146 | InitializeVector(parameter82Pb, 2.204573, -7.468263, 0.4934075E-02);
|
|---|
| 147 | InitializeVector(parameter83Bi, 2.148083, -7.348053, 0.4494417E-02);
|
|---|
| 148 | InitializeVector(parameter84Po, 2.154512, -7.479838, 0.4433237E-02);
|
|---|
| 149 | InitializeVector(parameter85At, 2.164621, -7.626572, 0.4388465E-02);
|
|---|
| 150 | InitializeVector(parameter86Rn, 2.288465, -8.212229, 0.5807703E-02);
|
|---|
| 151 | InitializeVector(parameter87Fr, 2.294291, -8.336506, 0.5753172E-02);
|
|---|
| 152 | InitializeVector(parameter88Ra, 2.318430, -8.525764, 0.5849121E-02);
|
|---|
| 153 | InitializeVector(parameter89Ac, 2.306637, -8.578354, 0.5672658E-02);
|
|---|
| 154 | InitializeVector(parameter90Th, 2.254484, -8.479531, 0.5163647E-02);
|
|---|
| 155 | InitializeVector(parameter91Pa, 2.246310, -8.540535, 0.5044748E-02);
|
|---|
| 156 | InitializeVector(parameter92U, 2.276106, -8.748476, 0.5186345E-02);
|
|---|
| 157 | }
|
|---|
| 158 |
|
|---|
| 159 | void G4hShellCrossSectionExpData::FillParameterMap()
|
|---|
| 160 | {
|
|---|
| 161 | parameterMap [6] = ¶meter6C ;
|
|---|
| 162 | parameterMap [7] = ¶meter7N ;
|
|---|
| 163 | parameterMap [8] = ¶meter8O ;
|
|---|
| 164 | parameterMap [9] = ¶meter9F ;
|
|---|
| 165 | parameterMap [10] = ¶meter10Ne;
|
|---|
| 166 | parameterMap [11] = ¶meter11Na;
|
|---|
| 167 | parameterMap [12] = ¶meter12Mg;
|
|---|
| 168 | parameterMap [13] = ¶meter13Al;
|
|---|
| 169 | parameterMap [14] = ¶meter14Si;
|
|---|
| 170 | parameterMap [15] = ¶meter15P ;
|
|---|
| 171 | parameterMap [16] = ¶meter16S ;
|
|---|
| 172 | parameterMap [17] = ¶meter17Cl;
|
|---|
| 173 | parameterMap [18] = ¶meter18Ar;
|
|---|
| 174 | parameterMap [19] = ¶meter19K ;
|
|---|
| 175 | parameterMap [20] = ¶meter20Ca;
|
|---|
| 176 | parameterMap [21] = ¶meter21Sc;
|
|---|
| 177 | parameterMap [22] = ¶meter22Ti;
|
|---|
| 178 | parameterMap [23] = ¶meter23V ;
|
|---|
| 179 | parameterMap [24] = ¶meter24Cr;
|
|---|
| 180 | parameterMap [25] = ¶meter25Mn;
|
|---|
| 181 | parameterMap [26] = ¶meter26Fe;
|
|---|
| 182 | parameterMap [27] = ¶meter27Co;
|
|---|
| 183 | parameterMap [28] = ¶meter28Ni;
|
|---|
| 184 | parameterMap [29] = ¶meter29Cu;
|
|---|
| 185 | parameterMap [30] = ¶meter30Zn;
|
|---|
| 186 | parameterMap [31] = ¶meter31Ga;
|
|---|
| 187 | parameterMap [32] = ¶meter32Ge;
|
|---|
| 188 | parameterMap [33] = ¶meter33As;
|
|---|
| 189 | parameterMap [34] = ¶meter34Se;
|
|---|
| 190 | parameterMap [35] = ¶meter35Br;
|
|---|
| 191 | parameterMap [36] = ¶meter36Kr;
|
|---|
| 192 | parameterMap [37] = ¶meter37Rb;
|
|---|
| 193 | parameterMap [38] = ¶meter38Sr;
|
|---|
| 194 | parameterMap [39] = ¶meter39Y ;
|
|---|
| 195 | parameterMap [40] = ¶meter40Zr;
|
|---|
| 196 | parameterMap [41] = ¶meter41Nb;
|
|---|
| 197 | parameterMap [42] = ¶meter42Mo;
|
|---|
| 198 | parameterMap [43] = ¶meter43Tc;
|
|---|
| 199 | parameterMap [44] = ¶meter44Ru;
|
|---|
| 200 | parameterMap [45] = ¶meter45Rh;
|
|---|
| 201 | parameterMap [46] = ¶meter46Pd;
|
|---|
| 202 | parameterMap [47] = ¶meter47Ag;
|
|---|
| 203 | parameterMap [48] = ¶meter48Cd;
|
|---|
| 204 | parameterMap [49] = ¶meter49In;
|
|---|
| 205 | parameterMap [50] = ¶meter50Sn;
|
|---|
| 206 | parameterMap [51] = ¶meter51Sb;
|
|---|
| 207 | parameterMap [52] = ¶meter52Te;
|
|---|
| 208 | parameterMap [53] = ¶meter53I ;
|
|---|
| 209 | parameterMap [54] = ¶meter54Xe;
|
|---|
| 210 | parameterMap [55] = ¶meter55Cs;
|
|---|
| 211 | parameterMap [56] = ¶meter56Ba;
|
|---|
| 212 | parameterMap [57] = ¶meter57La;
|
|---|
| 213 | parameterMap [58] = ¶meter58Ce;
|
|---|
| 214 | parameterMap [59] = ¶meter59Pr;
|
|---|
| 215 | parameterMap [60] = ¶meter60Nd;
|
|---|
| 216 | parameterMap [61] = ¶meter61Pm;
|
|---|
| 217 | parameterMap [62] = ¶meter62Sm;
|
|---|
| 218 | parameterMap [63] = ¶meter63Eu;
|
|---|
| 219 | parameterMap [64] = ¶meter64Gd;
|
|---|
| 220 | parameterMap [65] = ¶meter65Tb;
|
|---|
| 221 | parameterMap [66] = ¶meter66Dy;
|
|---|
| 222 | parameterMap [67] = ¶meter67Ho;
|
|---|
| 223 | parameterMap [68] = ¶meter68Er;
|
|---|
| 224 | parameterMap [69] = ¶meter69Tm;
|
|---|
| 225 | parameterMap [70] = ¶meter70Yb;
|
|---|
| 226 | parameterMap [71] = ¶meter71Lu;
|
|---|
| 227 | parameterMap [72] = ¶meter72Hf;
|
|---|
| 228 | parameterMap [73] = ¶meter73Ta;
|
|---|
| 229 | parameterMap [74] = ¶meter74W ;
|
|---|
| 230 | parameterMap [75] = ¶meter75Re;
|
|---|
| 231 | parameterMap [76] = ¶meter76Os;
|
|---|
| 232 | parameterMap [77] = ¶meter77Ir;
|
|---|
| 233 | parameterMap [78] = ¶meter78Pt;
|
|---|
| 234 | parameterMap [79] = ¶meter79Au;
|
|---|
| 235 | parameterMap [80] = ¶meter80Hg;
|
|---|
| 236 | parameterMap [81] = ¶meter81Tl;
|
|---|
| 237 | parameterMap [82] = ¶meter82Pb;
|
|---|
| 238 | parameterMap [83] = ¶meter83Bi;
|
|---|
| 239 | parameterMap [84] = ¶meter84Po;
|
|---|
| 240 | parameterMap [85] = ¶meter85At;
|
|---|
| 241 | parameterMap [86] = ¶meter86Rn;
|
|---|
| 242 | parameterMap [87] = ¶meter87Fr;
|
|---|
| 243 | parameterMap [88] = ¶meter88Ra;
|
|---|
| 244 | parameterMap [89] = ¶meter89Ac;
|
|---|
| 245 | parameterMap [90] = ¶meter90Th;
|
|---|
| 246 | parameterMap [91] = ¶meter91Pa;
|
|---|
| 247 | parameterMap [92] = ¶meter92U ;
|
|---|
| 248 | }
|
|---|
| 249 |
|
|---|
| 250 | std::vector<G4double>* G4hShellCrossSectionExpData::GetParam(G4int Z)
|
|---|
| 251 | {
|
|---|
| 252 | return parameterMap[Z];
|
|---|
| 253 | }
|
|---|