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) {
95 delete thePolarization;
96 thePolarization =
nullptr;
102 theExcitationEnergy(0.0),
103 theGroundStateMass(0.0),
104 theMomentum(aMomentum),
105 thePolarization(nullptr),
110 numberOfChargedHoles(0),
111 numberOfShellElectrons(0),
113 theParticleDefinition(nullptr),
118 CalculateGroundStateMass();
119 CalculateExcitationEnergy();
128 theExcitationEnergy(0.0),
129 theMomentum(aMomentum),
130 thePolarization(nullptr),
135 numberOfChargedHoles(0),
136 numberOfShellElectrons(0),
138 theParticleDefinition(aParticleDefinition),
144 G4String text =
"G4Fragment::G4Fragment constructor for gamma used for "
148 theGroundStateMass = aParticleDefinition->
GetPDGMass();
153 if (
this != &right) {
156 theExcitationEnergy = right.theExcitationEnergy;
157 theGroundStateMass = right.theGroundStateMass;
158 theMomentum = right.theMomentum;
159 delete thePolarization;
160 thePolarization =
nullptr;
161 if(right.thePolarization !=
nullptr) {
164 creatorModel = right.creatorModel;
165 numberOfParticles = right.numberOfParticles;
166 numberOfCharged = right.numberOfCharged;
167 numberOfHoles = right.numberOfHoles;
168 numberOfChargedHoles = right.numberOfChargedHoles;
169 numberOfShellElectrons = right.numberOfShellElectrons;
170 xLevel = right.xLevel;
171 theParticleDefinition = right.theParticleDefinition;
173 theCreationTime = right.theCreationTime;
191 out <<
"Fragment: null pointer ";
195 std::ios::fmtflags old_floatfield = out.flags();
196 out.setf(std::ios::floatfield);
198 out <<
"Fragment: A = " << std::setw(3) << theFragment->theA
199 <<
", Z = " << std::setw(3) << theFragment->theZ ;
200 out.setf(std::ios::scientific,std::ios::floatfield);
203 std::streamsize floatPrec = out.precision();
205 out << std::setprecision(3)
223 out <<
" #spin= " << theFragment->
GetSpin()
238 out.setf(old_floatfield,std::ios::floatfield);
239 out.precision(floatPrec);
250 void G4Fragment::ExcitationEnergyWarning()
253 G4cout <<
"G4Fragment::CalculateExcitationEnergy(): WARNING "<<
G4endl;
258 void G4Fragment::NumberOfExitationWarning(
const G4String&
value)
260 G4cout <<
"G4Fragment::"<< value <<
" ERROR "
263 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
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