62 #include "G4InuclSpecialFunctions.hh"    85   copy(aFragment, model);
   131   copy(a3DNucleus, model);
   135   if (!a3DNucleus) 
return;      
   192   G4double ekin_new = (ekin == 0.) ? 0.
   193     : std::sqrt(emass*emass + ekin*(2.*
getMass()+ekin)) - emass;
   207   if (0 == a && 0 == z) 
return 0;
   222   static std::map<G4int,G4ParticleDefinition*> fragmentList;
   231   if (a<=0 || z<0 || a<z) {
   232     G4cerr << 
" >>> G4InuclNuclei::makeNuclearFragment() called with"   233        << 
" impossible arguments A=" << a << 
" Z=" << z << 
G4endl;
   235                   "G4InuclNuclei impossible A/Z arguments");
   245   if (fragmentList.find(code) != fragmentList.end()) 
return fragmentList[code];
   249   std::stringstream zstr, astr;
   268                   "nucleus",  0,    a, code,
   270                   true, 
"generic",  0,  0.);
   274   return (fragmentList[code] = fragPD);     
   286   if (
this != &right) {
 G4LorentzVector getMomentum() const
 
void fill(G4int a, G4int z, G4double exc=0., Model model=DefaultModel)
 
G4double GetExcitationEnergy() const
 
G4double getExitationEnergy() const
 
static G4double GetNuclearMass(const G4double A, const G4double Z)
 
virtual G4int GetCharge()=0
 
void SetAntiPDGEncoding(G4int aEncoding)
 
virtual G4bool StartLoop()=0
 
G4InuclNuclei & operator=(const G4InuclNuclei &right)
 
G4ParticleDefinition * GetIon(G4int Z, G4int A, G4int lvl=0)
 
virtual G4int GetMassNumber()=0
 
void SetNumberOfHoles(G4int valueTot, G4int valueP=0)
 
static G4int GetNucleusEncoding(G4int Z, G4int A, G4double E=0.0, G4int lvl=0)
 
void setDefinition(const G4ParticleDefinition *pd)
 
virtual void print(std::ostream &os) const
 
#define G4MUTEX_INITIALIZER
 
virtual void print(std::ostream &os) const
 
static G4Proton * Definition()
 
void setExitationEnergy(G4double e)
 
G4int GetNumberOfHoles() const
 
void SetNumberOfExcitedParticle(G4int valueTot, G4int valueP)
 
const G4String & GetParticleName() const
 
G4IonTable * GetIonTable() const
 
G4Fragment makeG4Fragment() const
 
void copy(const G4Fragment &aFragment, Model model=DefaultModel)
 
G4double getNucleiMass() const
 
G4int GetNumberOfParticles() const
 
G4double getKineticEnergy() const
 
static G4ParticleTable * GetParticleTable()
 
const G4LorentzVector & GetMomentum() const
 
void clearExitonConfiguration()
 
static G4Neutron * Definition()
 
G4InuclParticle & operator=(const G4InuclParticle &right)
 
void setMass(G4double mass)
 
void setModel(Model model)
 
virtual G4Nucleon * GetNextNucleon()=0
 
void setKineticEnergy(G4double ekin)
 
static G4ParticleDefinition * makeDefinition(G4int a, G4int z)
 
void setMomentum(const G4LorentzVector &mom)
 
G4ExitonConfiguration theExitonConfiguration
 
const G4ParticleDefinition * GetParticleType() const
 
static const double eplus
 
const G4ParticleDefinition * getDefinition() const
 
static G4ParticleDefinition * makeNuclearFragment(G4int a, G4int z)
 
G4int GetNumberOfChargedHoles() const
 
G4int GetNumberOfCharged() const
 
G4GLOB_DLL std::ostream G4cerr
 
G4int neutronQuasiParticles
 
G4int protonQuasiParticles