ECCE @ EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
G4Fancy3DNucleus Class Reference

#include <geant4/tree/geant4-10.6-release/source/processes/hadronic/models/util/include/G4Fancy3DNucleus.hh>

+ Inheritance diagram for G4Fancy3DNucleus:
+ Collaboration diagram for G4Fancy3DNucleus:

Public Member Functions

 G4Fancy3DNucleus ()
 
 ~G4Fancy3DNucleus ()
 
void Init (G4int theA, G4int theZ)
 
G4bool StartLoop ()
 
G4NucleonGetNextNucleon ()
 
const std::vector< G4Nucleon > & GetNucleons ()
 
G4int GetMassNumber ()
 
G4double GetMass ()
 
G4int GetCharge ()
 
G4double GetNuclearRadius ()
 
G4double GetNuclearRadius (const G4double maxRelativeDensity)
 
G4double GetOuterRadius ()
 
G4double AddExcitationEnergy (G4double)
 
G4double GetExcitationEnergy ()
 
G4double CoulombBarrier ()
 
void DoLorentzBoost (const G4LorentzVector &theBoost)
 
void DoLorentzBoost (const G4ThreeVector &theBeta)
 
void DoLorentzContraction (const G4LorentzVector &theBoost)
 
void DoLorentzContraction (const G4ThreeVector &theBeta)
 
void CenterNucleons ()
 
void DoTranslation (const G4ThreeVector &theShift)
 
const G4VNuclearDensityGetNuclearDensity () const
 
void SortNucleonsIncZ ()
 
void SortNucleonsDecZ ()
 
- Public Member Functions inherited from G4V3DNucleus
 G4V3DNucleus ()
 
virtual ~G4V3DNucleus ()
 
std::pair< G4double, G4doubleChooseImpactXandY (G4double maxImpact)
 
std::pair< G4double, G4doubleRefetchImpactXandY ()
 

Private Member Functions

 G4Fancy3DNucleus (const G4Fancy3DNucleus &right)
 
const G4Fancy3DNucleusoperator= (const G4Fancy3DNucleus &right)
 
G4bool operator== (const G4Fancy3DNucleus &right) const
 
G4bool operator!= (const G4Fancy3DNucleus &right) const
 
void ChooseNucleons ()
 
void ChoosePositions ()
 
void ChooseFermiMomenta ()
 
G4double BindingEnergy ()
 
G4bool ReduceSum ()
 

Private Attributes

G4int myA
 
G4int myZ
 
std::vector< G4NucleontheNucleons
 
G4int currentNucleon
 
G4VNuclearDensitytheDensity
 
G4FermiMomentum theFermi
 
G4double nucleondistance
 
G4double excitationEnergy
 
std::vector< G4ThreeVectorplaces
 
std::vector< G4ThreeVectormomentum
 
std::vector< G4doublefermiM
 
std::vector
< G4Fancy3DNucleusHelper
testSums
 

Detailed Description

Definition at line 54 of file G4Fancy3DNucleus.hh.

View newest version in sPHENIX GitHub at line 54 of file G4Fancy3DNucleus.hh

Constructor & Destructor Documentation

G4Fancy3DNucleus::G4Fancy3DNucleus ( )

Definition at line 59 of file G4Fancy3DNucleus.cc.

View newest version in sPHENIX GitHub at line 59 of file G4Fancy3DNucleus.cc

G4Fancy3DNucleus::~G4Fancy3DNucleus ( )

Definition at line 66 of file G4Fancy3DNucleus.cc.

View newest version in sPHENIX GitHub at line 66 of file G4Fancy3DNucleus.cc

References theDensity.

G4Fancy3DNucleus::G4Fancy3DNucleus ( const G4Fancy3DNucleus right)
private

Member Function Documentation

G4double G4Fancy3DNucleus::AddExcitationEnergy ( G4double  anE)
inline

Definition at line 131 of file G4Fancy3DNucleus.hh.

