Import Geant4 10.3.1 source tree

This commit is contained in:
Gabriele Cosmo
2017-02-28 16:16:20 +01:00
parent a3452e42ac
commit 4597adb7c4
267 changed files with 14761 additions and 24650 deletions
@@ -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