Geant4 11.2.2
Toolkit for the simulation of the passage of particles through matter
Loading...
Searching...
No Matches
G4NuclearShellModelDensity Class Reference

#include <G4NuclearShellModelDensity.hh>

+ Inheritance diagram for G4NuclearShellModelDensity:

Public Member Functions

 G4NuclearShellModelDensity (G4int anA, G4int aZ)
 
 ~G4NuclearShellModelDensity ()
 
G4double GetRelativeDensity (const G4ThreeVector &aPosition) const
 
G4double GetRadius (const G4double maxRelativeDenisty) const
 
G4double GetDeriv (const G4ThreeVector &aPosition) const
 
- Public Member Functions inherited from G4VNuclearDensity
 G4VNuclearDensity ()
 
virtual ~G4VNuclearDensity ()
 
G4double GetDensity (const G4ThreeVector &aPosition) const
 

Additional Inherited Members

- Protected Member Functions inherited from G4VNuclearDensity
void Setrho0 (G4double arho0)
 
G4double Getrho0 () const
 

Detailed Description

Definition at line 38 of file G4NuclearShellModelDensity.hh.

Constructor & Destructor Documentation

◆ G4NuclearShellModelDensity()

G4NuclearShellModelDensity::G4NuclearShellModelDensity ( G4int anA,
G4int aZ )

Definition at line 34 of file G4NuclearShellModelDensity.cc.

35: theA(anA)//, theZ(aZ)
36{
37 const G4double r0sq=0.8133*fermi*fermi;
38 theRsquare= r0sq * G4Pow::GetInstance()->Z23(theA);
39 G4double x = 1./(pi*theRsquare);
40 Setrho0(x*std::sqrt(x));
41}
double G4double
Definition G4Types.hh:83
static G4Pow * GetInstance()
Definition G4Pow.cc:41
G4double Z23(G4int Z) const
Definition G4Pow.hh:125
void Setrho0(G4double arho0)

◆ ~G4NuclearShellModelDensity()

G4NuclearShellModelDensity::~G4NuclearShellModelDensity ( )

Definition at line 43 of file G4NuclearShellModelDensity.cc.

43{}

Member Function Documentation

◆ GetDeriv()

G4double G4NuclearShellModelDensity::GetDeriv ( const G4ThreeVector & aPosition) const
virtual

Implements G4VNuclearDensity.

Definition at line 57 of file G4NuclearShellModelDensity.cc.

58{
59 return -2* aPosition.mag() / theRsquare * GetDensity(aPosition);
60}
double mag() const
G4double GetDensity(const G4ThreeVector &aPosition) const

◆ GetRadius()

G4double G4NuclearShellModelDensity::GetRadius ( const G4double maxRelativeDenisty) const
virtual

Implements G4VNuclearDensity.

Definition at line 50 of file G4NuclearShellModelDensity.cc.

51{
52
53 return (maxRelativeDensity>0 && maxRelativeDensity <= 1 ) ?
54 std::sqrt(theRsquare * G4Log(1/maxRelativeDensity) ) : DBL_MAX;
55}
G4double G4Log(G4double x)
Definition G4Log.hh:227
#define DBL_MAX
Definition templates.hh:62

◆ GetRelativeDensity()

G4double G4NuclearShellModelDensity::GetRelativeDensity ( const G4ThreeVector & aPosition) const
virtual

Implements G4VNuclearDensity.

Definition at line 45 of file G4NuclearShellModelDensity.cc.

46{
47 return G4Exp(-1*aPosition.mag2()/theRsquare);
48}
G4double G4Exp(G4double initial_x)
Exponential Function double precision.
Definition G4Exp.hh:180
double mag2() const

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