View newest version in sPHENIX GitHub at line 131 of file G4Fancy3DNucleus.hh

References excitationEnergy.

G4double G4Fancy3DNucleus::BindingEnergy ( )
private

Definition at line 168 of file G4Fancy3DNucleus.cc.

View newest version in sPHENIX GitHub at line 168 of file G4Fancy3DNucleus.cc

References G4NucleiProperties::GetBindingEnergy(), myA, and myZ.

Referenced by ChooseFermiMomenta(), GetMass(), and Init().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4Fancy3DNucleus::CenterNucleons ( )

Definition at line 245 of file G4Fancy3DNucleus.cc.

View newest version in sPHENIX GitHub at line 245 of file G4Fancy3DNucleus.cc

References DoTranslation(), myA, and theNucleons.

Referenced by Init(), and G4BinaryLightIonReaction::Interact().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4Fancy3DNucleus::ChooseFermiMomenta ( )
private

Definition at line 445 of file G4Fancy3DNucleus.cc.

View newest version in sPHENIX GitHub at line 445 of file G4Fancy3DNucleus.cc

References BindingEnergy(), CoulombBarrier(), energy, fermiM, G4endl, G4Exception(), G4VNuclearDensity::GetDensity(), G4FermiMomentum::GetFermiMomentum(), G4FermiMomentum::GetMomentum(), GeV, JustWarning, CLHEP::Hep3Vector::mag2(), mom, momentum, myA, myZ, G4Proton::Proton(), ReduceSum(), sqr(), theDensity, theFermi, and theNucleons.

Referenced by Init().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4Fancy3DNucleus::ChooseNucleons ( )
private

Definition at line 274 of file G4Fancy3DNucleus.cc.

View newest version in sPHENIX GitHub at line 274 of file G4Fancy3DNucleus.cc

References G4cout, G4endl, G4UniformRand, myA, myZ, G4Neutron::Neutron(), G4Proton::Proton(), and theNucleons.

Referenced by Init().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4Fancy3DNucleus::ChoosePositions ( )
private

Definition at line 294 of file G4Fancy3DNucleus.cc.

View newest version in sPHENIX GitHub at line 294 of file G4Fancy3DNucleus.cc

References CoulombBarrier(), Acts::Test::delta, FatalException, fermi, G4Exception(), G4UniformRand, G4VNuclearDensity::GetDensity(), G4FermiMomentum::GetFermiMomentum(), GetNuclearRadius(), G4VNuclearDensity::GetRelativeDensity(), CLHEP::Hep3Vector::mag2(), min, myA, nucleondistance, pi, places, G4Proton::Proton(), CLHEP::HepLorentzRotation::rotateY(), CLHEP::HepLorentzRotation::rotateZ(), CLHEP::Hep3Vector::set(), G4INCL::DeJongSpin::shoot(), sqr(), theDensity, theFermi, theNucleons, and CLHEP::HepLorentzVector::vect().

Referenced by Init().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4double G4Fancy3DNucleus::CoulombBarrier ( )
virtual

Implements G4V3DNucleus.

Definition at line 595 of file G4Fancy3DNucleus.cc.

View newest version in sPHENIX GitHub at line 595 of file G4Fancy3DNucleus.cc

References G4Pow::GetInstance(), MeV, myA, myZ, and G4Pow::Z13().

Referenced by ChooseFermiMomenta(), and ChoosePositions().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4Fancy3DNucleus::DoLorentzBoost ( const G4LorentzVector theBoost)
virtual

Implements G4V3DNucleus.

Definition at line 207 of file G4Fancy3DNucleus.cc.

View newest version in sPHENIX GitHub at line 207 of file G4Fancy3DNucleus.cc

References myA, and theNucleons.

void G4Fancy3DNucleus::DoLorentzBoost ( const G4ThreeVector theBeta)
virtual

Implements G4V3DNucleus.

Definition at line 214 of file G4Fancy3DNucleus.cc.

