78 copy(aFragment, model);
115 return makeG4Fragment();
124 copy(a3DNucleus, model);
128 if (!a3DNucleus)
return;
183 G4double ekin_new = std::sqrt(emass*emass + ekin*(2.*
getMass()+ekin)) - emass;
197 if (0 == a && 0 == z)
return 0;
215 if (a<=0 || z<0 || a<z) {
216 G4cerr <<
" >>> G4InuclNuclei::makeNuclearFragment() called with"
217 <<
" impossible arguments A=" << a <<
" Z=" << z <<
G4endl;
219 "G4InuclNuclei impossible A/Z arguments");
229 static std::map<G4int, G4ParticleDefinition*> fragmentList;
230 if (fragmentList.find(code) != fragmentList.end())
return fragmentList[code];
233 std::stringstream zstr, astr;
237 G4String name =
"Z" + zstr.str() +
"A" + astr.str();
252 "nucleus", 0, a, code,
254 true,
"generic", 0, 0.);
257 return (fragmentList[code] = fragPD);
269 theExitonConfiguration = right.theExitonConfiguration;
282 if (!theExitonConfiguration.
empty())
283 os <<
G4endl <<
" " << theExitonConfiguration;
G4DLLIMPORT std::ostream G4cerr
G4int neutronQuasiParticles
G4int protonQuasiParticles
G4int GetNumberOfParticles() const
G4int GetNumberOfHoles() const
G4int GetNumberOfChargedHoles() const
G4double GetExcitationEnergy() const
const G4LorentzVector & GetMomentum() const
void SetNumberOfHoles(G4int valueTot, G4int valueP=0)
void SetNumberOfExcitedParticle(G4int valueTot, G4int valueP)
G4int GetNumberOfCharged() const
G4Fragment makeG4Fragment() const
static G4ParticleDefinition * makeNuclearFragment(G4int a, G4int z)
static G4ParticleDefinition * makeDefinition(G4int a, G4int z)
void copy(const G4Fragment &aFragment, Model model=DefaultModel)
G4double getNucleiMass() const
void setExitationEnergy(G4double e)
G4InuclNuclei & operator=(const G4InuclNuclei &right)
G4double getExitationEnergy() const
void fill(G4int a, G4int z, G4double exc=0., Model model=DefaultModel)
void clearExitonConfiguration()
virtual void print(std::ostream &os) const
void setMass(G4double mass)
G4ParticleDefinition * getDefinition() const
virtual void print(std::ostream &os) const
G4double getKineticEnergy() const
G4InuclParticle & operator=(const G4InuclParticle &right)
G4LorentzVector getMomentum() const
void setKineticEnergy(G4double ekin)
void setMomentum(const G4LorentzVector &mom)
void setDefinition(G4ParticleDefinition *pd)
void setModel(Model model)
static G4int GetNucleusEncoding(G4int Z, G4int A, G4double E=0.0, G4int J=0)
static G4Neutron * Definition()
static G4double GetNuclearMass(const G4double A, const G4double Z)
G4ParticleDefinition * GetParticleType() const
void SetAntiPDGEncoding(G4int aEncoding)
const G4String & GetParticleName() const
static G4ParticleTable * GetParticleTable()
G4ParticleDefinition * GetIon(G4int atomicNumber, G4int atomicMass, G4double excitationEnergy)
static G4Proton * Definition()
virtual G4Nucleon * GetNextNucleon()=0
virtual G4int GetCharge()=0
virtual G4bool StartLoop()=0
virtual G4int GetMassNumber()=0