Import Geant4 10.6.0.beta source tree
This commit is contained in:
@@ -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;
|
||||
|
||||
};
|
||||
|
||||
+1
-17
@@ -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
|
||||
};
|
||||
|
||||
|
||||
+4
-7
@@ -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
|
||||
};
|
||||
|
||||
|
||||
-1
@@ -67,7 +67,6 @@ class G4RadioactiveDecayBaseMessenger: public G4UImessenger
|
||||
|
||||
G4UIdirectory* grdmDirectory;
|
||||
G4UIcmdWithNucleusLimits* nucleuslimitsCmd;
|
||||
G4UIcmdWithABool* fbetaCmd;
|
||||
G4UIcmdWithAnInteger* verboseCmd;
|
||||
G4UIcmdWithAString* avolumeCmd;
|
||||
G4UIcmdWithAString* deavolumeCmd;
|
||||
|
||||
+2
-2
@@ -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:
|
||||
|
||||
+4
-9
@@ -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
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
+2
-2
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user