Import Geant4 10.3.0 source tree
This commit is contained in:
@@ -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"
|
||||
|
||||
Reference in New Issue
Block a user