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

#include <G4V3DNucleus.hh>

+ Inheritance diagram for G4V3DNucleus:

Public Member Functions

 G4V3DNucleus ()
 
virtual ~G4V3DNucleus ()
 
virtual void Init (G4int theA, G4int theZ)=0
 
virtual G4bool StartLoop ()=0
 
virtual G4NucleonGetNextNucleon ()=0
 
virtual const std::vector< G4Nucleon > & GetNucleons ()=0
 
virtual G4int GetMassNumber ()=0
 
virtual G4double GetMass ()=0
 
virtual G4int GetCharge ()=0
 
virtual G4double GetNuclearRadius ()=0
 
virtual G4double GetNuclearRadius (const G4double maxRelativeDensity)=0
 
virtual G4double GetOuterRadius ()=0
 
virtual G4double CoulombBarrier ()=0
 
virtual void DoLorentzBoost (const G4LorentzVector &theBoost)=0
 
virtual void DoLorentzBoost (const G4ThreeVector &theBeta)=0
 
virtual void DoLorentzContraction (const G4LorentzVector &theBoost)=0
 
virtual void DoLorentzContraction (const G4ThreeVector &theBeta)=0
 
virtual void DoTranslation (const G4ThreeVector &theShift)=0
 
virtual const G4VNuclearDensityGetNuclearDensity () const =0
 
virtual void SortNucleonsIncZ ()=0
 
virtual void SortNucleonsDecZ ()=0
 
std::pair< G4double, G4doubleChooseImpactXandY (G4double maxImpact)
 
std::pair< G4double, G4doubleRefetchImpactXandY ()
 

Detailed Description

Definition at line 40 of file G4V3DNucleus.hh.

Constructor & Destructor Documentation

◆ G4V3DNucleus()

G4V3DNucleus::G4V3DNucleus ( )

Definition at line 31 of file G4V3DNucleus.cc.

32{
33}

◆ ~G4V3DNucleus()

G4V3DNucleus::~G4V3DNucleus ( )
virtual

Definition at line 40 of file G4V3DNucleus.cc.

41{
42}

Member Function Documentation

◆ ChooseImpactXandY()

std::pair< G4double, G4double > G4V3DNucleus::ChooseImpactXandY ( G4double  maxImpact)
inline

Definition at line 85 of file G4V3DNucleus.hh.

87{
88 G4double x,y;
89 do
90 {
91 x = 2*G4UniformRand() - 1;
92 y = 2*G4UniformRand() - 1;
93 }
94 while(x*x + y*y > 1); /* Loop checking, 30-Oct-2015, G.Folger */
95
96 G4double impactX = x*(maxImpact);
97 G4double impactY = y*(maxImpact);
98 theImpactParameter.first = impactX;
99 theImpactParameter.second = impactY;
100 return theImpactParameter;
101}
double G4double
Definition: G4Types.hh:83
#define G4UniformRand()
Definition: Randomize.hh:52

Referenced by G4FTFParticipants::GetList().

◆ CoulombBarrier()

virtual G4double G4V3DNucleus::CoulombBarrier ( )
pure virtual

Implemented in G4Fancy3DNucleus.

◆ DoLorentzBoost() [1/2]

virtual void G4V3DNucleus::DoLorentzBoost ( const G4LorentzVector theBoost)
pure virtual

◆ DoLorentzBoost() [2/2]

virtual void G4V3DNucleus::DoLorentzBoost ( const G4ThreeVector theBeta)
pure virtual

Implemented in G4Fancy3DNucleus.

◆ DoLorentzContraction() [1/2]

virtual void G4V3DNucleus::DoLorentzContraction ( const G4LorentzVector theBoost)
pure virtual

Implemented in G4Fancy3DNucleus.

Referenced by G4FTFModel::Init().

◆ DoLorentzContraction() [2/2]

virtual void G4V3DNucleus::DoLorentzContraction ( const G4ThreeVector theBeta)
pure virtual

Implemented in G4Fancy3DNucleus.

◆ DoTranslation()

virtual void G4V3DNucleus::DoTranslation ( const G4ThreeVector theShift)
pure virtual

Implemented in G4Fancy3DNucleus.

Referenced by G4FTFParticipants::GetList().

◆ GetCharge()

◆ GetMass()

virtual G4double G4V3DNucleus::GetMass ( )
pure virtual

◆ GetMassNumber()

◆ GetNextNucleon()

◆ GetNuclearDensity()

◆ GetNuclearRadius() [1/2]

virtual G4double G4V3DNucleus::GetNuclearRadius ( )
pure virtual

◆ GetNuclearRadius() [2/2]

virtual G4double G4V3DNucleus::GetNuclearRadius ( const G4double  maxRelativeDensity)
pure virtual

Implemented in G4Fancy3DNucleus.

◆ GetNucleons()

virtual const std::vector< G4Nucleon > & G4V3DNucleus::GetNucleons ( )
pure virtual

◆ GetOuterRadius()

◆ Init()

virtual void G4V3DNucleus::Init ( G4int  theA,
G4int  theZ 
)
pure virtual

◆ RefetchImpactXandY()

std::pair< G4double, G4double > G4V3DNucleus::RefetchImpactXandY ( )
inline

Definition at line 76 of file G4V3DNucleus.hh.

76{return theImpactParameter;}

◆ SortNucleonsDecZ()

virtual void G4V3DNucleus::SortNucleonsDecZ ( )
pure virtual

◆ SortNucleonsIncZ()

virtual void G4V3DNucleus::SortNucleonsIncZ ( )
pure virtual

Implemented in G4Fancy3DNucleus.

Referenced by G4VParticipants::Init().

◆ StartLoop()


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