View newest version in sPHENIX GitHub at line 214 of file G4Fancy3DNucleus.cc

References myA, and theNucleons.

void G4Fancy3DNucleus::DoLorentzContraction ( const G4LorentzVector theBoost)
virtual

Implements G4V3DNucleus.

Definition at line 235 of file G4Fancy3DNucleus.cc.

View newest version in sPHENIX GitHub at line 235 of file G4Fancy3DNucleus.cc

References CLHEP::HepLorentzVector::e(), and CLHEP::HepLorentzVector::vect().

+ Here is the call graph for this function:

void G4Fancy3DNucleus::DoLorentzContraction ( const G4ThreeVector theBeta)
virtual

Implements G4V3DNucleus.

Definition at line 221 of file G4Fancy3DNucleus.cc.

View newest version in sPHENIX GitHub at line 221 of file G4Fancy3DNucleus.cc

References CLHEP::Hep3Vector::mag2(), myA, and theNucleons.

+ Here is the call graph for this function:

void G4Fancy3DNucleus::DoTranslation ( const G4ThreeVector theShift)
virtual

Implements G4V3DNucleus.

Definition at line 257 of file G4Fancy3DNucleus.cc.

View newest version in sPHENIX GitHub at line 257 of file G4Fancy3DNucleus.cc

References myA, and theNucleons.

Referenced by CenterNucleons().

+ Here is the caller graph for this function:

G4int G4Fancy3DNucleus::GetCharge ( )
inlinevirtual

Implements G4V3DNucleus.

Definition at line 122 of file G4Fancy3DNucleus.hh.

View newest version in sPHENIX GitHub at line 122 of file G4Fancy3DNucleus.hh

References myZ.

Referenced by G4BinaryLightIonReaction::Interact().

+ Here is the caller graph for this function:

G4double G4Fancy3DNucleus::GetExcitationEnergy ( void  )
inline

Definition at line 137 of file G4Fancy3DNucleus.hh.

View newest version in sPHENIX GitHub at line 137 of file G4Fancy3DNucleus.hh

References excitationEnergy.

G4double G4Fancy3DNucleus::GetMass ( )
virtual

Implements G4V3DNucleus.

Definition at line 198 of file G4Fancy3DNucleus.cc.

View newest version in sPHENIX GitHub at line 198 of file G4Fancy3DNucleus.cc

References BindingEnergy(), G4ParticleDefinition::GetPDGMass(), myA, myZ, G4Neutron::Neutron(), and G4Proton::Proton().

Referenced by G4BinaryLightIonReaction::Interact().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4int G4Fancy3DNucleus::GetMassNumber ( )
inlinevirtual

Implements G4V3DNucleus.

Definition at line 127 of file G4Fancy3DNucleus.hh.

View newest version in sPHENIX GitHub at line 127 of file G4Fancy3DNucleus.hh

References myA.

Referenced by G4BinaryLightIonReaction::Interact().

+ Here is the caller graph for this function:

G4Nucleon * G4Fancy3DNucleus::GetNextNucleon ( )
virtual

Implements G4V3DNucleus.

Definition at line 133 of file G4Fancy3DNucleus.cc.

View newest version in sPHENIX GitHub at line 133 of file G4Fancy3DNucleus.cc

References currentNucleon, myA, and theNucleons.

Referenced by G4LowEIonFragmentation::ApplyYourself(), G4BinaryLightIonReaction::GetProjectileExcitation(), and G4BinaryLightIonReaction::Interact().

+ Here is the caller graph for this function:

const G4VNuclearDensity * G4Fancy3DNucleus::GetNuclearDensity ( ) const
virtual

Implements G4V3DNucleus.

Definition at line 267 of file G4Fancy3DNucleus.cc.

View newest version in sPHENIX GitHub at line 267 of file G4Fancy3DNucleus.cc

References theDensity.

Referenced by G4BinaryLightIonReaction::GetProjectileExcitation(), and G4BinaryLightIonReaction::Interact().

