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

#include <G4FermiMomentum.hh>

Public Member Functions

 G4FermiMomentum ()
 
 ~G4FermiMomentum ()
 
void Init (G4int anA, G4int aZ)
 
G4double GetFermiMomentum (G4double density)
 
G4ThreeVector GetMomentum (G4double density, G4double maxMomentum=-1.)
 

Detailed Description

Definition at line 36 of file G4FermiMomentum.hh.

Constructor & Destructor Documentation

◆ G4FermiMomentum()

G4FermiMomentum::G4FermiMomentum ( )

Definition at line 31 of file G4FermiMomentum.cc.

31 :
32 theA(0), theZ(0),
33 constofpmax(hbarc*cbrt(3.*pi2))
34{}

◆ ~G4FermiMomentum()

G4FermiMomentum::~G4FermiMomentum ( )

Definition at line 36 of file G4FermiMomentum.cc.

36{}

Member Function Documentation

◆ GetFermiMomentum()

G4double G4FermiMomentum::GetFermiMomentum ( G4double  density)
inline

Definition at line 45 of file G4FermiMomentum.hh.

46 {
47 return constofpmax * cbrt(density * theA);
48 }

Referenced by GetMomentum().

◆ GetMomentum()

G4ThreeVector G4FermiMomentum::GetMomentum ( G4double  density,
G4double  maxMomentum = -1. 
)
inline

Definition at line 50 of file G4FermiMomentum.hh.

52 {
53 if (maxMomentum < 0 ) maxMomentum=GetFermiMomentum(density);
55
56 do {
58 2.*G4UniformRand()-1.,
59 2.*G4UniformRand()-1.);
60 } while ( p.mag() > 1. ); /* Loop checking, 30-Oct-2015, G.Folger */
61 return p*maxMomentum;
62 }
CLHEP::Hep3Vector G4ThreeVector
#define G4UniformRand()
Definition: Randomize.hh:52
double mag() const
G4double GetFermiMomentum(G4double density)

◆ Init()

void G4FermiMomentum::Init ( G4int  anA,
G4int  aZ 
)
inline

Definition at line 43 of file G4FermiMomentum.hh.

43{theA = anA; theZ = aZ;}

Referenced by G4NeutronField::G4NeutronField(), G4ProtonField::G4ProtonField(), and G4Fancy3DNucleus::Init().


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