49 #define G4Fragment_h 1
98 inline void *
operator new(size_t);
99 inline void operator delete(
void *aFragment);
174 void ExcitationEnergyWarning();
176 void NumberOfExitationWarning(
const G4String&);
178 inline void CalculateExcitationEnergy();
180 inline void CalculateGroundStateMass();
201 G4int numberOfParticles;
202 G4int numberOfCharged;
204 G4int numberOfChargedHoles;
207 G4int numberOfShellElectrons;
215 static const G4double minFragExcitation;
222 if(p != thePolarization) {
223 delete thePolarization;
228 #if defined G4HADRONIC_ALLOC_EXPORT
234 inline void * G4Fragment::operator
new(size_t)
240 inline void G4Fragment::operator
delete(
void * aFragment)
242 ((
G4Fragment *)aFragment)->SetNuclearPolarization(
nullptr);
246 inline void G4Fragment::CalculateExcitationEnergy()
248 theExcitationEnergy = theMomentum.
mag() - theGroundStateMass;
249 if(theExcitationEnergy < minFragExcitation) {
250 if(theExcitationEnergy < -minFragExcitation) { ExcitationEnergyWarning(); }
251 theExcitationEnergy = 0.0;
261 inline void G4Fragment::CalculateGroundStateMass()
280 CalculateGroundStateMass();
285 return theExcitationEnergy;
290 return theGroundStateMass;
296 theExcitationEnergy = eexc;
297 theMomentum.
set(0.0, 0.0, 0.0, theGroundStateMass + eexc);
304 - theGroundStateMass;
315 CalculateExcitationEnergy();
331 CalculateGroundStateMass();
337 CalculateGroundStateMass();
342 return numberOfParticles + numberOfHoles;
347 return numberOfParticles;
352 return numberOfCharged;
358 numberOfParticles = valueTot;
359 numberOfCharged = valueP;
360 if(valueTot < valueP) {
361 NumberOfExitationWarning(
"SetNumberOfExcitedParticle");
367 return numberOfHoles;
372 return numberOfChargedHoles;
377 numberOfHoles = valueTot;
378 numberOfChargedHoles = valueP;
379 if(valueTot < valueP) {
380 NumberOfExitationWarning(
"SetNumberOfHoles");
386 numberOfParticles =
value;
391 numberOfCharged =
value;
392 if(value > numberOfParticles) {
393 NumberOfExitationWarning(
"SetNumberOfCharged");
399 return numberOfShellElectrons;
404 numberOfShellElectrons =
value;
414 creatorModel =
value;
440 return theParticleDefinition;
445 theParticleDefinition =
p;
450 return theCreationTime;
455 theCreationTime = time;
460 return thePolarization;
Hep3Vector boostVector() const
G4int GetFloatingLevelNumber() const
static G4double GetNuclearMass(const G4double A, const G4double Z)
static constexpr double proton_mass_c2
friend std::ostream & operator<<(std::ostream &, const G4Fragment *)
G4int GetNumberOfElectrons() const
const G4ParticleDefinition * GetParticleDefinition() const
void SetNumberOfHoles(G4int valueTot, G4int valueP=0)
void SetNumberOfElectrons(G4int value)
G4int GetNumberOfParticles() const
G4ThreeVector GetAngularMomentum() const
void SetA(G4double value)
void SetCreatorModelType(G4int value)
G4int GetNumberOfHoles() const
void SetParticleDefinition(const G4ParticleDefinition *p)
void SetNumberOfExcitedParticle(G4int valueTot, G4int valueP)
double A(double temperature)
G4bool operator==(const G4Fragment &right) const
void SetNuclearPolarization(G4NuclearPolarization *)
const XML_Char int const XML_Char * value
G4double GetCreationTime() const
G4DLLIMPORT G4ThreadLocal G4Allocator< G4Fragment > * pFragmentAllocator
const G4LorentzVector & GetMomentum() const
HepLorentzVector & boost(double, double, double)
void SetMomentum(const G4LorentzVector &value)
static constexpr double neutron_mass_c2
std::vector< G4Fragment * > G4FragmentVector
G4double GetGroundStateMass() const
void SetNumberOfParticles(G4int value)
G4double GetBindingEnergy() const
void SetCreationTime(G4double time)
void set(double x, double y, double z, double t)
G4int GetNumberOfExcitons() const
void SetZandA_asInt(G4int Znew, G4int Anew)
G4bool operator!=(const G4Fragment &right) const
void SetFloatingLevelNumber(G4int value)
void SetExcEnergyAndMomentum(G4double eexc, const G4LorentzVector &)
void SetZ(G4double value)
void SetSpin(G4double value)
G4int GetNumberOfChargedHoles() const
void SetNumberOfCharged(G4int value)
void SetAngularMomentum(const G4ThreeVector &)
G4Fragment & operator=(const G4Fragment &right)
G4int GetCreatorModelType() const
G4int GetNumberOfCharged() const
G4double ComputeGroundStateMass(G4int Z, G4int A) const
G4double GetExcitationEnergy() const
G4NuclearPolarization * GetNuclearPolarization() const