Geant4  10.03.p01
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
G4HyperNucleiProperties Class Reference

#include <G4HyperNucleiProperties.hh>

Public Member Functions

 ~G4HyperNucleiProperties ()
 
 G4HyperNucleiProperties ()
 

Static Public Member Functions

static G4double GetAtomicMass (G4int A, G4int Z, G4int L)
 
static G4double GetNuclearMass (G4int A, G4int Z, G4int L)
 

Detailed Description

Definition at line 45 of file G4HyperNucleiProperties.hh.

Constructor & Destructor Documentation

G4HyperNucleiProperties::~G4HyperNucleiProperties ( )
inline

Definition at line 56 of file G4HyperNucleiProperties.hh.

56 { };
G4HyperNucleiProperties::G4HyperNucleiProperties ( )
inline

Definition at line 59 of file G4HyperNucleiProperties.hh.

59 {};

Member Function Documentation

G4double G4HyperNucleiProperties::GetAtomicMass ( G4int  A,
G4int  Z,
G4int  L 
)
static

Definition at line 102 of file G4HyperNucleiProperties.cc.

103 {
104  if (A < 1 || Z < 0 || Z > A-LL || LL > A || LL <0 ) {
105 #ifdef G4VERBOSE
106  if (G4ParticleTable::GetParticleTable()->GetVerboseLevel()>0) {
107  G4cout << "G4HyperNucleiProperties::GetAtomicMass: "
108  << " Wrong values for A = " << A
109  << " Z = " << Z
110  << " L = " << LL << G4endl;
111  }
112 #endif
113  return 0.0;
114 
115  } else {
116  G4double nuclearMass = GetNuclearMass(A, Z, LL);
117  return nuclearMass + Z*electron_mass_c2
118  - 1.433e-5*MeV*std::pow(G4double(Z),2.39);
119  }
120 }
static constexpr double electron_mass_c2
G4GLOB_DLL std::ostream G4cout
double A(double temperature)
static G4ParticleTable * GetParticleTable()
static const G4int LL[nN]
#define G4endl
Definition: G4ios.hh:61
static constexpr double MeV
Definition: G4SIunits.hh:214
double G4double
Definition: G4Types.hh:76
static G4double GetNuclearMass(G4int A, G4int Z, G4int L)

Here is the call graph for this function:

G4double G4HyperNucleiProperties::GetNuclearMass ( G4int  A,
G4int  Z,
G4int  L 
)
static

Definition at line 42 of file G4HyperNucleiProperties.cc.

43 {
44  if (LL==0) return G4NucleiProperties::GetNuclearMass(A, Z);
45 
47  if (A < 2 || Z < 0 || Z > A-LL || LL>A ) {
48 #ifdef G4VERBOSE
49  if (pTable->GetVerboseLevel()>0) {
50  G4cout << "G4HyperNucleiProperties::GetNuclearMass: "
51  << " Wrong values for A = " << A
52  << " Z = " << Z
53  << " L = " << LL
54  << G4endl;
55  }
56 #endif
57  return 0.0;
58  } else if( A==2 ) {
59 #ifdef G4VERBOSE
60  if (pTable->GetVerboseLevel()>0) {
61  G4cout << "G4HyperNucleiProperties::GetNuclearMass: "
62  << " No boud state for A = " << A
63  << " Z = " << Z
64  << " L = " << LL
65  << G4endl;
66  }
67 #endif
68  return 0.0;
69  }
70 
71 
72  G4ParticleDefinition* lambda = pTable->FindParticle("lambda");
73  if (lambda ==0) {
74 #ifdef G4VERBOSE
75  if (pTable->GetVerboseLevel()>0) {
76  G4cout << "G4HyperNucleiProperties::GetNuclearMass: "
77  << " Lambda is not defined " << G4endl;
78  }
79 #endif
80  return 0.0;
81  }
82  const G4double mLL= lambda->GetPDGMass(); // mLambda
83 
84  static const G4double b7=25.*MeV;
85  static const G4double b8=10.5; // Slope
86  static const G4double a2=0.13*MeV; // BindingEnergy for d+Lambda(MeV)
87  static const G4double a3=2.2*MeV; // BindingEnergy for (t/He3)+Lamb(MeV)
88  static const G4double eps =0.0001*MeV; // security value (MeV)
89 
91  // A non-"strange" nucleus
92  G4double bs=0.;
93  if (A-LL ==2) bs=a2; // for nnL,npL,ppL
94  else if(A-LL ==3) bs=a3; // for 3nL,2npL,n2pL,3pL
95  else if(A-LL >3) bs=b7*std::exp(-b8/(A-LL+1.));
96  mass += LL*(mLL-bs) + eps;
97 
98  return mass;
99 }
static G4double GetNuclearMass(const G4double A, const G4double Z)
G4ParticleDefinition * FindParticle(G4int PDGEncoding)
static const G4double eps
static const G4int mLL
G4GLOB_DLL std::ostream G4cout
double A(double temperature)
G4double GetPDGMass() const
static G4ParticleTable * GetParticleTable()
static const G4int LL[nN]
#define G4endl
Definition: G4ios.hh:61
static constexpr double MeV
Definition: G4SIunits.hh:214
double G4double
Definition: G4Types.hh:76
G4int GetVerboseLevel() const

Here is the call graph for this function:

Here is the caller graph for this function:


The documentation for this class was generated from the following files: