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