00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038
00039
00040
00041
00042
00043
00044
00045
00046
00047
00048
00049
00050 #include "G4hQAOModel.hh"
00051 #include "G4PhysicalConstants.hh"
00052 #include "G4SystemOfUnits.hh"
00053 #include "G4UnitsTable.hh"
00054 #include "G4Element.hh"
00055 #include "G4Material.hh"
00056
00057
00058
00059 G4hQAOModel::G4hQAOModel():G4VhElectronicStoppingPower(),
00060 numberOfMaterials(6),
00061 sizeL0(67),
00062 sizeL1(22),
00063 sizeL2(14),
00064 currentMaterial(0),
00065 currentElement(0)
00066 {
00067 theZieglerFactor = eV*cm2*1.0e-15;
00068 thePlasmonFactor = 28.816 * 28.816 * 1e-6;
00069 }
00070
00071
00072
00073 G4hQAOModel::~G4hQAOModel()
00074 {}
00075
00076
00077
00078 G4double G4hQAOModel::StoppingPower(const G4Material* material,
00079 G4double kineticEnergy)
00080 {
00081 G4double eloss = 0.0 ;
00082 G4int numberOfElements = material->GetNumberOfElements() ;
00083 const G4ElementVector* theElementVector = material->GetElementVector();
00084 const G4double* theAtomicNumDensityVector = material->GetAtomicNumDensityVector() ;
00085 currentMaterial = material;
00086
00087
00088 for (G4int i=0; i<numberOfElements; i++)
00089 {
00090 currentElement = (*theElementVector)[i] ;
00091 G4double z = currentElement->GetZ() ;
00092 eloss += ElectronicStoppingPower(z,kineticEnergy)*theAtomicNumDensityVector[i];
00093 }
00094
00095 return eloss;
00096 }
00097
00098
00099
00100 G4double G4hQAOModel::ElectronicStoppingPower(G4double z,
00101 G4double kineticEnergy) const
00102 {
00103 G4int Z = (G4int)z;
00104 G4int nbOfShell = GetNumberOfShell(Z);
00105 if(nbOfShell < 1) nbOfShell = 1;
00106
00107 G4double dedx=0.0;
00108
00109 G4double v = c_light * std::sqrt( 2.0 * kineticEnergy / proton_mass_c2 );
00110 G4double coeff = twopi*proton_mass_c2*z / (electron_mass_c2*theZieglerFactor) ;
00111 G4double fBetheVelocity = fine_structure_const * c_light / v;
00112 coeff *= fine_structure_const * fine_structure_const * hbarc_squared /
00113 kineticEnergy ;
00114
00115 G4double l0Term = 0, l1Term = 0, l2Term = 0;
00116
00117 for (G4int nos = 0 ; nos < nbOfShell ; nos++){
00118
00119 G4double l0 = 0, l1 = 0, l2 = 0;
00120 G4double NormalizedEnergy = ( 2.0 * electron_mass_c2 * v * v ) /
00121 ( c_squared * GetShellEnergy(Z, nos) );
00122 G4double shStrength = GetShellStrength(Z, nos);
00123
00124 l0 = GetL0(NormalizedEnergy);
00125 l0Term += shStrength * l0;
00126
00127 l1 = GetL1(NormalizedEnergy);
00128 l1Term += shStrength * l1;
00129
00130 l2 = GetL2(NormalizedEnergy);
00131 l2Term += shStrength * l2;
00132
00133
00134
00135
00136
00137
00138
00139
00140
00141
00142
00143
00144
00145
00146
00147 }
00148
00149 dedx = coeff * (l0Term - fBetheVelocity*l1Term + fBetheVelocity*fBetheVelocity*l2Term);
00150
00151
00152
00153
00154 if(dedx < 0.0) dedx = 0.0;
00155 return dedx;
00156 }
00157
00158
00159 G4int G4hQAOModel::GetNumberOfShell(G4int Z) const
00160 {
00161
00162 G4int nShell = 0;
00163
00164
00165 for(G4int i=0; i<numberOfMaterials; i++) {
00166
00167 if(materialAvailable[i] == Z){
00168 nShell = nbofShellForMaterial[i];
00169 break;
00170 }
00171 else nShell = fNumberOfShells[Z];
00172 }
00173
00174 return nShell;
00175 }
00176
00177
00178
00179 G4double G4hQAOModel::GetShellEnergy(G4int Z, G4int nbOfTheShell) const
00180 {
00181 G4double shellEnergy = alShellEnergy[0];
00182 if (Z == 13) shellEnergy = alShellEnergy[nbOfTheShell];
00183 else if(Z == 14) shellEnergy = siShellEnergy[nbOfTheShell];
00184 else if(Z == 29) shellEnergy = cuShellEnergy[nbOfTheShell];
00185 else if(Z == 73) shellEnergy = taShellEnergy[nbOfTheShell];
00186 else if(Z == 79) shellEnergy = auShellEnergy[nbOfTheShell];
00187 else if(Z == 78) shellEnergy = ptShellEnergy[nbOfTheShell];
00188 else shellEnergy = GetOscillatorEnergy(Z, nbOfTheShell);
00189
00190 return shellEnergy;
00191 }
00192
00193
00194 G4double G4hQAOModel::GetOscillatorEnergy(G4int Z, G4int nbOfTheShell) const
00195 {
00196 G4double squaredPlasmonEnergy = thePlasmonFactor;
00197 G4double zeff = (G4double)Z;
00198 if(currentMaterial)
00199 squaredPlasmonEnergy *= (currentMaterial->GetDensity()*zeff*cm3)
00200 / (g * currentElement->GetN());
00201
00202 G4double occn = GetOccupationNumber(Z,nbOfTheShell);
00203 G4double plasmonTerm = 0.66667 * occn * squaredPlasmonEnergy/(zeff*zeff);
00204
00205 G4double ionTerm = std::exp(0.5) * currentElement->GetAtomicShell(nbOfTheShell);
00206
00207 ionTerm = ionTerm*ionTerm ;
00208
00209 G4double oscShellEnergy = std::sqrt( ionTerm + plasmonTerm );
00210
00211
00212
00213
00214
00215
00216
00217
00218
00219
00220
00221 return oscShellEnergy;
00222 }
00223
00224
00225 G4double G4hQAOModel::GetShellStrength(G4int Z, G4int nbOfTheShell) const
00226 {
00227 G4double shellStrength = alShellStrength[0];
00228
00229 if(Z == 13) shellStrength = alShellStrength[nbOfTheShell];
00230 else if(Z == 14) shellStrength = siShellStrength[nbOfTheShell];
00231 else if(Z == 29) shellStrength = cuShellStrength[nbOfTheShell];
00232 else if(Z == 73) shellStrength = taShellStrength[nbOfTheShell];
00233 else if(Z == 79) shellStrength = auShellStrength[nbOfTheShell];
00234 else if(Z == 78) shellStrength = ptShellStrength[nbOfTheShell];
00235 else shellStrength = GetOccupationNumber(Z,nbOfTheShell) / (G4double)Z;
00236
00237 return shellStrength;
00238 }
00239
00240 G4double G4hQAOModel::GetOccupationNumber(G4int Z, G4int ShellNb) const
00241 {
00242
00243 G4int indice = ShellNb ;
00244 for (G4int z = 1 ; z < Z ; z++) {indice += fNumberOfShells[z];}
00245 G4double x = (G4double)(nbOfElectronPerSubShell[indice+1]);
00246 return x;
00247 }
00248
00249
00250 G4double G4hQAOModel::GetL0(G4double normEnergy) const
00251 {
00252 G4int n;
00253
00254 for(n = 0; n < sizeL0; n++) {
00255 if( normEnergy < L0[n][0] ) break;
00256 }
00257 if(0 == n) n = 1 ;
00258 if(n >= sizeL0) n = sizeL0 - 1 ;
00259
00260 G4double l0 = L0[n][1];
00261 G4double l0p = L0[n-1][1];
00262 G4double bethe = l0p + (l0 - l0p) * ( normEnergy - L0[n-1][0]) /
00263 (L0[n][0] - L0[n-1][0]);
00264 return bethe ;
00265
00266 }
00267
00268 G4double G4hQAOModel::GetL1(G4double normEnergy) const
00269 {
00270 G4int n;
00271
00272 for(n = 0; n < sizeL1; n++) {
00273 if( normEnergy < L1[n][0] ) break;
00274 }
00275 if(0 == n) n = 1 ;
00276 if(n >= sizeL1) n = sizeL1 - 1 ;
00277
00278 G4double l1 = L1[n][1];
00279 G4double l1p = L1[n-1][1];
00280 G4double barkas= l1p + (l1 - l1p) * ( normEnergy - L1[n-1][0]) /
00281 (L1[n][0] - L1[n-1][0]);
00282
00283 return barkas;
00284
00285 }
00286
00287
00288 G4double G4hQAOModel::GetL2(G4double normEnergy) const
00289 {
00290 G4int n;
00291 for(n = 0; n < sizeL2; n++) {
00292 if( normEnergy < L2[n][0] ) break;
00293 }
00294 if(0 == n) n = 1 ;
00295 if(n >= sizeL2) n = sizeL2 - 1 ;
00296
00297 G4double l2 = L2[n][1];
00298 G4double l2p = L2[n-1][1];
00299 G4double bloch = l2p + (l2 - l2p) * ( normEnergy - L2[n-1][0]) /
00300 (L2[n][0] - L2[n-1][0]);
00301
00302 return bloch;
00303 }
00304
00305
00306 const G4int G4hQAOModel::materialAvailable[6] = {13,14,29,73,79,78};
00307
00308
00309
00310
00311
00312
00313
00314
00315 const G4int G4hQAOModel::nbofShellForMaterial[6] = {3,3,4,6,6,6};
00316
00317 const G4double G4hQAOModel::alShellEnergy[3] ={ 2795e-6, 202e-6, 16.9e-6};
00318 const G4double G4hQAOModel::alShellStrength[3]={ 0.1349, 0.6387, 0.2264};
00319 const G4double G4hQAOModel::siShellEnergy[3] ={ 3179e-6, 249e-6, 20.3e-6 };
00320 const G4double G4hQAOModel::siShellStrength[3]={ 0.1222, 0.5972, 0.2806};
00321 const G4double G4hQAOModel::cuShellEnergy[4] ={ 16931e-6, 1930e-6, 199e-6, 39.6e-6};
00322 const G4double G4hQAOModel::cuShellStrength[4]={ 0.0505, 0.2561, 0.4913, 0.2021};
00323 const G4double G4hQAOModel::taShellEnergy[6] ={ 88926e-6, 18012e-6, 3210e-6, 575e-6, 108.7e-6, 30.8e-6};
00324 const G4double G4hQAOModel::taShellStrength[6]={ 0.0126, 0.0896, 0.2599, 0.3413, 0.2057, 0.0908};
00325 const G4double G4hQAOModel::auShellEnergy[6]={ 96235e-6, 25918e-6, 4116e-6, 599e-6, 87.3e-6, 36.9e-6};
00326 const G4double G4hQAOModel::auShellStrength[6]={ 0.0139, 0.0803, 0.2473, 0.423, 0.1124, 0.1231};
00327 const G4double G4hQAOModel::ptShellEnergy[6]={ 95017e-6, 25590e-6, 4063e-6, 576e-6, 81.9e-6, 31.4e-6};
00328 const G4double G4hQAOModel::ptShellStrength[6]={ 0.0129, 0.0745, 0.2295, 0.4627, 0.1324, 0.0879};
00329
00330
00331 const G4double G4hQAOModel::L0[67][2] =
00332 {
00333 {0.00, 0.000001},
00334 {0.10, 0.000001},
00335 {0.12, 0.00001},
00336 {0.14, 0.00005},
00337 {0.16, 0.00014},
00338 {0.18, 0.00030},
00339 {0.20, 0.00057},
00340 {0.25, 0.00189},
00341 {0.30, 0.00429},
00342 {0.35, 0.00784},
00343 {0.40, 0.01248},
00344 {0.45, 0.01811},
00345 {0.50, 0.02462},
00346 {0.60, 0.03980},
00347 {0.70, 0.05731},
00348 {0.80, 0.07662},
00349 {0.90, 0.09733},
00350 {1.00, 0.11916},
00351 {1.20, 0.16532},
00352 {1.40, 0.21376},
00353 {1.60, 0.26362},
00354 {1.80, 0.31428},
00355 {2.00, 0.36532},
00356 {2.50, 0.49272},
00357 {3.00, 0.61765},
00358 {3.50, 0.73863},
00359 {4.00, 0.85496},
00360 {4.50, 0.96634},
00361 {5.00, 1.07272},
00362 {6.00, 1.27086},
00363 {7.00, 1.45075},
00364 {8.00, 1.61412},
00365 {9.00, 1.76277},
00366 {10.00, 1.89836},
00367 {12.00, 2.13625},
00368 {14.00, 2.33787},
00369 {16.00, 2.51093},
00370 {18.00, 2.66134},
00371 {20.00, 2.79358},
00372 {25.00, 3.06539},
00373 {30.00, 3.27902},
00374 {35.00, 3.45430},
00375 {40.00, 3.60281},
00376 {45.00, 3.73167},
00377 {50.00, 3.84555},
00378 {60.00, 4.04011},
00379 {70.00, 4.20264},
00380 {80.00, 4.34229},
00381 {90.00, 4.46474},
00382 {100.00, 4.57378},
00383 {120.00, 4.76155},
00384 {140.00, 4.91953},
00385 {160.00, 5.05590},
00386 {180.00, 5.17588},
00387 {200.00, 5.28299},
00388 {250.00, 5.50925},
00389 {300.00, 5.69364},
00390 {350.00, 5.84926},
00391 {400.00, 5.98388},
00392 {450.00, 6.10252},
00393 {500.00, 6.20856},
00394 {600.00, 6.39189},
00395 {700.00, 6.54677},
00396 {800.00, 6.68084},
00397 {900.00, 6.79905},
00398 {1000.00, 6.90474}
00399 };
00400
00401
00402 const G4double G4hQAOModel::L1[22][2] =
00403 {
00404 {0.00, -0.000001},
00405 {0.10, -0.00001},
00406 {0.20, -0.00049},
00407 {0.30, -0.00084},
00408 {0.40, 0.00085},
00409 {0.50, 0.00519},
00410 {0.60, 0.01198},
00411 {0.70, 0.02074},
00412 {0.80, 0.03133},
00413 {0.90, 0.04369},
00414 {1.00, 0.06035},
00415 {2.00, 0.24023},
00416 {3.00, 0.44284},
00417 {4.00, 0.62012},
00418 {5.00, 0.77031},
00419 {6.00, 0.90390},
00420 {7.00, 1.02705},
00421 {8.00, 1.10867},
00422 {9.00, 1.17546},
00423 {10.00, 1.21599},
00424 {15.00, 1.24349},
00425 {20.00, 1.16752}
00426 };
00427
00428
00429 const G4double G4hQAOModel::L2[14][2] =
00430 {
00431 {0.00, 0.000001},
00432 {0.10, 0.00001},
00433 {0.20, 0.00000},
00434 {0.40, -0.00120},
00435 {0.60, -0.00036},
00436 {0.80, 0.00372},
00437 {1.00, 0.01298},
00438 {2.00, 0.08296},
00439 {4.00, 0.21953},
00440 {6.00, 0.23903},
00441 {8.00, 0.20893},
00442 {10.00, 0.10879},
00443 {20.00, -0.88409},
00444 {40.00, -1.13902}
00445 };
00446
00447
00448 const G4int G4hQAOModel::nbOfElectronPerSubShell[1540] =
00449 {
00450 0,
00451 1,
00452 2,
00453 2, 1,
00454 2, 2,
00455 2, 2, 1,
00456 2, 2, 2,
00457 2, 2, 2, 1,
00458 2, 2, 2, 2,
00459 2, 2, 5,
00460 2, 2, 2, 4,
00461 2, 2, 2, 4, 1,
00462 2, 2, 2, 4, 2,
00463 2, 2, 2, 4, 2, 1,
00464 2, 2, 2, 4, 2, 2,
00465 2, 2, 2, 4, 2, 3,
00466 2, 2, 2, 4, 2, 4,
00467 2, 2, 2, 4, 2, 5,
00468 2, 2, 2, 4, 2, 2, 4,
00469 2, 2, 2, 4, 2, 2, 4, 1,
00470 2, 2, 2, 4, 2, 2, 4, 2,
00471 2, 2, 2, 4, 2, 2, 4, 1, 2,
00472 2, 2, 2, 4, 2, 2, 4, 2, 2,
00473 2, 2, 2, 4, 2, 2, 4, 3, 2,
00474 2, 2, 2, 4, 2, 2, 4, 4, 2,
00475 2, 2, 2, 4, 2, 2, 4, 5, 2,
00476 2, 2, 2, 4, 2, 2, 4, 6, 2,
00477 2, 2, 2, 4, 2, 2, 4, 7, 2,
00478 2, 2, 2, 4, 2, 2, 4, 4, 4, 2,
00479 2, 2, 2, 4, 2, 2, 4, 4, 5, 2,
00480 2, 2, 2, 4, 2, 2, 4, 4, 6, 2,
00481 2, 2, 2, 4, 2, 2, 4, 4, 6, 2, 1,
00482 2, 2, 2, 4, 2, 2, 4, 4, 6, 2, 2,
00483 2, 2, 2, 4, 2, 2, 4, 4, 6, 2, 3,
00484 2, 2, 2, 4, 2, 2, 4, 4, 6, 2, 4,
00485 2, 2, 2, 4, 2, 2, 4, 4, 6, 2, 5,
00486 2, 2, 2, 4, 2, 2, 4, 4, 6, 2, 2, 4,
00487 2, 2, 2, 4, 2, 2, 4, 4, 6, 2, 2, 4, 1,
00488 2, 2, 2, 4, 2, 2, 4, 4, 6, 2, 2, 4, 2,
00489 2, 2, 2, 4, 2, 2, 4, 4, 6, 2, 2, 4, 1, 2,
00490 2, 2, 2, 4, 2, 2, 4, 4, 6, 2, 2, 4, 2, 2,
00491 2, 2, 2, 4, 2, 2, 4, 4, 6, 2, 2, 4, 3, 2,
00492 2, 2, 2, 4, 2, 2, 4, 4, 6, 2, 2, 4, 4, 2,
00493 2, 2, 2, 4, 2, 2, 4, 4, 6, 2, 2, 4, 5, 2,
00494 2, 2, 2, 4, 2, 2, 4, 4, 6, 2, 2, 4, 6, 2,
00495 2, 2, 2, 4, 2, 2, 4, 4, 6, 2, 2, 4, 7, 2,
00496 2, 2, 2, 4, 2, 2, 4, 4, 6, 2, 2, 4, 4, 4, 2,
00497 2, 2, 2, 4, 2, 2, 4, 4, 6, 2, 2, 4, 4, 5, 2,
00498 2, 2, 2, 4, 2, 2, 4, 4, 6, 2, 2, 4, 4, 6, 2,
00499 2, 2, 2, 4, 2, 2, 4, 4, 6, 2, 2, 4, 4, 6, 2, 1,
00500 2, 2, 2, 4, 2, 2, 4, 4, 6, 2, 2, 4, 4, 6, 2, 2,
00501 2, 2, 2, 4, 2, 2, 4, 4, 6, 2, 2, 4, 4, 6, 2, 3,
00502 2, 2, 2, 4, 2, 2, 4, 4, 6, 2, 2, 4, 4, 6, 2, 4,
00503 2, 2, 2, 4, 2, 2, 4, 4, 6, 2, 2, 4, 4, 6, 2, 5,
00504 2, 2, 2, 4, 2, 2, 4, 4, 6, 2, 2, 4, 4, 6, 2, 2, 4,
00505 2, 2, 2, 4, 2, 2, 4, 4, 6, 2, 2, 4, 4, 6, 2, 2, 4, 1,
00506 2, 2, 2, 4, 2, 2, 4, 4, 6, 2, 2, 4, 4, 6, 2, 2, 4, 2,
00507 2, 2, 2, 4, 2, 2, 4, 4, 6, 2, 2, 4, 4, 6, 2, 2, 4, 1, 2,
00508 2, 2, 2, 4, 2, 2, 4, 4, 6, 2, 2, 4, 4, 6, 2, 2, 2, 4, 2,
00509 2, 2, 2, 4, 2, 2, 4, 4, 6, 2, 2, 4, 4, 6, 3, 2, 2, 4, 2,
00510 2, 2, 2, 4, 2, 2, 4, 4, 6, 2, 2, 4, 4, 6, 4, 2, 2, 4, 2,
00511 2, 2, 2, 4, 2, 2, 4, 4, 6, 2, 2, 4, 4, 6, 5, 2, 2, 4, 2,
00512 2, 2, 2, 4, 2, 2, 4, 4, 6, 2, 2, 4, 4, 6, 6, 2, 2, 4, 2,
00513 2, 2, 2, 4, 2, 2, 4, 4, 6, 2, 2, 4, 4, 6, 7, 2, 2, 4, 2,
00514 2, 2, 2, 4, 2, 2, 4, 4, 6, 2, 2, 4, 4, 6, 7, 2, 2, 4, 1, 2,
00515 2, 2, 2, 4, 2, 2, 4, 4, 6, 2, 2, 4, 4, 6, 9, 2, 2, 4, 2,
00516 2, 2, 2, 4, 2, 2, 4, 4, 6, 2, 2, 4, 4, 6, 10, 2, 2, 4, 2,
00517 2, 2, 2, 4, 2, 2, 4, 4, 6, 2, 2, 4, 4, 6, 11, 2, 2, 4, 2,
00518 2, 2, 2, 4, 2, 2, 4, 4, 6, 2, 2, 4, 4, 6, 12, 2, 2, 4, 2,
00519 2, 2, 2, 4, 2, 2, 4, 4, 6, 2, 2, 4, 4, 6, 13, 2, 2, 4, 2,
00520 2, 2, 2, 4, 2, 2, 4, 4, 6, 2, 2, 4, 4, 6, 6, 8, 2, 2, 4, 2,
00521 2, 2, 2, 4, 2, 2, 4, 4, 6, 2, 2, 4, 4, 6, 6, 8, 2, 2, 4, 1, 2,
00522 2, 2, 2, 4, 2, 2, 4, 4, 6, 2, 2, 4, 4, 6, 6, 8, 2, 2, 4, 2, 2,
00523 2, 2, 2, 4, 2, 2, 4, 4, 6, 2, 2, 4, 4, 6, 6, 8, 2, 2, 4, 3, 2,
00524 2, 2, 2, 4, 2, 2, 4, 4, 6, 2, 2, 4, 4, 6, 6, 8, 2, 2, 4, 4, 2,
00525 2, 2, 2, 4, 2, 2, 4, 4, 6, 2, 2, 4, 4, 6, 6, 8, 2, 2, 4, 5, 2,
00526 2, 2, 2, 4, 2, 2, 4, 4, 6, 2, 2, 4, 4, 6, 6, 8, 2, 2, 4, 6, 2,
00527 2, 2, 2, 4, 2, 2, 4, 4, 6, 2, 2, 4, 4, 6, 6, 8, 2, 2, 4, 7, 2,
00528 2, 2, 2, 4, 2, 2, 4, 4, 6, 2, 2, 4, 4, 6, 6, 8, 2, 2, 4, 9, 1,
00529 2, 2, 2, 4, 2, 2, 4, 4, 6, 2, 2, 4, 4, 6, 6, 8, 2, 2, 4, 4, 6, 1,
00530 2, 2, 2, 4, 2, 2, 4, 4, 6, 2, 2, 4, 4, 6, 6, 8, 2, 2, 4, 4, 6, 2,
00531 2, 2, 2, 4, 2, 2, 4, 4, 6, 2, 2, 4, 4, 6, 6, 8, 2, 2, 4, 4, 6, 2, 1,
00532 2, 2, 2, 4, 2, 2, 4, 4, 6, 2, 2, 4, 4, 6, 6, 8, 2, 2, 4, 4, 6, 2, 2,
00533 2, 2, 2, 4, 2, 2, 4, 4, 6, 2, 2, 4, 4, 6, 6, 8, 2, 2, 4, 4, 6, 2, 3,
00534 2, 2, 2, 4, 2, 2, 4, 4, 6, 2, 2, 4, 4, 6, 6, 8, 2, 2, 4, 4, 6, 2, 4,
00535 2, 2, 2, 4, 2, 2, 4, 4, 6, 2, 2, 4, 4, 6, 6, 8, 2, 2, 4, 4, 6, 2, 2, 3,
00536 2, 2, 2, 4, 2, 2, 4, 4, 6, 2, 2, 4, 4, 6, 6, 8, 2, 2, 4, 4, 6, 2, 2, 4,
00537 2, 2, 2, 4, 2, 2, 4, 4, 6, 2, 2, 4, 4, 6, 6, 8, 2, 2, 4, 4, 6, 2, 2, 4, 1,
00538 2, 2, 2, 4, 2, 2, 4, 4, 6, 2, 2, 4, 4, 6, 6, 8, 2, 2, 4, 4, 6, 2, 2, 4, 2,
00539 2, 2, 2, 4, 2, 2, 4, 4, 6, 2, 2, 4, 4, 6, 6, 8, 2, 2, 4, 4, 6, 2, 2, 4, 1, 2,
00540 2, 2, 2, 4, 2, 2, 4, 4, 6, 2, 2, 4, 4, 6, 6, 8, 2, 2, 4, 4, 6, 2, 2, 4, 2, 2,
00541 2, 2, 2, 4, 2, 2, 4, 4, 6, 2, 2, 4, 4, 6, 6, 8, 2, 2, 4, 4, 6, 2, 2, 2, 4, 1, 2,
00542 2, 2, 2, 4, 2, 2, 4, 4, 6, 2, 2, 4, 4, 6, 6, 8, 2, 2, 4, 4, 6, 3, 2, 2, 4, 1, 2,
00543 2, 2, 2, 4, 2, 2, 4, 4, 6, 2, 2, 4, 4, 6, 6, 8, 2, 2, 4, 4, 6, 4, 2, 2, 4, 1, 2,
00544 2, 2, 2, 4, 2, 2, 4, 4, 6, 2, 2, 4, 4, 6, 6, 8, 2, 2, 4, 4, 6, 6, 2, 2, 4, 2,
00545 2, 2, 2, 4, 2, 2, 4, 4, 6, 2, 2, 4, 4, 6, 6, 8, 2, 2, 4, 4, 6, 7, 2, 2, 4, 2,
00546 2, 2, 2, 4, 2, 2, 4, 4, 6, 2, 2, 4, 4, 6, 6, 8, 2, 2, 4, 4, 6, 7, 2, 2, 4, 1, 2,
00547 2, 2, 2, 4, 2, 2, 4, 4, 6, 2, 2, 4, 4, 6, 6, 8, 2, 2, 4, 4, 6, 8, 2, 2, 4, 1, 2,
00548 2, 2, 2, 4, 2, 2, 4, 4, 6, 2, 2, 4, 4, 6, 6, 8, 2, 2, 4, 4, 6, 10, 2, 2, 4, 2,
00549 2, 2, 2, 4, 2, 2, 4, 4, 6, 2, 2, 4, 4, 6, 6, 8, 2, 2, 4, 4, 6, 11, 2, 2, 4, 2,
00550 2, 2, 2, 4, 2, 2, 4, 4, 6, 2, 2, 4, 4, 6, 6, 8, 2, 2, 4, 4, 6, 12, 2, 2, 4, 2
00551 };
00552
00553 const G4int G4hQAOModel::fNumberOfShells[101] =
00554 {
00555 0 ,
00556
00557 1 , 1 , 2 , 2 , 3 , 3 , 4 , 4 , 3 , 4 ,
00558
00559 5 , 5 , 6 , 6 , 6 , 6 , 6 , 7 , 8 , 8 ,
00560
00561 9 , 9 , 9 , 9 , 9 , 9 , 9 , 10 , 10 , 10 ,
00562
00563 11 , 11 , 11 , 11 , 11 , 12 , 13 , 13 , 14 , 14 ,
00564
00565 14 , 14 , 14 , 14 , 14 , 15 , 15 , 15 , 16 , 16 ,
00566
00567
00568
00569 16 , 16 , 16 , 17 , 18 , 18 , 19 , 19 , 19 , 19 ,
00570
00571 19 , 19 , 19 , 20 , 19 , 19 , 19 , 19 , 19 , 20 ,
00572
00573 21 , 21 , 21 , 21 , 21 , 21 , 21 , 21 , 22 , 22 ,
00574
00575 23 , 23 , 23 , 23 , 24 , 24 , 25 , 25 , 26 , 26 ,
00576
00577 27 , 27 , 27 , 26 , 26 , 27 , 27 , 26 , 26 , 26
00578
00579 };
00580