53 theExcitationEnergy(0.0),
54 theGroundStateMass(0.0),
56 thePolarization(nullptr),
61 numberOfChargedHoles(0),
62 numberOfShellElectrons(0),
64 theParticleDefinition(nullptr),
73 theExcitationEnergy(right.theExcitationEnergy),
74 theGroundStateMass(right.theGroundStateMass),
75 theMomentum(right.theMomentum),
76 thePolarization(nullptr),
77 creatorModel(right.creatorModel),
79 numberOfCharged(right.numberOfCharged),
80 numberOfHoles(right.numberOfHoles),
81 numberOfChargedHoles(right.numberOfChargedHoles),
82 numberOfShellElectrons(right.numberOfShellElectrons),
84 theParticleDefinition(right.theParticleDefinition),
86 theCreationTime(right.theCreationTime)
88 if(right.thePolarization !=
nullptr) {
101 theExcitationEnergy(0.0),
102 theGroundStateMass(0.0),
103 theMomentum(aMomentum),
104 thePolarization(nullptr),
109 numberOfChargedHoles(0),
110 numberOfShellElectrons(0),
112 theParticleDefinition(nullptr),
117 CalculateGroundStateMass();
118 CalculateExcitationEnergy();
127 theExcitationEnergy(0.0),
128 theMomentum(aMomentum),
129 thePolarization(nullptr),
134 numberOfChargedHoles(0),
135 numberOfShellElectrons(0),
137 theParticleDefinition(aParticleDefinition),
143 G4String text =
"G4Fragment::G4Fragment constructor for gamma used for "
147 theGroundStateMass = aParticleDefinition->
GetPDGMass();
152 if (
this != &right) {
155 theExcitationEnergy = right.theExcitationEnergy;
156 theGroundStateMass = right.theGroundStateMass;
157 theMomentum = right.theMomentum;
158 delete thePolarization;
159 thePolarization =
nullptr;
160 if(right.thePolarization !=
nullptr) {
163 creatorModel = right.creatorModel;
164 numberOfParticles = right.numberOfParticles;
165 numberOfCharged = right.numberOfCharged;
166 numberOfHoles = right.numberOfHoles;
167 numberOfChargedHoles = right.numberOfChargedHoles;
168 numberOfShellElectrons = right.numberOfShellElectrons;
169 xLevel = right.xLevel;
170 theParticleDefinition = right.theParticleDefinition;
172 theCreationTime = right.theCreationTime;
190 out <<
"Fragment: null pointer ";
194 std::ios::fmtflags old_floatfield = out.flags();
195 out.setf(std::ios::floatfield);
197 out <<
"Fragment: A = " << std::setw(3) << theFragment->theA
198 <<
", Z = " << std::setw(3) << theFragment->theZ ;
199 out.setf(std::ios::scientific,std::ios::floatfield);
202 std::streamsize floatPrec = out.precision();
204 out << std::setprecision(3)
222 out <<
" #spin= " << theFragment->
GetSpin()
237 out.setf(old_floatfield,std::ios::floatfield);
238 out.precision(floatPrec);
249 void G4Fragment::ExcitationEnergyWarning()
252 G4cout <<
"G4Fragment::CalculateExcitationEnergy(): WARNING "<<
G4endl;
257 void G4Fragment::NumberOfExitationWarning(
const G4String&
value)
259 G4cout <<
"G4Fragment::"<< value <<
" ERROR "
262 G4String text =
"G4Fragment::G4Fragment wrong exciton number ";
G4int GetFloatingLevelNumber() const
static int numberOfParticles
static constexpr double ns
G4int GetNumberOfParticles() const
G4int GetPDGEncoding() const
G4ThreeVector GetAngularMomentum() const
const G4String & GetParticleName() const
G4int GetNumberOfHoles() const
G4GLOB_DLL std::ostream G4cout
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
static constexpr double MeV
static constexpr double eV
G4double GetPDGMass() const
G4int GetNumberOfExcitons() const
std::ostream & operator<<(std::ostream &, const BasicVector3D< float > &)
G4bool operator!=(const G4Fragment &right) const
G4int GetNumberOfChargedHoles() const
void SetAngularMomentum(const G4ThreeVector &)
G4Fragment & operator=(const G4Fragment &right)
G4int GetCreatorModelType() const
G4int GetNumberOfCharged() const
G4double GetExcitationEnergy() const
G4NuclearPolarization * GetNuclearPolarization() const