Geant4.10
All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions
G4NuclearShellModelDensity Class Reference

#include <G4NuclearShellModelDensity.hh>

Inheritance diagram for G4NuclearShellModelDensity:
G4VNuclearDensity

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 33 of file G4NuclearShellModelDensity.cc.

References python.hepunit::fermi, python.hepunit::pi, and G4VNuclearDensity::Setrho0().

34 : theA(anA)//, theZ(aZ)
35 {
36  const G4double r0sq=0.8133*fermi*fermi;
37  theRsquare= r0sq * std::pow(G4double(theA), 2./3. );
38  Setrho0(std::pow(1./(pi*theRsquare),3./2.));
39 }
void Setrho0(G4double arho0)
double G4double
Definition: G4Types.hh:76
G4NuclearShellModelDensity::~G4NuclearShellModelDensity ( )

Definition at line 41 of file G4NuclearShellModelDensity.cc.

41 {}

Member Function Documentation

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

Implements G4VNuclearDensity.

Definition at line 55 of file G4NuclearShellModelDensity.cc.

References G4VNuclearDensity::GetDensity(), and CLHEP::Hep3Vector::mag().

56 {
57  return -2* aPosition.mag() / theRsquare * GetDensity(aPosition);
58 }
G4double GetDensity(const G4ThreeVector &aPosition) const
double mag() const
G4double G4NuclearShellModelDensity::GetRadius ( const G4double  maxRelativeDenisty) const
virtual

Implements G4VNuclearDensity.

Definition at line 48 of file G4NuclearShellModelDensity.cc.

References DBL_MAX.

49 {
50 
51  return (maxRelativeDensity>0 && maxRelativeDensity <= 1 ) ?
52  std::sqrt(theRsquare * std::log(1/maxRelativeDensity) ) : DBL_MAX;
53 }
#define DBL_MAX
Definition: templates.hh:83
G4double G4NuclearShellModelDensity::GetRelativeDensity ( const G4ThreeVector aPosition) const
virtual

Implements G4VNuclearDensity.

Definition at line 43 of file G4NuclearShellModelDensity.cc.

References CLHEP::Hep3Vector::mag2().

44 {
45  return std::exp(-1*aPosition.mag2()/theRsquare);
46 }
double mag2() const

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