source: trunk/source/processes/electromagnetic/lowenergy/src/G4hQAOModel.cc@ 966

Last change on this file since 966 was 819, checked in by garnier, 17 years ago

import all except CVS

File size: 20.4 KB
RevLine 
[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//
29// GEANT4 Class file
30//
31//
32// File name: G4hQAOModel
33//
34// Author: V.Ivanchenko (Vladimir.Ivanchenko@cern.ch)
35//
36// Creation date: 27 April 2004
37//
38// Modifications:
39//
40// Class Description:
41//
42// Electronic stopping power for negative heavy partiles
43//
44// Class Description: End
45//
46// -------------------------------------------------------------------
47//
48//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
49
50#include "G4hQAOModel.hh"
51#include "G4UnitsTable.hh"
52#include "G4Element.hh"
53#include "G4Material.hh"
54
55//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
56
57G4hQAOModel::G4hQAOModel():G4VhElectronicStoppingPower(),
58 numberOfMaterials(6),
59 sizeL0(67),
60 sizeL1(22),
61 sizeL2(14),
62 currentMaterial(0),
63 currentElement(0)
64{
65 theZieglerFactor = eV*cm2*1.0e-15;
66 thePlasmonFactor = 28.816 * 28.816 * 1e-6;
67}
68
69//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
70
71G4hQAOModel::~G4hQAOModel()
72{}
73
74//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
75
76G4double G4hQAOModel::StoppingPower(const G4Material* material,
77 G4double kineticEnergy)
78{
79 G4double eloss = 0.0 ;
80 G4int numberOfElements = material->GetNumberOfElements() ;
81 const G4ElementVector* theElementVector = material->GetElementVector();
82 const G4double* theAtomicNumDensityVector = material->GetAtomicNumDensityVector() ;
83 currentMaterial = material;
84
85 // loop for the elements in the material
86 for (G4int i=0; i<numberOfElements; i++)
87 {
88 currentElement = (*theElementVector)[i] ;
89 G4double z = currentElement->GetZ() ;
90 eloss += ElectronicStoppingPower(z,kineticEnergy)*theAtomicNumDensityVector[i];
91 }
92
93 return eloss;
94}
95
96//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
97
98G4double G4hQAOModel::ElectronicStoppingPower(G4double z,
99 G4double kineticEnergy) const
100{
101 G4int Z = (G4int)z;
102 G4int nbOfShell = GetNumberOfShell(Z);
103 if(nbOfShell < 1) nbOfShell = 1;
104
105 G4double dedx=0.0;
106
107 G4double v = c_light * std::sqrt( 2.0 * kineticEnergy / proton_mass_c2 );
108 G4double coeff = twopi*proton_mass_c2*z / (electron_mass_c2*theZieglerFactor) ;
109 G4double fBetheVelocity = fine_structure_const * c_light / v;
110 coeff *= fine_structure_const * fine_structure_const * hbarc_squared /
111 kineticEnergy ;
112
113 G4double l0Term = 0, l1Term = 0, l2Term = 0;
114
115 for (G4int nos = 0 ; nos < nbOfShell ; nos++){
116
117 G4double l0 = 0, l1 = 0, l2 = 0;
118 G4double NormalizedEnergy = ( 2.0 * electron_mass_c2 * v * v ) /
119 ( c_squared * GetShellEnergy(Z, nos) );
120 G4double shStrength = GetShellStrength(Z, nos);
121
122 l0 = GetL0(NormalizedEnergy);
123 l0Term += shStrength * l0;
124
125 l1 = GetL1(NormalizedEnergy);
126 l1Term += shStrength * l1;
127
128 l2 = GetL2(NormalizedEnergy);
129 l2Term += shStrength * l2;
130
131/*
132 //if(Z == 6){
133 G4cout << nos << ". "
134 << " E(MeV)= " << kineticEnergy/MeV
135 << " normE= " << NormalizedEnergy
136 << " sh en= " << GetShellEnergy(Z,nos)
137 << " str= " << shStrength
138 << " v0/v= " << fBetheVelocity
139 << " l0= " << l0Term
140 << " l1= " << l1Term
141 << " l2= " << l2Term
142 << G4endl;
143 // }
144*/
145 }
146
147 dedx = coeff * (l0Term - fBetheVelocity*l1Term + fBetheVelocity*fBetheVelocity*l2Term);
148
149 //G4cout << " E(MeV)= " << kineticEnergy/MeV
150 // << " dedx(Mev/mm)= " << dedx*mm/MeV << G4endl;
151
152 if(dedx < 0.0) dedx = 0.0;
153 return dedx;
154}
155
156
157G4int G4hQAOModel::GetNumberOfShell(G4int Z) const
158{
159 // Set return value from table
160 G4int nShell = 0;
161
162 // Set return value if in material available from Aahrus
163 for(G4int i=0; i<numberOfMaterials; i++) {
164
165 if(materialAvailable[i] == Z){
166 nShell = nbofShellForMaterial[i];
167 break;
168 }
169 else nShell = fNumberOfShells[Z];
170 }
171
172 return nShell;
173}
174
175
176
177G4double G4hQAOModel::GetShellEnergy(G4int Z, G4int nbOfTheShell) const
178{
179 G4double shellEnergy = alShellEnergy[0];
180 if (Z == 13) shellEnergy = alShellEnergy[nbOfTheShell];
181 else if(Z == 14) shellEnergy = siShellEnergy[nbOfTheShell];
182 else if(Z == 29) shellEnergy = cuShellEnergy[nbOfTheShell];
183 else if(Z == 73) shellEnergy = taShellEnergy[nbOfTheShell];
184 else if(Z == 79) shellEnergy = auShellEnergy[nbOfTheShell];
185 else if(Z == 78) shellEnergy = ptShellEnergy[nbOfTheShell];
186 else shellEnergy = GetOscillatorEnergy(Z, nbOfTheShell);
187
188 return shellEnergy;
189}
190
191
192G4double G4hQAOModel::GetOscillatorEnergy(G4int Z, G4int nbOfTheShell) const
193{
194 G4double squaredPlasmonEnergy = thePlasmonFactor;
195 G4double zeff = (G4double)Z;
196 if(currentMaterial)
197 squaredPlasmonEnergy *= (currentMaterial->GetDensity()*zeff*cm3)
198 / (g * currentElement->GetN());
199
200 G4double occn = GetOccupationNumber(Z,nbOfTheShell);
201 G4double plasmonTerm = 0.66667 * occn * squaredPlasmonEnergy/(zeff*zeff);
202
203 G4double ionTerm = std::exp(0.5) * currentElement->GetAtomicShell(nbOfTheShell);
204
205 ionTerm = ionTerm*ionTerm ;
206
207 G4double oscShellEnergy = std::sqrt( ionTerm + plasmonTerm );
208
209/* if(material->GetName()=="Graphite"){
210 G4cout << "\t" << Z
211 << "\t" << nbOfTheShell
212 << "\t" << squaredPlasmonEnergy
213 << "\t" << plasmonTerm
214 << "\t" << ionTerm
215 << "\t" << GetOccupationNumber(Z,nbOfTheShell)
216 << "\t" << element->GetAtomicShell(nbOfTheShell)
217 << "\t" << oscShellEnergy << G4endl;}
218*/
219 return oscShellEnergy;
220}
221
222
223G4double G4hQAOModel::GetShellStrength(G4int Z, G4int nbOfTheShell) const
224{
225 G4double shellStrength = alShellStrength[0];
226
227 if(Z == 13) shellStrength = alShellStrength[nbOfTheShell];
228 else if(Z == 14) shellStrength = siShellStrength[nbOfTheShell];
229 else if(Z == 29) shellStrength = cuShellStrength[nbOfTheShell];
230 else if(Z == 73) shellStrength = taShellStrength[nbOfTheShell];
231 else if(Z == 79) shellStrength = auShellStrength[nbOfTheShell];
232 else if(Z == 78) shellStrength = ptShellStrength[nbOfTheShell];
233 else shellStrength = GetOccupationNumber(Z,nbOfTheShell) / (G4double)Z;
234
235 return shellStrength;
236}
237
238G4double G4hQAOModel::GetOccupationNumber(G4int Z, G4int ShellNb) const
239{
240
241 G4int indice = ShellNb ;
242 for (G4int z = 1 ; z < Z ; z++) {indice += fNumberOfShells[z];}
243 G4double x = (G4double)(nbOfElectronPerSubShell[indice+1]);
244 return x;
245}
246
247
248G4double G4hQAOModel::GetL0(G4double normEnergy) const
249{
250 G4int n;
251
252 for(n = 0; n < sizeL0; n++) {
253 if( normEnergy < L0[n][0] ) break;
254 }
255 if(0 == n) n = 1 ;
256 if(n >= sizeL0) n = sizeL0 - 1 ;
257
258 G4double l0 = L0[n][1];
259 G4double l0p = L0[n-1][1];
260 G4double bethe = l0p + (l0 - l0p) * ( normEnergy - L0[n-1][0]) /
261 (L0[n][0] - L0[n-1][0]);
262 return bethe ;
263
264}
265
266G4double G4hQAOModel::GetL1(G4double normEnergy) const
267{
268 G4int n;
269
270 for(n = 0; n < sizeL1; n++) {
271 if( normEnergy < L1[n][0] ) break;
272 }
273 if(0 == n) n = 1 ;
274 if(n >= sizeL1) n = sizeL1 - 1 ;
275
276 G4double l1 = L1[n][1];
277 G4double l1p = L1[n-1][1];
278 G4double barkas= l1p + (l1 - l1p) * ( normEnergy - L1[n-1][0]) /
279 (L1[n][0] - L1[n-1][0]);
280
281 return barkas;
282
283}
284
285
286G4double G4hQAOModel::GetL2(G4double normEnergy) const
287{
288 G4int n;
289 for(n = 0; n < sizeL2; n++) {
290 if( normEnergy < L2[n][0] ) break;
291 }
292 if(0 == n) n = 1 ;
293 if(n >= sizeL2) n = sizeL2 - 1 ;
294
295 G4double l2 = L2[n][1];
296 G4double l2p = L2[n-1][1];
297 G4double bloch = l2p + (l2 - l2p) * ( normEnergy - L2[n-1][0]) /
298 (L2[n][0] - L2[n-1][0]);
299
300 return bloch;
301}
302
303
304const G4int G4hQAOModel::materialAvailable[6] = {13,14,29,73,79,78};
305 /*
306 "Aluminum",
307 "Silicon",
308 "Copper",
309 "Tantalum",
310 "Gold",
311 "Platinum"};
312 */
313const G4int G4hQAOModel::nbofShellForMaterial[6] = {3,3,4,6,6,6};
314
315const G4double G4hQAOModel::alShellEnergy[3] ={ 2795e-6, 202e-6, 16.9e-6};
316const G4double G4hQAOModel::alShellStrength[3]={ 0.1349, 0.6387, 0.2264};
317const G4double G4hQAOModel::siShellEnergy[3] ={ 3179e-6, 249e-6, 20.3e-6 };
318const G4double G4hQAOModel::siShellStrength[3]={ 0.1222, 0.5972, 0.2806};
319const G4double G4hQAOModel::cuShellEnergy[4] ={ 16931e-6, 1930e-6, 199e-6, 39.6e-6};
320const G4double G4hQAOModel::cuShellStrength[4]={ 0.0505, 0.2561, 0.4913, 0.2021};
321const G4double G4hQAOModel::taShellEnergy[6] ={ 88926e-6, 18012e-6, 3210e-6, 575e-6, 108.7e-6, 30.8e-6};
322const G4double G4hQAOModel::taShellStrength[6]={ 0.0126, 0.0896, 0.2599, 0.3413, 0.2057, 0.0908};
323const G4double G4hQAOModel::auShellEnergy[6]={ 96235e-6, 25918e-6, 4116e-6, 599e-6, 87.3e-6, 36.9e-6};
324const G4double G4hQAOModel::auShellStrength[6]={ 0.0139, 0.0803, 0.2473, 0.423, 0.1124, 0.1231};
325const G4double G4hQAOModel::ptShellEnergy[6]={ 95017e-6, 25590e-6, 4063e-6, 576e-6, 81.9e-6, 31.4e-6};
326const G4double G4hQAOModel::ptShellStrength[6]={ 0.0129, 0.0745, 0.2295, 0.4627, 0.1324, 0.0879};
327
328
329const G4double G4hQAOModel::L0[67][2] =
330{
331 {0.00, 0.000001},
332 {0.10, 0.000001},
333 {0.12, 0.00001},
334 {0.14, 0.00005},
335 {0.16, 0.00014},
336 {0.18, 0.00030},
337 {0.20, 0.00057},
338 {0.25, 0.00189},
339 {0.30, 0.00429},
340 {0.35, 0.00784},
341 {0.40, 0.01248},
342 {0.45, 0.01811},
343 {0.50, 0.02462},
344 {0.60, 0.03980},
345 {0.70, 0.05731},
346 {0.80, 0.07662},
347 {0.90, 0.09733},
348 {1.00, 0.11916},
349 {1.20, 0.16532},
350 {1.40, 0.21376},
351 {1.60, 0.26362},
352 {1.80, 0.31428},
353 {2.00, 0.36532},
354 {2.50, 0.49272},
355 {3.00, 0.61765},
356 {3.50, 0.73863},
357 {4.00, 0.85496},
358 {4.50, 0.96634},
359 {5.00, 1.07272},
360 {6.00, 1.27086},
361 {7.00, 1.45075},
362 {8.00, 1.61412},
363 {9.00, 1.76277},
364 {10.00, 1.89836},
365 {12.00, 2.13625},
366 {14.00, 2.33787},
367 {16.00, 2.51093},
368 {18.00, 2.66134},
369 {20.00, 2.79358},
370 {25.00, 3.06539},
371 {30.00, 3.27902},
372 {35.00, 3.45430},
373 {40.00, 3.60281},
374 {45.00, 3.73167},
375 {50.00, 3.84555},
376 {60.00, 4.04011},
377 {70.00, 4.20264},
378 {80.00, 4.34229},
379 {90.00, 4.46474},
380 {100.00, 4.57378},
381 {120.00, 4.76155},
382 {140.00, 4.91953},
383 {160.00, 5.05590},
384 {180.00, 5.17588},
385 {200.00, 5.28299},
386 {250.00, 5.50925},
387 {300.00, 5.69364},
388 {350.00, 5.84926},
389 {400.00, 5.98388},
390 {450.00, 6.10252},
391 {500.00, 6.20856},
392 {600.00, 6.39189},
393 {700.00, 6.54677},
394 {800.00, 6.68084},
395 {900.00, 6.79905},
396 {1000.00, 6.90474}
397};
398
399
400const G4double G4hQAOModel::L1[22][2] =
401{
402 {0.00, -0.000001},
403 {0.10, -0.00001},
404 {0.20, -0.00049},
405 {0.30, -0.00084},
406 {0.40, 0.00085},
407 {0.50, 0.00519},
408 {0.60, 0.01198},
409 {0.70, 0.02074},
410 {0.80, 0.03133},
411 {0.90, 0.04369},
412 {1.00, 0.06035},
413 {2.00, 0.24023},
414 {3.00, 0.44284},
415 {4.00, 0.62012},
416 {5.00, 0.77031},
417 {6.00, 0.90390},
418 {7.00, 1.02705},
419 {8.00, 1.10867},
420 {9.00, 1.17546},
421 {10.00, 1.21599},
422 {15.00, 1.24349},
423 {20.00, 1.16752}
424};
425
426
427const G4double G4hQAOModel::L2[14][2] =
428{
429 {0.00, 0.000001},
430 {0.10, 0.00001},
431 {0.20, 0.00000},
432 {0.40, -0.00120},
433 {0.60, -0.00036},
434 {0.80, 0.00372},
435 {1.00, 0.01298},
436 {2.00, 0.08296},
437 {4.00, 0.21953},
438 {6.00, 0.23903},
439 {8.00, 0.20893},
440 {10.00, 0.10879},
441 {20.00, -0.88409},
442 {40.00, -1.13902}
443};
444
445
446const G4int G4hQAOModel::nbOfElectronPerSubShell[1540] =
447{
448 0, // consistency with G4AtomicShells
449 1,//------ H
450 2,//------ He
451 2, 1,//------ Li
452 2, 2,//------ Be
453 2, 2, 1,//------ B
454 2, 2, 2,//------ C
455 2, 2, 2, 1,//------ N
456 2, 2, 2, 2,//------ O
457 2, 2, 5,//------ F
458 2, 2, 2, 4,//------ Ne
459 2, 2, 2, 4, 1,//------ Na
460 2, 2, 2, 4, 2,//------ Mg
461 2, 2, 2, 4, 2, 1,//------ Al
462 2, 2, 2, 4, 2, 2,//------ Si
463 2, 2, 2, 4, 2, 3,//------ P
464 2, 2, 2, 4, 2, 4,//------
465 2, 2, 2, 4, 2, 5,//------
466 2, 2, 2, 4, 2, 2, 4,//------
467 2, 2, 2, 4, 2, 2, 4, 1,//------
468 2, 2, 2, 4, 2, 2, 4, 2,//------
469 2, 2, 2, 4, 2, 2, 4, 1, 2,//------
470 2, 2, 2, 4, 2, 2, 4, 2, 2,//------
471 2, 2, 2, 4, 2, 2, 4, 3, 2,//------
472 2, 2, 2, 4, 2, 2, 4, 4, 2,//------
473 2, 2, 2, 4, 2, 2, 4, 5, 2,//------
474 2, 2, 2, 4, 2, 2, 4, 6, 2,//------
475 2, 2, 2, 4, 2, 2, 4, 7, 2,//------
476 2, 2, 2, 4, 2, 2, 4, 4, 4, 2,//------
477 2, 2, 2, 4, 2, 2, 4, 4, 5, 2,//------
478 2, 2, 2, 4, 2, 2, 4, 4, 6, 2,//------
479 2, 2, 2, 4, 2, 2, 4, 4, 6, 2, 1,//------
480 2, 2, 2, 4, 2, 2, 4, 4, 6, 2, 2,//------
481 2, 2, 2, 4, 2, 2, 4, 4, 6, 2, 3,//------
482 2, 2, 2, 4, 2, 2, 4, 4, 6, 2, 4,//------
483 2, 2, 2, 4, 2, 2, 4, 4, 6, 2, 5,//------
484 2, 2, 2, 4, 2, 2, 4, 4, 6, 2, 2, 4,//------
485 2, 2, 2, 4, 2, 2, 4, 4, 6, 2, 2, 4, 1,//------
486 2, 2, 2, 4, 2, 2, 4, 4, 6, 2, 2, 4, 2,//------
487 2, 2, 2, 4, 2, 2, 4, 4, 6, 2, 2, 4, 1, 2,//------
488 2, 2, 2, 4, 2, 2, 4, 4, 6, 2, 2, 4, 2, 2,//------
489 2, 2, 2, 4, 2, 2, 4, 4, 6, 2, 2, 4, 3, 2,//------
490 2, 2, 2, 4, 2, 2, 4, 4, 6, 2, 2, 4, 4, 2,//------
491 2, 2, 2, 4, 2, 2, 4, 4, 6, 2, 2, 4, 5, 2,//------
492 2, 2, 2, 4, 2, 2, 4, 4, 6, 2, 2, 4, 6, 2,//------
493 2, 2, 2, 4, 2, 2, 4, 4, 6, 2, 2, 4, 7, 2,//------
494 2, 2, 2, 4, 2, 2, 4, 4, 6, 2, 2, 4, 4, 4, 2,//------
495 2, 2, 2, 4, 2, 2, 4, 4, 6, 2, 2, 4, 4, 5, 2,//------
496 2, 2, 2, 4, 2, 2, 4, 4, 6, 2, 2, 4, 4, 6, 2,//------
497 2, 2, 2, 4, 2, 2, 4, 4, 6, 2, 2, 4, 4, 6, 2, 1,//------
498 2, 2, 2, 4, 2, 2, 4, 4, 6, 2, 2, 4, 4, 6, 2, 2,//------
499 2, 2, 2, 4, 2, 2, 4, 4, 6, 2, 2, 4, 4, 6, 2, 3,//------
500 2, 2, 2, 4, 2, 2, 4, 4, 6, 2, 2, 4, 4, 6, 2, 4,//------
501 2, 2, 2, 4, 2, 2, 4, 4, 6, 2, 2, 4, 4, 6, 2, 5,//------
502 2, 2, 2, 4, 2, 2, 4, 4, 6, 2, 2, 4, 4, 6, 2, 2, 4,//------
503 2, 2, 2, 4, 2, 2, 4, 4, 6, 2, 2, 4, 4, 6, 2, 2, 4, 1,//------
504 2, 2, 2, 4, 2, 2, 4, 4, 6, 2, 2, 4, 4, 6, 2, 2, 4, 2,//------
505 2, 2, 2, 4, 2, 2, 4, 4, 6, 2, 2, 4, 4, 6, 2, 2, 4, 1, 2,//------
506 2, 2, 2, 4, 2, 2, 4, 4, 6, 2, 2, 4, 4, 6, 2, 2, 2, 4, 2,//------
507 2, 2, 2, 4, 2, 2, 4, 4, 6, 2, 2, 4, 4, 6, 3, 2, 2, 4, 2,//------
508 2, 2, 2, 4, 2, 2, 4, 4, 6, 2, 2, 4, 4, 6, 4, 2, 2, 4, 2,//------
509 2, 2, 2, 4, 2, 2, 4, 4, 6, 2, 2, 4, 4, 6, 5, 2, 2, 4, 2,//------
510 2, 2, 2, 4, 2, 2, 4, 4, 6, 2, 2, 4, 4, 6, 6, 2, 2, 4, 2,//------
511 2, 2, 2, 4, 2, 2, 4, 4, 6, 2, 2, 4, 4, 6, 7, 2, 2, 4, 2,//------
512 2, 2, 2, 4, 2, 2, 4, 4, 6, 2, 2, 4, 4, 6, 7, 2, 2, 4, 1, 2,//------
513 2, 2, 2, 4, 2, 2, 4, 4, 6, 2, 2, 4, 4, 6, 9, 2, 2, 4, 2,//------
514 2, 2, 2, 4, 2, 2, 4, 4, 6, 2, 2, 4, 4, 6, 10, 2, 2, 4, 2,//------
515 2, 2, 2, 4, 2, 2, 4, 4, 6, 2, 2, 4, 4, 6, 11, 2, 2, 4, 2,//------
516 2, 2, 2, 4, 2, 2, 4, 4, 6, 2, 2, 4, 4, 6, 12, 2, 2, 4, 2,//------
517 2, 2, 2, 4, 2, 2, 4, 4, 6, 2, 2, 4, 4, 6, 13, 2, 2, 4, 2,//------
518 2, 2, 2, 4, 2, 2, 4, 4, 6, 2, 2, 4, 4, 6, 6, 8, 2, 2, 4, 2,//------
519 2, 2, 2, 4, 2, 2, 4, 4, 6, 2, 2, 4, 4, 6, 6, 8, 2, 2, 4, 1, 2,//------
520 2, 2, 2, 4, 2, 2, 4, 4, 6, 2, 2, 4, 4, 6, 6, 8, 2, 2, 4, 2, 2,//------
521 2, 2, 2, 4, 2, 2, 4, 4, 6, 2, 2, 4, 4, 6, 6, 8, 2, 2, 4, 3, 2,//------
522 2, 2, 2, 4, 2, 2, 4, 4, 6, 2, 2, 4, 4, 6, 6, 8, 2, 2, 4, 4, 2,//------
523 2, 2, 2, 4, 2, 2, 4, 4, 6, 2, 2, 4, 4, 6, 6, 8, 2, 2, 4, 5, 2,//------
524 2, 2, 2, 4, 2, 2, 4, 4, 6, 2, 2, 4, 4, 6, 6, 8, 2, 2, 4, 6, 2,//------
525 2, 2, 2, 4, 2, 2, 4, 4, 6, 2, 2, 4, 4, 6, 6, 8, 2, 2, 4, 7, 2,//------
526 2, 2, 2, 4, 2, 2, 4, 4, 6, 2, 2, 4, 4, 6, 6, 8, 2, 2, 4, 9, 1,//------
527 2, 2, 2, 4, 2, 2, 4, 4, 6, 2, 2, 4, 4, 6, 6, 8, 2, 2, 4, 4, 6, 1,//------
528 2, 2, 2, 4, 2, 2, 4, 4, 6, 2, 2, 4, 4, 6, 6, 8, 2, 2, 4, 4, 6, 2,//------
529 2, 2, 2, 4, 2, 2, 4, 4, 6, 2, 2, 4, 4, 6, 6, 8, 2, 2, 4, 4, 6, 2, 1,//------
530 2, 2, 2, 4, 2, 2, 4, 4, 6, 2, 2, 4, 4, 6, 6, 8, 2, 2, 4, 4, 6, 2, 2,//------
531 2, 2, 2, 4, 2, 2, 4, 4, 6, 2, 2, 4, 4, 6, 6, 8, 2, 2, 4, 4, 6, 2, 3,//------
532 2, 2, 2, 4, 2, 2, 4, 4, 6, 2, 2, 4, 4, 6, 6, 8, 2, 2, 4, 4, 6, 2, 4,//------
533 2, 2, 2, 4, 2, 2, 4, 4, 6, 2, 2, 4, 4, 6, 6, 8, 2, 2, 4, 4, 6, 2, 2, 3,//------
534 2, 2, 2, 4, 2, 2, 4, 4, 6, 2, 2, 4, 4, 6, 6, 8, 2, 2, 4, 4, 6, 2, 2, 4,//------
535 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,//------
536 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,//------
537 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,//------
538 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,//------
539 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,//------
540 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,//------
541 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,//------
542 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,//------
543 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,//------
544 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,//------
545 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,//------
546 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,//------
547 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,//------
548 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 //-----
549};
550
551const G4int G4hQAOModel::fNumberOfShells[101] =
552{
553 0 , // nonexisting zero element
554
555 1 , 1 , 2 , 2 , 3 , 3 , 4 , 4 , 3 , 4 , // 1 - 10
556
557 5 , 5 , 6 , 6 , 6 , 6 , 6 , 7 , 8 , 8 , // 11 - 20
558
559 9 , 9 , 9 , 9 , 9 , 9 , 9 , 10 , 10 , 10 , // 21 - 30
560
56111 , 11 , 11 , 11 , 11 , 12 , 13 , 13 , 14 , 14 , // 31 - 40
562
56314 , 14 , 14 , 14 , 14 , 15 , 15 , 15 , 16 , 16 , // 41 - 50
564
565// ----------------------------------------------------------
566
56716 , 16 , 16 , 17 , 18 , 18 , 19 , 19 , 19 , 19 , // 51 - 60
568
56919 , 19 , 19 , 20 , 19 , 19 , 19 , 19 , 19 , 20 , // 61 - 70
570
57121 , 21 , 21 , 21 , 21 , 21 , 21 , 21 , 22 , 22 , // 71 - 80
572
57323 , 23 , 23 , 23 , 24 , 24 , 25 , 25 , 26 , 26 , // 81 - 90
574
57527 , 27 , 27 , 26 , 26 , 27 , 27 , 26 , 26 , 26 // 91 - 100
576
577};
578
Note: See TracBrowser for help on using the repository browser.