source: trunk/source/particles/management/include/G4NucleiPropertiesTableAME03.hh@ 1260

Last change on this file since 1260 was 1197, checked in by garnier, 16 years ago

nvx fichiers dans CVS

File size: 5.0 KB
RevLine 
[1197]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// $Id: G4NucleiPropertiesTableAME03.hh,v 1.4 2009/06/04 13:45:43 gunter Exp $
28// GEANT4 tag $Name: geant4-09-03-cand-01 $
29//
30// -------------------------------------------------------------------
31//
32// File name: G4NucleiPropertiesTableAME03.cc
33//
34// Authors: Tatsumi Koi (tkoi@slac.stanford.edu)
35//
36// Data are update to
37// The Ame2003 atomic mass evaluation (II)
38// by G.Audi, A.H.Wapstra and C.Thibault
39// Nuclear Physics A729 p. 337-676, December 22, 2003.
40//
41// Creation date: Apr. 2009
42// based on G4NucleiPropertiesTable
43//
44// Modifications:
45//
46
47#ifndef G4NucleiPropertiesTableAME03_h
48#define G4NucleiPropertiesTableAME03_h 1
49
50#include <cmath>
51#include "globals.hh"
52
53// Class Description
54// Class: G4NucleiPropertiesTable
55//*******************************************************************
56// Encapsulates Data from G. Audi and A.H. Wapstra, Nucl.
57// Physics,A595 vol 4 p 409-480,
58// 25. Dec. 1995.
59//*******************************************************************
60// Data are update to AME 2003
61//
62// Name, Z, A,
63// Mass Excess
64// Binding Energy
65// Beta Decay Energy
66// Atomic Mass
67//
68//
69class G4NucleiProperties;
70
71class G4NucleiPropertiesTableAME03
72{
73private:
74
75 // Default constructor - this class should exist only once!
76 G4NucleiPropertiesTableAME03();
77
78public:
79
80 // Destructor (generated)
81 ~G4NucleiPropertiesTableAME03() { };
82
83 // Following values migrate to AME03
84 enum {nEntries = 3179,MaxA = 293, ZMax = 120};
85
86 // Other Operations
87 // all methods are private and can be used only by G4NucleiProperties
88
89 friend class G4NucleiProperties;
90
91private:
92
93 // Operation: GetMassExcess
94 // values imported from The Ame2003 atomic mass evaluation (II)
95 static G4double GetMassExcess(G4int Z, G4int A);
96
97 // Operation: GetAtomicMass .. in Geant4 Energy units!
98 // Atomic_Mass = MassExcess + A*amu_c2
99 static G4double GetAtomicMass(G4int Z, G4int A);
100
101 // Operation: GetNuclearMass
102 // Nuclear_Mass = Atomic_Mass - electronMass
103 static G4double GetNuclearMass(G4int Z, G4int A);
104
105 // Operation: GetBindingEnergy
106 static G4double GetBindingEnergy(G4int Z, G4int A);
107
108 // Operation: GetBetaDecayEnergy
109 static G4double GetBetaDecayEnergy(G4int Z, G4int A);
110
111 // Is the nucleus (A,Z) in table?
112 static G4bool IsInTable(G4int Z, G4int A);
113
114 static G4int MaxZ(G4int A);
115 static G4int MinZ(G4int A);
116
117
118private:
119
120 // Operation: GetIndex
121 static G4int GetIndex(G4int Z, G4int A);
122
123
124 // Data Members for Class Attributes
125 //----------------------------------
126
127 // The following arrays are static for allow inicialization.
128 // The inicialization is Done in G4NucleiPropertiesTableAME03.cc
129
130 // Mass Excess
131 static G4double MassExcess[nEntries];
132
133
134 // Beta Decay Energy
135 static G4double BetaEnergy[nEntries];
136
137
138 // Table of Z (number of protons) and A (number of nucleons)
139 // indexArray[0][ ] --> Z
140 // indexArray[1][ ] --> A
141 static G4int indexArray[2][nEntries];
142
143 // Reduced Table of A for shorter index search.
144 // The index in this table coincide with A-1
145 // For each A value shortTable[A-1] has the index of the 1st occurrence in
146 // the indexArray[][]
147 static G4int shortTable[MaxA+1];
148
149 // electrom mass
150 static G4double electronMass[ZMax];
151 static G4bool isIntialized;
152
153};
154
155
156#endif
157
158
159
160
161
162
Note: See TracBrowser for help on using the repository browser.