+ Here is the caller graph for this function:

G4double G4Fancy3DNucleus::GetNuclearRadius ( )
virtual

Implements G4V3DNucleus.

Definition at line 174 of file G4Fancy3DNucleus.cc.

View newest version in sPHENIX GitHub at line 174 of file G4Fancy3DNucleus.cc

Referenced by ChoosePositions().

+ Here is the caller graph for this function:

G4double G4Fancy3DNucleus::GetNuclearRadius ( const G4double  maxRelativeDensity)
virtual

Implements G4V3DNucleus.

Definition at line 179 of file G4Fancy3DNucleus.cc.

View newest version in sPHENIX GitHub at line 179 of file G4Fancy3DNucleus.cc

References G4VNuclearDensity::GetRadius(), and theDensity.

+ Here is the call graph for this function:

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

Implements G4V3DNucleus.

Definition at line 139 of file G4Fancy3DNucleus.cc.

View newest version in sPHENIX GitHub at line 139 of file G4Fancy3DNucleus.cc

References theNucleons.

Referenced by G4MuMinusCapturePrecompound::ApplyYourself().

+ Here is the caller graph for this function:

G4double G4Fancy3DNucleus::GetOuterRadius ( )
virtual

Implements G4V3DNucleus.

Definition at line 184 of file G4Fancy3DNucleus.cc.

View newest version in sPHENIX GitHub at line 184 of file G4Fancy3DNucleus.cc

References myA, nucleondistance, and theNucleons.

Referenced by G4LowEIonFragmentation::ApplyYourself(), and G4BinaryLightIonReaction::Interact().

+ Here is the caller graph for this function:

void G4Fancy3DNucleus::Init ( G4int  theA,
G4int  theZ 
)
virtual

Implements G4V3DNucleus.

Definition at line 82 of file G4Fancy3DNucleus.cc.

View newest version in sPHENIX GitHub at line 82 of file G4Fancy3DNucleus.cc

References BindingEnergy(), CenterNucleons(), ChooseFermiMomenta(), ChooseNucleons(), ChoosePositions(), currentNucleon, excitationEnergy, fermi, fermiM, G4FermiMomentum::Init(), momentum, myA, myZ, nucleondistance, places, testSums, theDensity, theFermi, and theNucleons.

Referenced by G4LowEIonFragmentation::ApplyYourself(), G4MuMinusCapturePrecompound::ApplyYourself(), and G4BinaryLightIonReaction::Interact().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4bool G4Fancy3DNucleus::operator!= ( const G4Fancy3DNucleus right) const
private
const G4Fancy3DNucleus& G4Fancy3DNucleus::operator= ( const G4Fancy3DNucleus right)
private
G4bool G4Fancy3DNucleus::operator== ( const G4Fancy3DNucleus right) const
private
G4bool G4Fancy3DNucleus::ReduceSum ( )
private

Definition at line 512 of file G4Fancy3DNucleus.cc.

View newest version in sPHENIX GitHub at line 512 of file G4Fancy3DNucleus.cc

References kdfinder::abs(), Acts::Test::delta, fermiM, CLHEP::Hep3Vector::mag(), momentum, myA, sum, boost::swap(), testSums, theNucleons, and CLHEP::Hep3Vector::unit().

Referenced by ChooseFermiMomenta().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4Fancy3DNucleus::SortNucleonsDecZ ( )
virtual

Implements G4V3DNucleus.

Definition at line 159 of file G4Fancy3DNucleus.cc.

View newest version in sPHENIX GitHub at line 159 of file G4Fancy3DNucleus.cc

References reverse, SortNucleonsIncZ(), and theNucleons.

+ Here is the call graph for this function:

void G4Fancy3DNucleus::SortNucleonsIncZ ( )
virtual

Implements G4V3DNucleus.

Definition at line 151 of file G4Fancy3DNucleus.cc.

View newest version in sPHENIX GitHub at line 151 of file G4Fancy3DNucleus.cc

