49 #define G4Fragment_h 1
100 inline void *
operator new(size_t);
101 inline void operator delete(
void *aFragment);
164 void ExcitationEnergyWarning();
166 void NumberOfExitationWarning(
const G4String&);
168 inline void CalculateExcitationEnergy();
170 inline void CalculateGroundStateMass();
188 G4int numberOfParticles;
190 G4int numberOfCharged;
194 G4int numberOfChargedHoles;
198 G4int numberOfShellElectrons;
210 #if defined G4HADRONIC_ALLOC_EXPORT
216 inline void * G4Fragment::operator
new(size_t)
222 inline void G4Fragment::operator
delete(
void * aFragment)
227 inline void G4Fragment::CalculateExcitationEnergy()
229 theExcitationEnergy = theMomentum.
mag() - theGroundStateMass;
230 if(theExcitationEnergy < 0.0) { ExcitationEnergyWarning(); }
233 inline void G4Fragment::CalculateGroundStateMass()
252 CalculateGroundStateMass();
257 return theExcitationEnergy;
262 return theGroundStateMass;
267 return (theA-theZ)*CLHEP::neutron_mass_c2 + theZ*CLHEP::proton_mass_c2
268 - theGroundStateMass;
279 CalculateExcitationEnergy();
284 return theAngularMomentum;
289 theAngularMomentum =
value;
311 CalculateGroundStateMass();
317 CalculateGroundStateMass();
322 return numberOfParticles + numberOfHoles;
327 return numberOfParticles;
332 return numberOfCharged;
338 numberOfParticles = valueTot;
339 numberOfCharged = valueP;
340 if(valueTot < valueP) {
341 NumberOfExitationWarning(
"SetNumberOfExcitedParticle");
347 return numberOfHoles;
352 return numberOfChargedHoles;
357 numberOfHoles = valueTot;
358 numberOfChargedHoles = valueP;
359 if(valueTot < valueP) {
360 NumberOfExitationWarning(
"SetNumberOfHoles");
366 numberOfParticles =
value;
371 numberOfCharged =
value;
372 if(value > numberOfParticles) {
373 NumberOfExitationWarning(
"SetNumberOfCharged");
379 return numberOfShellElectrons;
384 numberOfShellElectrons =
value;
390 return theParticleDefinition;
395 theParticleDefinition =
p;
400 return theCreationTime;
405 theCreationTime = time;
static G4double GetNuclearMass(const G4double A, const G4double Z)
friend std::ostream & operator<<(std::ostream &, const G4Fragment *)
const G4ThreeVector & GetAngularMomentum() const
G4int GetNumberOfElectrons() const
void SetAngularMomentum(const G4ThreeVector &value)
void SetNumberOfHoles(G4int valueTot, G4int valueP=0)
void SetNumberOfElectrons(G4int value)
G4int GetNumberOfParticles() const
void SetA(G4double value)
void SetParticleDefinition(G4ParticleDefinition *p)
G4int GetNumberOfHoles() const
void SetNumberOfExcitedParticle(G4int valueTot, G4int valueP)
G4bool operator==(const G4Fragment &right) const
G4double GetCreationTime() const
G4DLLIMPORT G4ThreadLocal G4Allocator< G4Fragment > * pFragmentAllocator
const G4LorentzVector & GetMomentum() const
void SetMomentum(const G4LorentzVector &value)
std::vector< G4Fragment * > G4FragmentVector
G4double GetGroundStateMass() const
void SetNumberOfParticles(G4int value)
G4double GetBindingEnergy() const
void SetCreationTime(G4double time)
G4int GetNumberOfExcitons() const
void SetZandA_asInt(G4int Znew, G4int Anew)
G4bool operator!=(const G4Fragment &right) const
G4ParticleDefinition * GetParticleDefinition() const
void SetStable(G4bool val)
const XML_Char int const XML_Char * value
void SetZ(G4double value)
G4int GetNumberOfChargedHoles() const
void SetNumberOfCharged(G4int value)
G4Fragment & operator=(const G4Fragment &right)
G4int GetNumberOfCharged() const
G4double ComputeGroundStateMass(G4int Z, G4int A) const
G4double GetExcitationEnergy() const