Import Geant4 10.3.1 source tree
This commit is contained in:
@@ -23,7 +23,7 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4Fragment.hh 96383 2016-04-11 09:06:57Z gcosmo $
|
||||
// $Id: G4Fragment.hh 102724 2017-02-20 13:00:39Z gcosmo $
|
||||
//
|
||||
//---------------------------------------------------------------------
|
||||
//
|
||||
@@ -105,6 +105,7 @@ public:
|
||||
inline void SetZandA_asInt(G4int Znew, G4int Anew);
|
||||
|
||||
inline G4double GetExcitationEnergy() const;
|
||||
inline void SetExcEnergyAndMomentum(G4double eexc, const G4LorentzVector&);
|
||||
|
||||
inline G4double GetGroundStateMass() const;
|
||||
|
||||
@@ -151,6 +152,9 @@ public:
|
||||
inline G4int GetNumberOfElectrons() const;
|
||||
inline void SetNumberOfElectrons(G4int value);
|
||||
|
||||
inline G4int GetFloatingLevelNumber() const;
|
||||
inline void SetFloatingLevelNumber(G4int value);
|
||||
|
||||
inline const G4ParticleDefinition * GetParticleDefinition() const;
|
||||
inline void SetParticleDefinition(const G4ParticleDefinition * p);
|
||||
|
||||
@@ -160,7 +164,7 @@ public:
|
||||
inline G4NuclearPolarization* GetNuclearPolarization() const;
|
||||
inline void SetNuclearPolarization(G4NuclearPolarization*);
|
||||
|
||||
void SetAngularMomentum(G4ThreeVector&);
|
||||
void SetAngularMomentum(const G4ThreeVector&);
|
||||
G4ThreeVector GetAngularMomentum() const;
|
||||
|
||||
// ============= PRIVATE METHODS ==============================
|
||||
@@ -201,11 +205,14 @@ private:
|
||||
|
||||
// Gamma evaporation data members
|
||||
G4int numberOfShellElectrons;
|
||||
G4int xLevel;
|
||||
|
||||
const G4ParticleDefinition* theParticleDefinition;
|
||||
|
||||
G4double spin;
|
||||
G4double theCreationTime;
|
||||
|
||||
static const G4double minFragExcitation;
|
||||
};
|
||||
|
||||
// ============= INLINE METHOD IMPLEMENTATIONS ===================
|
||||
@@ -239,7 +246,10 @@ inline void G4Fragment::operator delete(void * aFragment)
|
||||
inline void G4Fragment::CalculateExcitationEnergy()
|
||||
{
|
||||
theExcitationEnergy = theMomentum.mag() - theGroundStateMass;
|
||||
if(theExcitationEnergy < 0.0) { ExcitationEnergyWarning(); }
|
||||
if(theExcitationEnergy < minFragExcitation) {
|
||||
if(theExcitationEnergy < -minFragExcitation) { ExcitationEnergyWarning(); }
|
||||
theExcitationEnergy = 0.0;
|
||||
}
|
||||
}
|
||||
|
||||
inline G4double
|
||||
@@ -280,6 +290,14 @@ inline G4double G4Fragment::GetGroundStateMass() const
|
||||
return theGroundStateMass;
|
||||
}
|
||||
|
||||
inline void G4Fragment::SetExcEnergyAndMomentum(G4double eexc,
|
||||
const G4LorentzVector& v)
|
||||
{
|
||||
theExcitationEnergy = eexc;
|
||||
theMomentum.set(0.0, 0.0, 0.0, theGroundStateMass + eexc);
|
||||
theMomentum.boost(v.boostVector());
|
||||
}
|
||||
|
||||
inline G4double G4Fragment::GetBindingEnergy() const
|
||||
{
|
||||
return (theA-theZ)*CLHEP::neutron_mass_c2 + theZ*CLHEP::proton_mass_c2
|
||||
@@ -406,6 +424,16 @@ inline void G4Fragment::SetSpin(G4double value)
|
||||
spin = value;
|
||||
}
|
||||
|
||||
inline G4int G4Fragment::GetFloatingLevelNumber() const
|
||||
{
|
||||
return xLevel;
|
||||
}
|
||||
|
||||
inline void G4Fragment::SetFloatingLevelNumber(G4int value)
|
||||
{
|
||||
xLevel = value;
|
||||
}
|
||||
|
||||
inline
|
||||
const G4ParticleDefinition* G4Fragment::GetParticleDefinition(void) const
|
||||
{
|
||||
|
||||
@@ -51,8 +51,8 @@ class G4PolynomialPDF
|
||||
public:
|
||||
G4PolynomialPDF(size_t n = 0, const double* coeffs = nullptr,
|
||||
G4double x1=0, G4double x2=1);
|
||||
~G4PolynomialPDF() {};
|
||||
|
||||
~G4PolynomialPDF();
|
||||
// Setters and Getters for coefficients
|
||||
inline void SetNCoefficients(size_t n) { fCoefficients.resize(n); fChanged = true; }
|
||||
inline size_t GetNCoefficients() const { return fCoefficients.size(); }
|
||||
@@ -94,7 +94,8 @@ class G4PolynomialPDF
|
||||
// Beware that if x1 and x2 are not set carefully there may be multiple
|
||||
// solutions, and care is not taken to select a particular one among them.
|
||||
// Returns x2 on error
|
||||
G4double GetX( G4double p, G4double x1, G4double x2, G4int ddxPower = 0, G4double guess = 1.e99, G4bool bisect = true );
|
||||
G4double GetX( G4double p, G4double x1, G4double x2, G4int ddxPower = 0,
|
||||
G4double guess = 1.e99, G4bool bisect = true );
|
||||
inline G4double EvalInverseCDF(G4double p) { return GetX(p, fX1, fX2, -1, fX1 + p*(fX2-fX1)); }
|
||||
G4double Bisect( G4double p, G4double x1, G4double x2 );
|
||||
|
||||
@@ -107,8 +108,9 @@ class G4PolynomialPDF
|
||||
G4double fX1;
|
||||
G4double fX2;
|
||||
std::vector<G4double> fCoefficients;
|
||||
G4bool fChanged;
|
||||
G4bool fChanged;
|
||||
G4double fTolerance;
|
||||
G4int fVerbose;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user