Import Geant4 10.6.0.beta source tree

This commit is contained in:
Gabriele Cosmo
2019-06-28 11:59:04 +02:00
parent 28a70706e0
commit d0f911957d
1056 changed files with 95168 additions and 78160 deletions
@@ -55,9 +55,9 @@ public:
G4BatemanParameters& operator=(const G4BatemanParameters&);
// equality operators
G4int operator==(const G4BatemanParameters& right) const
G4bool operator==(const G4BatemanParameters& right) const
{return (this == &right);};
G4int operator!=(const G4BatemanParameters& right) const
G4bool operator!=(const G4BatemanParameters& right) const
{return (this != &right);};
void DumpInfo();
@@ -103,14 +103,28 @@ class G4Radioactivation : public G4RadioactiveDecayBase
inline G4int GetVerboseLevel() const {return verboseLevel;}
// Returns the VerboseLevel which controls level of debugging output
// Controls whether G4Radioactivation runs in analogue mode or
// variance reduction mode. SetBRBias, SetSplitNuclei and
// SetSourceTimeProfile all turn off analogue mode and use VR mode
inline void SetAnalogueMonteCarlo (G4bool r ) {
AnalogueMC = r;
if (!AnalogueMC) halflifethreshold = 1e-6*CLHEP::s;
}
// Returns true if the simulation is an analogue Monte Carlo, and false if
// any of the biassing schemes have been selected.
inline G4bool IsAnalogueMonteCarlo () {return AnalogueMC;}
// Sets whether branching ration bias scheme applies.
inline void SetBRBias(G4bool r) {
BRBias = r;
}
AnalogueMC = false;
}
// Sets the number of times a nucleus will decay when biased
inline void SetSplitNuclei(G4int r) {
NSplit = r;
AnalogueMC = false;
}
// Returns the nuclear splitting number
@@ -137,6 +151,7 @@ class G4Radioactivation : public G4RadioactiveDecayBase
private:
G4bool AnalogueMC;
G4bool BRBias;
G4int NSplit;
@@ -158,8 +173,6 @@ class G4Radioactivation : public G4RadioactiveDecayBase
std::vector<G4RadioactivityTable*> theRadioactivityTables;
G4int decayWindows[100];
// Remainder of life time at rest
// G4double fRemainderLifeTime;
G4int verboseLevel;
};
@@ -39,13 +39,10 @@
#include "G4UImessenger.hh"
#include "G4UIdirectory.hh"
#include "G4UIcommand.hh"
// #include "G4UIcmdWith3VectorAndUnit.hh"
// #include "G4UIcmdWith3Vector.hh"
#include "G4UIcmdWithABool.hh"
#include "G4UIcmdWithAnInteger.hh"
#include "G4UIcmdWithADoubleAndUnit.hh"
#include "G4UIcmdWithAString.hh"
// #include "G4UIcmdWithoutParameter.hh"
#include "globals.hh"
#include "G4Radioactivation.hh"
@@ -65,26 +62,13 @@ class G4RadioactivationMessenger: public G4UImessenger
G4Radioactivation* theRadioactivationContainer;
G4UIdirectory* grdmDirectory;
// G4UIcmdWithNucleusLimits* nucleuslimitsCmd;
G4UIcmdWithABool* analoguemcCmd;
G4UIcmdWithAString* sourcetimeprofileCmd;
G4UIcmdWithAString* decaybiasprofileCmd;
// G4UIcmdWithABool* fbetaCmd;
G4UIcmdWithABool* brbiasCmd;
G4UIcmdWithAnInteger* splitnucleiCmd;
// G4UIcmdWithAnInteger* verboseCmd;
// G4UIcmdWithAString* avolumeCmd;
// G4UIcmdWithAString* deavolumeCmd;
// G4UIcmdWithoutParameter* allvolumesCmd;
// G4UIcmdWithoutParameter* deallvolumesCmd;
// G4UIcmdWithABool* icmCmd;
// G4UIcmdWithABool* armCmd;
G4UIcmdWithADoubleAndUnit* hlthCmd;
// G4UIcommand* userDecayDataCmd;
// G4UIcommand* userEvaporationDataCmd;
// G4UIcmdWith3Vector* colldirCmd;
// G4UIcmdWithADoubleAndUnit* collangleCmd;
};
#endif
@@ -359,6 +359,8 @@ class G4RadioactiveDecay : public G4VRestDiscreteProcess
#ifdef G4MULTITHREADED
public:
static G4Mutex radioactiveDecayMutex;
protected:
G4int& NumberOfInstances();
#endif
};
@@ -127,10 +127,6 @@ class G4RadioactiveDecayBase : public G4VRestDiscreteProcess
// by G4RadioactiveDecay
inline G4NucleusLimits GetNucleusLimits() const {return theNucleusLimits;}
// Controls whether G4RadioactiveDecay uses fast beta simulation mode
// Currently does nothing - kept for backward compatibility
inline void SetFBeta (G4bool r ) { FBeta = r; }
inline void SetDecayDirection(const G4ThreeVector& theDir) {
forceDecayDirection = theDir.unit();
}
@@ -173,8 +169,6 @@ class G4RadioactiveDecayBase : public G4VRestDiscreteProcess
G4double GetMeanLifeTime(const G4Track& theTrack,
G4ForceCondition* condition);
// G4double GetDecayTime();
// ParticleChange for decay process
G4ParticleChangeForRadDecay fParticleChangeForRadDecay;
@@ -188,13 +182,14 @@ class G4RadioactiveDecayBase : public G4VRestDiscreteProcess
private:
void StreamInfo(std::ostream& os, const G4String& endline);
G4RadioactiveDecayBase(const G4RadioactiveDecayBase &right);
G4RadioactiveDecayBase& operator=(const G4RadioactiveDecayBase &right);
G4NucleusLimits theNucleusLimits;
G4bool isInitialised;
G4bool FBeta;
G4bool applyICM;
G4bool applyARM;
@@ -244,6 +239,8 @@ class G4RadioactiveDecayBase : public G4VRestDiscreteProcess
#ifdef G4MULTITHREADED
public:
static G4Mutex radioactiveDecayMutex;
protected:
G4int& NumberOfInstances();
#endif
};
@@ -67,7 +67,6 @@ class G4RadioactiveDecayBaseMessenger: public G4UImessenger
G4UIdirectory* grdmDirectory;
G4UIcmdWithNucleusLimits* nucleuslimitsCmd;
G4UIcmdWithABool* fbetaCmd;
G4UIcmdWithAnInteger* verboseCmd;
G4UIcmdWithAString* avolumeCmd;
G4UIcmdWithAString* deavolumeCmd;
@@ -72,9 +72,9 @@ class G4RadioactiveDecayChainsFromParent
G4RadioactiveDecayChainsFromParent& operator=(const G4RadioactiveDecayChainsFromParent&);
// equality operators
G4int operator==(const G4RadioactiveDecayChainsFromParent& right) const
G4bool operator==(const G4RadioactiveDecayChainsFromParent& right) const
{return (this == &right);}
G4int operator!=(const G4RadioactiveDecayChainsFromParent& right) const
G4bool operator!=(const G4RadioactiveDecayChainsFromParent& right) const
{return (this != &right);}
public:
@@ -64,18 +64,13 @@
////////////////////////////////////////////////////////////////////////////////
//
enum G4RadioactiveDecayMode
{RDM_ERROR=-1, IT=0, BetaMinus=1, BetaPlus=2, KshellEC=3, LshellEC=4, MshellEC=5, NshellEC=6,Alpha=7,
Proton=8, Neutron=9, BDProton=10, BDNeutron=11, Beta2Minus=12, Beta2Plus=13, Proton2=14,
Neutron2=15, SpFission=16};
{RDM_ERROR=-1, IT=0, BetaMinus=1, BetaPlus=2, KshellEC=3, LshellEC=4,
MshellEC=5, NshellEC=6, Alpha=7, Proton=8, Neutron=9, SpFission=10,
BDProton=11, BDNeutron=12, Beta2Minus=13, Beta2Plus=14, Proton2=15,
Neutron2=16};
std::istream &operator >> (std::istream &s, G4RadioactiveDecayMode &q);
////////////////////////////////////////////////////////////////////////////////
#endif
@@ -70,9 +70,9 @@ class G4RadioactiveDecayRatesToDaughter
G4RadioactiveDecayRatesToDaughter(const G4RadioactiveDecayRatesToDaughter&);
G4RadioactiveDecayRatesToDaughter& operator=(const G4RadioactiveDecayRatesToDaughter&);
G4int operator==(const G4RadioactiveDecayRatesToDaughter& right) const
G4bool operator==(const G4RadioactiveDecayRatesToDaughter& right) const
{return (this == &right);};
G4int operator!=(const G4RadioactiveDecayRatesToDaughter& right) const
G4bool operator!=(const G4RadioactiveDecayRatesToDaughter& right) const
{return (this != &right);};
public:
@@ -0,0 +1,67 @@
//
// ********************************************************************
// * License and Disclaimer *
// * *
// * The Geant4 software is copyright of the Copyright Holders of *
// * the Geant4 Collaboration. It is provided under the terms and *
// * conditions of the Geant4 Software License, included in the file *
// * LICENSE and available at http://cern.ch/geant4/license . These *
// * include a list of copyright holders. *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. Please see the license in the file LICENSE and URL above *
// * for the full disclaimer and the limitation of liability. *
// * *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
////////////////////////////////////////////////////////////////////////////////
// //
// File: G4SFDecay.hh //
// Author: D.H. Wright (SLAC) //
// Date: 27 March 2019 //
// Description: performs emission of neutrons and gammas from spontaneous //
// fission of the parent nucleus. The LLNL model for neutron //
// and gamma spectra is used. Final state nuclear fragments //
// are not currently generated. //
// //
////////////////////////////////////////////////////////////////////////////////
#ifndef G4SFDecay_h
#define G4SFDecay_h 1
#include "G4NuclearDecay.hh"
class G4SFDecay : public G4NuclearDecay
{
public:
G4SFDecay(const G4ParticleDefinition* theParentNucleus,
const G4double& theBR, const G4double& Qvalue,
const G4double& excitation, const G4Ions::G4FloatLevelBase& flb);
virtual ~G4SFDecay();
virtual G4DecayProducts* DecayIt(G4double);
virtual void DumpNuclearInfo();
void SetARM(G4bool onoff) {applyARM = onoff;}
private:
const G4double transitionQ;
G4int parentZ;
G4int parentA;
G4bool applyARM;
};
#endif