Import Geant4 9.6.0 source tree

This commit is contained in:
Gabriele Cosmo
2016-06-09 17:01:34 +02:00
parent b1eb5424d2
commit e2d2f9810a
10384 changed files with 698580 additions and 628834 deletions
@@ -47,6 +47,8 @@
// %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
////////////////////////////////////////////////////////////////////////////////
//
#include <CLHEP/Units/SystemOfUnits.h>
#include "globals.hh"
#include "G4NuclearDecayChannel.hh"
#include "G4RadioactiveDecayMode.hh"
@@ -69,7 +71,7 @@ class G4AlphaDecayChannel : public G4NuclearDecayChannel
G4NuclearDecayChannel (Alpha, Verbose, theParentNucleus, theBR,
theEndPointEnergy,
(theParentNucleus->GetBaryonNumber())-4,
int(theParentNucleus->GetPDGCharge()/eplus)-2,
int(theParentNucleus->GetPDGCharge()/CLHEP::eplus)-2,
theDaughterExcitation, "alpha")
{
#ifdef G4VERBOSE
@@ -47,6 +47,8 @@
// %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
////////////////////////////////////////////////////////////////////////////////
//
#include <CLHEP/Units/SystemOfUnits.h>
#include "globals.hh"
#include "G4NuclearDecayChannel.hh"
#include "G4RadioactiveDecayMode.hh"
@@ -75,7 +77,7 @@ class G4BetaMinusDecayChannel : public G4NuclearDecayChannel
theRandEnergy,
theEndPointEnergy,
theParentNucleus->GetBaryonNumber(),
int(theParentNucleus->GetPDGCharge()/eplus)+1,
int(theParentNucleus->GetPDGCharge()/CLHEP::eplus)+1,
theDaughterExcitation, "e-", "anti_nu_e")
{
#ifdef G4VERBOSE
@@ -47,11 +47,13 @@
// %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
////////////////////////////////////////////////////////////////////////////////
//
#include <CLHEP/Units/SystemOfUnits.h>
#include "globals.hh"
#include "G4NuclearDecayChannel.hh"
#include "G4RadioactiveDecayMode.hh"
////////////////////////////////////////////////////////////////////////////////
//
class G4BetaPlusDecayChannel : public G4NuclearDecayChannel
@@ -82,7 +84,7 @@ class G4BetaPlusDecayChannel : public G4NuclearDecayChannel
theRandEnergy,
theEndPointEnergy,
theParentNucleus->GetBaryonNumber(),
int(theParentNucleus->GetPDGCharge()/eplus)-1,
int(theParentNucleus->GetPDGCharge()/CLHEP::eplus)-1,
theDaughterExcitation, "e+", "nu_e")
{
#ifdef G4VERBOSE
@@ -26,6 +26,8 @@
#ifndef G4ITDecayChannel_h
#define G4ITDecayChannel_h 1
#include <CLHEP/Units/SystemOfUnits.h>
#include "globals.hh"
#include "G4NuclearDecayChannel.hh"
////////////////////////////////////////////////////////////////////////////////
@@ -45,7 +47,7 @@ class G4ITDecayChannel : public G4NuclearDecayChannel
G4double theBR) :
G4NuclearDecayChannel (IT, Verbose, theParentNucleus, theBR, 0.0,
theParentNucleus->GetBaryonNumber(),
int(theParentNucleus->GetPDGCharge()/eplus),
int(theParentNucleus->GetPDGCharge()/CLHEP::eplus),
theParentNucleus->GetExcitationEnergy())
{
#ifdef G4VERBOSE
@@ -47,6 +47,8 @@
// %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
////////////////////////////////////////////////////////////////////////////////
//
#include <CLHEP/Units/SystemOfUnits.h>
#include "globals.hh"
#include "G4NuclearDecayChannel.hh"
#include "G4RadioactiveDecayMode.hh"
@@ -69,7 +71,7 @@ class G4KshellECDecayChannel : public G4NuclearDecayChannel
G4double theDaughterExcitation=0.0) :
G4NuclearDecayChannel (KshellEC, Verbose, theParentNucleus, theBR,
theQtransit, theParentNucleus->GetBaryonNumber(),
int(theParentNucleus->GetPDGCharge()/eplus)-1,
int(theParentNucleus->GetPDGCharge()/CLHEP::eplus)-1,
theDaughterExcitation, "nu_e")
{
#ifdef G4VERBOSE
@@ -26,6 +26,8 @@
#ifndef G4LshellECDecayChannel_h
#define G4LshellECDecayChannel_h 1
#include <CLHEP/Units/SystemOfUnits.h>
#include "globals.hh"
#include "G4NuclearDecayChannel.hh"
#include "G4RadioactiveDecayMode.hh"
@@ -47,7 +49,7 @@ public:
G4double theDaughterExcitation=0.0) :
G4NuclearDecayChannel (LshellEC, Verbose, theParentNucleus, theBR,
theQtransit, theParentNucleus->GetBaryonNumber(),
int(theParentNucleus->GetPDGCharge()/eplus)-1,
int(theParentNucleus->GetPDGCharge()/CLHEP::eplus)-1,
theDaughterExcitation,
"nu_e")
{
@@ -26,6 +26,8 @@
#ifndef G4MshellECDecayChannel_h
#define G4MshellECDecayChannel_h 1
#include <CLHEP/Units/SystemOfUnits.h>
#include "globals.hh"
#include "G4NuclearDecayChannel.hh"
#include "G4RadioactiveDecayMode.hh"
@@ -47,7 +49,7 @@ public:
G4double theDaughterExcitation=0.0) :
G4NuclearDecayChannel (MshellEC, Verbose, theParentNucleus, theBR,
theQtransit, theParentNucleus->GetBaryonNumber(),
int(theParentNucleus->GetPDGCharge()/eplus)-1,
int(theParentNucleus->GetPDGCharge()/CLHEP::eplus)-1,
theDaughterExcitation,
"nu_e")
{
@@ -140,12 +140,12 @@ protected:
G4int daughterA;
G4int daughterZ;
G4ParticleDefinition *daughterNucleus;
G4DynamicParticle *dynamicDaughter;
G4DynamicParticle* dynamicDaughter;
G4double Qtransition;
G4double halflifethreshold;
G4bool applyICM;
G4bool applyARM;
CLHEP::RandGeneral* RandomEnergy;
CLHEP::RandGeneral* RandomEnergy;
};
#endif
@@ -70,16 +70,16 @@ class G4RIsotopeTable : public G4VIsotopeTable
public:
//
typedef std::vector<G4IsotopeProperty*> G4IsotopeList;
typedef std::vector<G4String> G4IsotopeNameList;
typedef std::vector<G4String> G4IsotopeNameList;
public:
// constructor
//
G4RIsotopeTable ();
G4RIsotopeTable();
protected:
// hide copy construictor as protected
G4RIsotopeTable(const G4RIsotopeTable &right);
// Hide copy constructor and assignment operator as protected
G4RIsotopeTable(const G4RIsotopeTable& right);
G4RIsotopeTable& operator = (const G4RIsotopeTable& right);
public:
// destructor
@@ -101,6 +101,12 @@ public:
// A: Atomic Mass
// E: Excitaion energy
void AddUserDecayDataFile(G4int Z, G4int A,G4String filename);
//Allow the user to replace the radio-active decay data provided in Geant4
// by its own data file for a given isotope
private:
G4String GetIsotopeName(G4int Z, G4int A, G4double E);
@@ -122,6 +128,10 @@ private:
G4IsotopeList fIsotopeList;
G4IsotopeNameList fIsotopeNameList;
static const G4double levelTolerance;
//User define radioactive decay data files replacing some files in the G4RADECAY database
std::map<G4int, G4String> theUserRadioactiveDataFiles;
};
inline G4int G4RIsotopeTable::Entries() const
@@ -54,11 +54,15 @@
// %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
////////////////////////////////////////////////////////////////////////////////
//
#include <vector>
#include <map>
#include <CLHEP/Units/SystemOfUnits.h>
#include "G4ios.hh"
#include "globals.hh"
#include "G4VRestDiscreteProcess.hh"
#include "G4ParticleChangeForRadDecay.hh"
#include "G4RadioactiveDecaymessenger.hh"
// #include "G4RadioactiveDecaymessenger.hh"
#include "G4NucleusLimits.hh"
#include "G4RadioactiveDecayRate.hh"
@@ -67,9 +71,6 @@
#include "G4RadioactivityTable.hh"
#include "G4ThreeVector.hh"
#include <vector>
#include <map>
class G4RadioactiveDecaymessenger;
typedef std::vector<G4RadioactiveDecayRateVector> G4RadioactiveDecayRateTable;
@@ -182,7 +183,7 @@ class G4RadioactiveDecay : public G4VRestDiscreteProcess
inline void SetAnalogueMonteCarlo (G4bool r ) {
AnalogueMC = r;
if (!AnalogueMC) halflifethreshold = 1e-6*s;
if (!AnalogueMC) halflifethreshold = 1e-6*CLHEP::s;
}
// Controls whether G4RadioactiveDecay runs in analogue mode or
// variance reduction mode.
@@ -217,14 +218,14 @@ class G4RadioactiveDecay : public G4VRestDiscreteProcess
return forceDecayDirection;
}
inline void SetDecayHalfAngle(G4double halfAngle=0.*deg) {
forceDecayHalfAngle = std::min(std::max(0.*deg,halfAngle),180.*deg);
inline void SetDecayHalfAngle(G4double halfAngle=0.*CLHEP::deg) {
forceDecayHalfAngle = std::min(std::max(0.*CLHEP::deg,halfAngle),180.*CLHEP::deg);
}
inline G4double GetDecayHalfAngle() const {return forceDecayHalfAngle;}
inline void SetDecayCollimation(const G4ThreeVector& theDir,
G4double halfAngle = 0.*deg) {
G4double halfAngle = 0.*CLHEP::deg) {
SetDecayDirection(theDir);
SetDecayHalfAngle(halfAngle);
}
@@ -252,7 +253,7 @@ class G4RadioactiveDecay : public G4VRestDiscreteProcess
G4double GetMeanLifeTime(const G4Track& theTrack,
G4ForceCondition* condition);
G4double GetTaoTime(G4double,G4double);
G4double GetTaoTime(const G4double,const G4double);
G4double GetDecayTime();
@@ -264,16 +265,13 @@ class G4RadioactiveDecay : public G4VRestDiscreteProcess
G4RadioactiveDecay & operator=(const G4RadioactiveDecay &right);
G4RadioactiveDecaymessenger* theRadioactiveDecaymessenger;
G4PhysicsTable* aPhysicsTable;
G4RIsotopeTable* theIsotopeTable;
G4NucleusLimits theNucleusLimits;
const G4double HighestBinValue;
const G4double LowestBinValue;
const G4int TotBin;
G4double HighestValue;
G4bool isInitialised;
G4bool AnalogueMC;
G4bool BRBias;
G4bool FBeta;
@@ -297,6 +295,7 @@ class G4RadioactiveDecay : public G4VRestDiscreteProcess
std::vector<G4String> LoadedNuclei;
std::vector<G4String> ValidVolumes;
bool isAllVolumesMode;
G4RadioactiveDecayRate theDecayRate;
G4RadioactiveDecayRates theDecayRateVector;
@@ -49,6 +49,7 @@
#include "globals.hh"
#include <map>
#include "G4ThreeVector.hh"
#include "G4TwoVector.hh"
using std::map;
@@ -74,21 +75,21 @@ public:
public:
// with description
//
void AddIsotope( G4int, G4int, G4double, G4double);
void AddIsotope( G4int, G4int, G4double, G4double, G4double);
// Add an isotope (Z,A,E) of rate to the table.
//
G4double GetRate(G4int, G4int, G4double);
G4TwoVector GetRate(G4int, G4int, G4double);
// Get the rate of isotoe (Z,A,E)
//
G4int Entries() const;
// Get the total number of isotope spieces in the table
//
map<G4ThreeVector,G4double>* GetTheMap();
map<G4ThreeVector,G4TwoVector>* GetTheMap();
// Return the stl map! Mainly for printing.
//
private:
map<G4ThreeVector,G4double> fRadioactivity;
map<G4ThreeVector,G4TwoVector> fRadioactivity;
};