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

#include <G4NuclearShellModelDensity.hh>

Inheritance diagram for G4NuclearShellModelDensity:
Collaboration 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 ( 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 }
static G4Pow * GetInstance()
Definition: G4Pow.cc:55
void Setrho0(G4double arho0)
G4double Z23(G4int Z) const
Definition: G4Pow.hh:154
static constexpr double pi
Definition: G4SIunits.hh:75
double G4double
Definition: G4Types.hh:76
static constexpr double fermi
Definition: G4SIunits.hh:103

Here is the call graph for this function:

G4NuclearShellModelDensity::~G4NuclearShellModelDensity ( )

Definition at line 43 of file G4NuclearShellModelDensity.cc.

43 {}

Member Function Documentation

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 }
G4double GetDensity(const G4ThreeVector &aPosition) const
double mag() const

Here is the call graph for this function:

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:230
#define DBL_MAX
Definition: templates.hh:83

Here is the call graph for this function:

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:183
double mag2() const

Here is the call graph for this function:


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