Geant4-11
Public Member Functions | Private Member Functions | Private Attributes
G4V3DNucleus Class Referenceabstract

#include <G4V3DNucleus.hh>

Inheritance diagram for G4V3DNucleus:
G4Fancy3DNucleus

Public Member Functions

std::pair< G4double, G4doubleChooseImpactXandY (G4double maxImpact)
 
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
 
 G4V3DNucleus ()
 
virtual G4int GetCharge ()=0
 
virtual G4double GetMass ()=0
 
virtual G4int GetMassNumber ()=0
 
virtual G4NucleonGetNextNucleon ()=0
 
virtual const G4VNuclearDensityGetNuclearDensity () const =0
 
virtual G4double GetNuclearRadius ()=0
 
virtual G4double GetNuclearRadius (const G4double maxRelativeDensity)=0
 
virtual const std::vector< G4Nucleon > & GetNucleons ()=0
 
virtual G4int GetNumberOfLambdas ()=0
 
virtual G4double GetOuterRadius ()=0
 
virtual void Init (G4int theA, G4int theZ, G4int numberOfLambdas=0)=0
 
std::pair< G4double, G4doubleRefetchImpactXandY ()
 
virtual void SortNucleonsDecZ ()=0
 
virtual void SortNucleonsIncZ ()=0
 
virtual G4bool StartLoop ()=0
 
virtual ~G4V3DNucleus ()
 

Private Member Functions

 G4V3DNucleus (const G4V3DNucleus &right)
 
G4bool operator!= (const G4V3DNucleus &right) const
 
const G4V3DNucleusoperator= (const G4V3DNucleus &right)
 
G4bool operator== (const G4V3DNucleus &right) const
 

Private Attributes

std::pair< G4double, G4doubletheImpactParameter
 

Detailed Description

Definition at line 40 of file G4V3DNucleus.hh.

Constructor & Destructor Documentation

◆ G4V3DNucleus() [1/2]

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}

◆ G4V3DNucleus() [2/2]

G4V3DNucleus::G4V3DNucleus ( const G4V3DNucleus right)
private

Definition at line 35 of file G4V3DNucleus.cc.

36{
37}

Member Function Documentation

◆ ChooseImpactXandY()

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

Definition at line 86 of file G4V3DNucleus.hh.

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

References G4UniformRand, and theImpactParameter.

Referenced by G4QGSParticipants::GetList(), and G4FTFParticipants::GetList().

◆ CoulombBarrier()

virtual G4double G4V3DNucleus::CoulombBarrier ( )
pure virtual

◆ 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()

virtual G4int G4V3DNucleus::GetCharge ( )
pure virtual

◆ GetMass()

virtual G4double G4V3DNucleus::GetMass ( )
pure virtual

◆ GetMassNumber()

virtual G4int G4V3DNucleus::GetMassNumber ( )
pure virtual

◆ GetNextNucleon()

virtual G4Nucleon * G4V3DNucleus::GetNextNucleon ( )
pure virtual

◆ GetNuclearDensity()

virtual const G4VNuclearDensity * G4V3DNucleus::GetNuclearDensity ( ) const
pure virtual

◆ 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

◆ GetNumberOfLambdas()

virtual G4int G4V3DNucleus::GetNumberOfLambdas ( )
pure virtual

◆ GetOuterRadius()

virtual G4double G4V3DNucleus::GetOuterRadius ( )
pure virtual

◆ Init()

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

◆ operator!=()

G4bool G4V3DNucleus::operator!= ( const G4V3DNucleus right) const
private

Definition at line 58 of file G4V3DNucleus.cc.

59{
60 return true;
61}

◆ operator=()

const G4V3DNucleus & G4V3DNucleus::operator= ( const G4V3DNucleus right)
private

Definition at line 45 of file G4V3DNucleus.cc.

46{
47 G4String text = "G4V3DNucleus::operator= meant to not be accessible";
48 throw G4HadronicException(__FILE__, __LINE__, text);
49 return *this;
50}

◆ operator==()

G4bool G4V3DNucleus::operator== ( const G4V3DNucleus right) const
private

Definition at line 53 of file G4V3DNucleus.cc.

54{
55 return false;
56}

◆ RefetchImpactXandY()

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

Definition at line 77 of file G4V3DNucleus.hh.

77{return theImpactParameter;}

References theImpactParameter.

◆ SortNucleonsDecZ()

virtual void G4V3DNucleus::SortNucleonsDecZ ( )
pure virtual

◆ SortNucleonsIncZ()

virtual void G4V3DNucleus::SortNucleonsIncZ ( )
pure virtual

◆ StartLoop()

virtual G4bool G4V3DNucleus::StartLoop ( )
pure virtual

Field Documentation

◆ theImpactParameter

std::pair<G4double, G4double> G4V3DNucleus::theImpactParameter
private

Definition at line 81 of file G4V3DNucleus.hh.

Referenced by ChooseImpactXandY(), and RefetchImpactXandY().


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