References G4Fancy3DNucleusHelperForSortInZ(), and theNucleons.

Referenced by SortNucleonsDecZ().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4bool G4Fancy3DNucleus::StartLoop ( )
virtual

Implements G4V3DNucleus.

Definition at line 126 of file G4Fancy3DNucleus.cc.

View newest version in sPHENIX GitHub at line 126 of file G4Fancy3DNucleus.cc

References currentNucleon, and theNucleons.

Referenced by G4LowEIonFragmentation::ApplyYourself(), G4BinaryLightIonReaction::GetProjectileExcitation(), and G4BinaryLightIonReaction::Interact().

+ Here is the caller graph for this function:

Member Data Documentation

G4int G4Fancy3DNucleus::currentNucleon
private

Definition at line 108 of file G4Fancy3DNucleus.hh.

View newest version in sPHENIX GitHub at line 108 of file G4Fancy3DNucleus.hh

Referenced by GetNextNucleon(), Init(), and StartLoop().

G4double G4Fancy3DNucleus::excitationEnergy
private

Definition at line 113 of file G4Fancy3DNucleus.hh.

View newest version in sPHENIX GitHub at line 113 of file G4Fancy3DNucleus.hh

Referenced by AddExcitationEnergy(), GetExcitationEnergy(), and Init().

std::vector<G4double> G4Fancy3DNucleus::fermiM
private

Definition at line 117 of file G4Fancy3DNucleus.hh.

View newest version in sPHENIX GitHub at line 117 of file G4Fancy3DNucleus.hh

Referenced by ChooseFermiMomenta(), Init(), and ReduceSum().

std::vector<G4ThreeVector> G4Fancy3DNucleus::momentum
private

Definition at line 116 of file G4Fancy3DNucleus.hh.

View newest version in sPHENIX GitHub at line 116 of file G4Fancy3DNucleus.hh

Referenced by ChooseFermiMomenta(), Init(), and ReduceSum().

G4int G4Fancy3DNucleus::myZ
private

Definition at line 105 of file G4Fancy3DNucleus.hh.

View newest version in sPHENIX GitHub at line 105 of file G4Fancy3DNucleus.hh

Referenced by BindingEnergy(), ChooseFermiMomenta(), ChooseNucleons(), CoulombBarrier(), GetCharge(), GetMass(), and Init().

G4double G4Fancy3DNucleus::nucleondistance
private

Definition at line 112 of file G4Fancy3DNucleus.hh.

View newest version in sPHENIX GitHub at line 112 of file G4Fancy3DNucleus.hh

Referenced by ChoosePositions(), GetOuterRadius(), and Init().

std::vector<G4ThreeVector> G4Fancy3DNucleus::places
private

Definition at line 115 of file G4Fancy3DNucleus.hh.

View newest version in sPHENIX GitHub at line 115 of file G4Fancy3DNucleus.hh

Referenced by ChoosePositions(), and Init().

std::vector<G4Fancy3DNucleusHelper> G4Fancy3DNucleus::testSums
private

Definition at line 118 of file G4Fancy3DNucleus.hh.

View newest version in sPHENIX GitHub at line 118 of file G4Fancy3DNucleus.hh

Referenced by Init(), and ReduceSum().

G4VNuclearDensity* G4Fancy3DNucleus::theDensity
private

Definition at line 109 of file G4Fancy3DNucleus.hh.

View newest version in sPHENIX GitHub at line 109 of file G4Fancy3DNucleus.hh

Referenced by ChooseFermiMomenta(), ChoosePositions(), GetNuclearDensity(), GetNuclearRadius(), Init(), and ~G4Fancy3DNucleus().

G4FermiMomentum G4Fancy3DNucleus::theFermi
private

Definition at line 110 of file G4Fancy3DNucleus.hh.

View newest version in sPHENIX GitHub at line 110 of file G4Fancy3DNucleus.hh

Referenced by ChooseFermiMomenta(), ChoosePositions(), and Init().


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