Import Geant4 10.3.0 source tree

This commit is contained in:
Gabriele Cosmo
2016-12-09 12:35:28 +01:00
parent 4ec577e5c4
commit a3452e42ac
3514 changed files with 210500 additions and 89628 deletions
@@ -45,6 +45,8 @@
#ifndef G4INCLALLOCATIONPOOL_HH
#define G4INCLALLOCATIONPOOL_HH
#if defined(INCL_USE_ALLOCATION_POOL) || defined(INCLXX_IN_GEANT4_MODE)
#include <stack>
#include <new>
#include <cstddef>
@@ -109,4 +111,8 @@ namespace G4INCL {
allocator.recycleObject(static_cast<T *>(a)); \
}
#else // defined(INCL_USE_ALLOCATION_POOL) || defined(INCLXX_IN_GEANT4_MODE)
#define INCL_DECLARE_ALLOCATION_POOL(T)
#endif
#endif // G4INCLALLOCATIONPOOL_HH
@@ -353,6 +353,12 @@ namespace G4INCL {
G4bool getInverseKinematics() const { return inverseKinematics; }
/// \brief Get the hadronization time
G4double getDecayTimeThreshold() const { return decayTimeThreshold; }
/// \brief Set the hadronization time
void setDecayTimeThreshold(const G4double t) { decayTimeThreshold=t; }
private:
G4int verbosity;
@@ -471,6 +477,8 @@ namespace G4INCL {
G4bool inverseKinematics;
G4double decayTimeThreshold;
friend class ::ConfigParser;
};
@@ -117,7 +117,8 @@ namespace G4INCL {
enum CrossSectionsType {
INCL46CrossSections,
MultiPionsCrossSections,
TruncatedMultiPionsCrossSections
TruncatedMultiPionsCrossSections,
MultiPionsAndResonancesCrossSections
};
// Enumerator for phase-space generator
@@ -92,6 +92,7 @@ namespace G4INCL {
deltasInside(false),
forcedDeltasInside(false),
forcedDeltasOutside(false),
forcedPionResonancesOutside(false),
clusterDecay(false),
firstCollisionTime((Float_t)0.0),
firstCollisionXSec((Float_t)0.0),
@@ -108,6 +109,7 @@ namespace G4INCL {
{
std::fill_n(A, maxSizeParticles, 0);
std::fill_n(Z, maxSizeParticles, 0);
std::fill_n(PDGCode, maxSizeParticles, 0);
std::fill_n(EKin, maxSizeParticles, (Float_t)0.0);
std::fill_n(px, maxSizeParticles, (Float_t)0.0);
std::fill_n(py, maxSizeParticles, (Float_t)0.0);
@@ -149,6 +151,8 @@ namespace G4INCL {
Short_t A[maxSizeParticles];
/** \brief Particle charge number */
Short_t Z[maxSizeParticles];
/** \brief PDG numbering of the particles */
Int_t PDGCode[maxSizeParticles];
/** \brief Particle kinetic energy [MeV] */
Float_t EKin[maxSizeParticles];
/** \brief Particle momentum, x component [MeV/c] */
@@ -263,6 +267,8 @@ namespace G4INCL {
Bool_t forcedDeltasInside;
/** \brief Event involved forced delta decays outside the nucleus */
Bool_t forcedDeltasOutside;
/** \brief Event involved forced eta/omega decays outside the nucleus */
Bool_t forcedPionResonancesOutside;
/** \brief Event involved cluster decay */
Bool_t clusterDecay;
/** \brief Time of the first collision [fm/c] */
@@ -323,6 +329,7 @@ namespace G4INCL {
deltasInside = false;
forcedDeltasInside = false;
forcedDeltasOutside = false;
forcedPionResonancesOutside = false;
clusterDecay = false;
firstCollisionTime = (Float_t)0.0;
firstCollisionXSec = (Float_t)0.0;
@@ -101,7 +101,7 @@ namespace G4INCL {
protected:
G4double theTime;
INCL_DECLARE_ALLOCATION_POOL(IAvatar);
INCL_DECLARE_ALLOCATION_POOL(IAvatar)
};
typedef UnorderedVector<IAvatar*> IAvatarList;
@@ -62,7 +62,7 @@ namespace G4INCL {
FinalState *getFinalState();
virtual void fillFinalState(FinalState *fs) = 0;
INCL_DECLARE_ALLOCATION_POOL(IChannel);
INCL_DECLARE_ALLOCATION_POOL(IChannel)
};
}
@@ -199,6 +199,10 @@ namespace G4INCL {
theZ = 1;
break;
case PiZero:
case Eta:
case Omega:
case EtaPrime:
case Photon:
theA = 0;
theZ = 0;
break;
@@ -267,6 +271,15 @@ namespace G4INCL {
/** \brief Is this a pion? */
G4bool isPion() const { return (theType == PiPlus || theType == PiZero || theType == PiMinus); }
/** \brief Is this a eta? */
G4bool isEta() const { return (theType == Eta); }
/** \brief Is this a omega? */
G4bool isOmega() const { return (theType == Omega); }
/** \brief Is this a etaprime? */
G4bool isEtaPrime() const { return (theType == EtaPrime); }
/** \brief Is it a resonance? */
inline G4bool isResonance() const { return isDelta(); }
@@ -342,6 +355,10 @@ namespace G4INCL {
case PiPlus:
case PiMinus:
case PiZero:
case Eta:
case Omega:
case EtaPrime:
case Photon:
return ParticleTable::getINCLMass(theType);
break;
@@ -371,6 +388,10 @@ namespace G4INCL {
case PiPlus:
case PiMinus:
case PiZero:
case Eta:
case Omega:
case EtaPrime:
case Photon:
return ParticleTable::getTableParticleMass(theType);
break;
@@ -400,6 +421,10 @@ namespace G4INCL {
case PiPlus:
case PiMinus:
case PiZero:
case Eta:
case Omega:
case EtaPrime:
case Photon:
return ParticleTable::getRealMass(theType);
break;
@@ -805,7 +830,7 @@ namespace G4INCL {
G4double theMass;
static G4ThreadLocal long nextID;
INCL_DECLARE_ALLOCATION_POOL(Particle);
INCL_DECLARE_ALLOCATION_POOL(Particle)
};
}
@@ -64,7 +64,14 @@ namespace G4INCL {
ParticleType theType;
G4int theA, theZ;
/** \brief Set a PDG Code (MONTE CARLO PARTICLE NUMBERING)
*
* \param
* \return integer (identifying number for each particle)
*/
G4int getPDGCode() const;
private:
/** \brief Parse a nuclide name
*
@@ -91,7 +98,7 @@ namespace G4INCL {
* \return true if the parsing succeeded
*/
G4bool parseIUPACElement(std::string const &s);
};
}
@@ -69,6 +69,10 @@ namespace G4INCL {
const G4double effectiveDeltaMass = 1232.0;
const G4double effectiveDeltaWidth = 130.0;
const G4double effectivePionMass = 138.0;
const G4double effectiveEtaMass = 547.862;
const G4double effectiveOmegaMass = 782.65;
const G4double effectiveEtaPrimeMass = 957.78;
const G4double effectivePhotonMass = 0.0;
extern G4ThreadLocal G4double minDeltaMass;
extern G4ThreadLocal G4double minDeltaMass2;
extern G4ThreadLocal G4double minDeltaMassRndm;
@@ -266,6 +270,8 @@ namespace G4INCL {
/// \brief Get the type of delta
ParticleType getDeltaType(const G4int isosp);
/// \brief Get particle width (in s)
G4double getWidth(const ParticleType t);
}
}
@@ -58,6 +58,10 @@ namespace G4INCL {
DeltaZero,
DeltaMinus,
Composite,
Eta,
Omega,
EtaPrime,
Photon,
// WARNING: if you add more particle types, you MUST add them BEFORE the
// UnknownParticle type! This is because UnknownParticle is used as a
// counter of the number of available particle types.
@@ -35,5 +35,5 @@
#include "globals.hh"
#define G4INCL_VERSION_ID "v5.2.9.5-clean"
#define G4INCL_GIT_HASH "6aca7e652750fce5391178ec9e26c7339ed4620b"
#define G4INCL_VERSION_ID "v5.3-clean"
#define G4INCL_GIT_HASH "4b60f13e3a0cddd63f948f27373aecdd41a081ad"