Import Geant4 11.3.0 source tree
This commit is contained in:
@@ -45,50 +45,50 @@ class G4HadronicDeveloperParameters
|
||||
G4HadronicDeveloperParameters &operator=( const G4HadronicDeveloperParameters& );
|
||||
|
||||
public:
|
||||
G4bool Set( const std::string name , const G4bool );
|
||||
G4bool Set( const std::string name , const G4int );
|
||||
G4bool Set( const std::string name , const G4double );
|
||||
G4bool GetDefault( const std::string name , G4bool& value );
|
||||
G4bool GetDefault( const std::string name , G4int& value );
|
||||
G4bool GetDefault( const std::string name , G4double& value );
|
||||
G4bool Get( const std::string name , G4bool& value );
|
||||
G4bool Get( const std::string name , G4int& value );
|
||||
G4bool Get( const std::string name , G4double& value );
|
||||
G4bool DeveloperGet( const std::string name , G4bool& value );
|
||||
G4bool DeveloperGet( const std::string name , G4int& value );
|
||||
G4bool DeveloperGet( const std::string name , G4double& value );
|
||||
void Dump( const std::string name );
|
||||
G4bool Set( const G4String& name , const G4bool );
|
||||
G4bool Set( const G4String& name , const G4int );
|
||||
G4bool Set( const G4String& name , const G4double );
|
||||
G4bool GetDefault( const G4String& name , G4bool& value );
|
||||
G4bool GetDefault( const G4String& name , G4int& value );
|
||||
G4bool GetDefault( const G4String& name , G4double& value );
|
||||
G4bool Get( const G4String& name , G4bool& value );
|
||||
G4bool Get( const G4String& name , G4int& value );
|
||||
G4bool Get( const G4String& name , G4double& value );
|
||||
G4bool DeveloperGet( const G4String& name , G4bool& value );
|
||||
G4bool DeveloperGet( const G4String& name , G4int& value );
|
||||
G4bool DeveloperGet( const G4String& name , G4double& value );
|
||||
void Dump( const G4String& name );
|
||||
|
||||
//protected:
|
||||
public:
|
||||
G4bool SetDefault( const std::string name , const G4bool value );
|
||||
G4bool SetDefault( const std::string name , const G4int value , G4int lower_limit = -INT_MAX , G4int upper_limit = INT_MAX );
|
||||
G4bool SetDefault( const std::string name , const G4double value , G4double lower_limit = -DBL_MAX , G4double upper_limit = DBL_MAX );
|
||||
G4bool SetDefault( const G4String& name , const G4bool value );
|
||||
G4bool SetDefault( const G4String& name , const G4int value , G4int lower_limit = -INT_MAX , G4int upper_limit = INT_MAX );
|
||||
G4bool SetDefault( const G4String& name , const G4double value , G4double lower_limit = -DBL_MAX , G4double upper_limit = DBL_MAX );
|
||||
|
||||
private:
|
||||
G4bool get( const std::string name , G4bool& value , G4bool check_change = false );
|
||||
G4bool get( const std::string name , G4int& value , G4bool check_change = false );
|
||||
G4bool get( const std::string name , G4double& value , G4bool check_change= false );
|
||||
G4bool get( const G4String& name , G4bool& value , G4bool check_change = false );
|
||||
G4bool get( const G4String& name , G4int& value , G4bool check_change = false );
|
||||
G4bool get( const G4String& name , G4double& value , G4bool check_change= false );
|
||||
|
||||
std::map<std::string,G4bool> b_values;
|
||||
std::map<std::string,const G4bool> b_defaults;
|
||||
std::map<G4String,G4bool> b_values;
|
||||
std::map<G4String,const G4bool> b_defaults;
|
||||
|
||||
std::map<std::string,G4int> i_values;
|
||||
std::map<std::string,const G4int> i_defaults;
|
||||
std::map<std::string,std::pair<const G4int,const G4int>> i_limits;
|
||||
std::map<G4String,G4int> i_values;
|
||||
std::map<G4String,const G4int> i_defaults;
|
||||
std::map<G4String,std::pair<const G4int,const G4int>> i_limits;
|
||||
|
||||
std::map<std::string,G4double> values;
|
||||
std::map<std::string,const G4double> defaults;
|
||||
std::map<std::string,std::pair<const G4double,const G4double>> limits;
|
||||
std::map<G4String,G4double> values;
|
||||
std::map<G4String,const G4double> defaults;
|
||||
std::map<G4String,std::pair<const G4double,const G4double>> limits;
|
||||
|
||||
G4bool check_value_within_limits( std::pair<const G4double,const G4double>& , G4double );
|
||||
G4bool check_value_within_limits( std::pair<const G4int,const G4int>& , G4int );
|
||||
|
||||
void issue_no_param( const std::string& name );
|
||||
void issue_has_changed( const std::string& name );
|
||||
void issue_non_eligible_value( const std::string& name );
|
||||
void issue_is_already_defined( const std::string& name );
|
||||
void issue_is_modified( const std::string& name );
|
||||
void issue_no_param( const G4String& name );
|
||||
void issue_has_changed( const G4String& name );
|
||||
void issue_non_eligible_value( const G4String& name );
|
||||
void issue_is_already_defined( const G4String& name );
|
||||
void issue_is_modified( const G4String& name );
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
@@ -31,7 +31,7 @@
|
||||
|
||||
class G4HadronicException : public std::exception {
|
||||
public:
|
||||
G4HadronicException(G4String in, G4int at, G4String mess);
|
||||
G4HadronicException(const G4String& in, G4int at, const G4String& mess);
|
||||
|
||||
virtual ~G4HadronicException() throw();
|
||||
|
||||
|
||||
@@ -155,6 +155,13 @@ class G4HadronicParameters {
|
||||
void SetEnableNUDEX( G4bool val );
|
||||
// NUDEX gamma de-excitation is enabled/disabled.
|
||||
|
||||
inline const G4String& GetTypeTablePT() const;
|
||||
void SetTypeTablePT( const G4String& typeTablePT );
|
||||
// Specify the type of PT table - between "calendf" and "njoy" for
|
||||
// the URR (Unresolved Resonance Region) treatment of low-energy neutrons.
|
||||
// ( Note that there is no default: an empty string "" is returned if
|
||||
// it is not set explicitly. )
|
||||
|
||||
inline G4double GetEPRelativeLevel() const;
|
||||
inline G4double GetEPAbsoluteLevel() const;
|
||||
inline G4int GetEPReportLevel() const;
|
||||
@@ -220,6 +227,7 @@ class G4HadronicParameters {
|
||||
G4bool fChargeExchange = false;
|
||||
G4bool fBinaryDebug = false;
|
||||
|
||||
G4String fTypeTablePT = "";
|
||||
G4String fDirPARTICLEXS = "";
|
||||
G4String fPhysListDocDir = "";
|
||||
G4String fPhysListName = "";
|
||||
@@ -324,6 +332,10 @@ inline G4bool G4HadronicParameters::EnableNUDEX() const {
|
||||
return fEnableNUDEX;
|
||||
}
|
||||
|
||||
inline const G4String& G4HadronicParameters::GetTypeTablePT() const {
|
||||
return fTypeTablePT;
|
||||
}
|
||||
|
||||
inline G4bool G4HadronicParameters::EnableCoherentChargeExchange() const {
|
||||
return fChargeExchange;
|
||||
}
|
||||
|
||||
@@ -39,6 +39,8 @@
|
||||
// All arrays have length ZMAX = 101
|
||||
// access to this data via atomic number Z (1 - 100)
|
||||
|
||||
static const G4int ZMAXNUCLEARDATA = 100;
|
||||
|
||||
static const G4int amin[] = {
|
||||
0,
|
||||
1, 3, 6, 9, 10, 12, 14, 16, 19, 20, //1-10
|
||||
@@ -78,6 +80,19 @@ static const G4double aeff[] = {
|
||||
204.383, 207.217, 208.98, 208.982, 209.987, 222.018, 223.02, 226.025, 227.028, 232.038, //81-90
|
||||
231.036, 238.029, 237.048, 244.064, 243.061, 247.07, 247.07, 251.08, 252.083, 257.095}; //91-100
|
||||
|
||||
static const G4double lowEnergyLimitMeV[] = {
|
||||
0,
|
||||
0, 0, 0, 0, 0, 6., 0, 4., 0, 0, //1-10
|
||||
0, 0, 0, 1.6, 1.4, 1.4, 1.3, 1.6, 1.2, 1.3, //11-20
|
||||
0.2, 0.2, 0.4, 0, 0, 1.0, 1.3, 0.1, 0.8, 0.2, //21-30
|
||||
0.4, 0, 0, 0, 0, 0, 0, 0, 0, 0, //31-40
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, //41-50
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, //51-60
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, //61-70
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, //71-80
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, //81-90
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; //91-100
|
||||
|
||||
static const G4String elementName[] = {
|
||||
"",
|
||||
"Hydrogen", "Helium", "Lithium", "Berylium", "Boron", "Carbon",
|
||||
|
||||
@@ -34,7 +34,7 @@
|
||||
//
|
||||
// Creation date: February 2015
|
||||
//
|
||||
// Modifications:
|
||||
// Modifications: 29 October 2024 Isaac Kunen
|
||||
//
|
||||
// Legendre Polynomial
|
||||
//
|
||||
@@ -51,16 +51,24 @@ class G4LegendrePolynomial
|
||||
{
|
||||
public:
|
||||
// Access to coefficients
|
||||
static size_t GetNCoefficients(size_t order) { return order+1; }
|
||||
G4double GetCoefficient(size_t i, size_t order);
|
||||
static std::size_t GetNCoefficients(std::size_t order) { return order+1; }
|
||||
G4double GetCoefficient(std::size_t i, std::size_t order);
|
||||
|
||||
// Evaluation functions
|
||||
G4double EvalLegendrePoly(G4int order, G4double x);
|
||||
|
||||
G4double EvalAssocLegendrePoly(G4int l, G4int m, G4double x);
|
||||
|
||||
// cache is not used; use EvalAssocLegendrePoly(l, m, x) instead.
|
||||
G4double EvalAssocLegendrePoly(G4int l, G4int m, G4double x,
|
||||
std::map<G4int, std::map<G4int, G4double> >* cache = NULL);
|
||||
std::map<G4int, std::map<G4int, G4double> >* cache)
|
||||
{
|
||||
(void) cache; // suppress compiler warning for unused cache
|
||||
return EvalAssocLegendrePoly(l, m, x);
|
||||
}
|
||||
|
||||
protected: // Cache coefficients for speed
|
||||
void BuildUpToOrder(size_t order);
|
||||
void BuildUpToOrder(std::size_t order);
|
||||
std::vector< std::vector<G4double> > fCoefficients;
|
||||
};
|
||||
|
||||
|
||||
@@ -87,6 +87,10 @@ public:
|
||||
const G4ParticleDefinition* theParticle,
|
||||
G4double ekin);
|
||||
|
||||
// parameterisation of threshold shape of cross section
|
||||
static G4double NeutronInelasticShape(G4int Z, G4double ekin);
|
||||
static G4double ProtonInelasticShape(G4int Z, G4double ekin);
|
||||
|
||||
static G4Pow* fG4pow;
|
||||
static const G4double r0[93];
|
||||
|
||||
|
||||
@@ -33,27 +33,28 @@
|
||||
|
||||
class G4ping
|
||||
{
|
||||
public:
|
||||
G4ping(G4String aName) : theName(aName) {};
|
||||
public:
|
||||
|
||||
G4ping(const G4String& aName) : theName(aName) {}
|
||||
|
||||
void push_back(G4String aS) {theS.push_back(aS);}
|
||||
void push_back(const G4String& aS) {theS.push_back(aS);}
|
||||
void push_back(G4double aD) {theD.push_back(aD);}
|
||||
void push_back(G4LorentzVector aV) {theV.push_back(aV);}
|
||||
void push_back(const G4LorentzVector& aV) {theV.push_back(aV);}
|
||||
|
||||
void dump()
|
||||
{
|
||||
if(std::getenv(theName))
|
||||
{
|
||||
size_t i(0);
|
||||
for(i=0; i<theS.size(); i++)
|
||||
std::size_t i(0);
|
||||
for(i=0; i<theS.size(); ++i)
|
||||
{
|
||||
G4cout << theS[i]<<", ";
|
||||
}
|
||||
for(i=0; i<theD.size(); i++)
|
||||
for(i=0; i<theD.size(); ++i)
|
||||
{
|
||||
G4cout << theD[i]<<", ";
|
||||
}
|
||||
for(i=0; i<theV.size(); i++)
|
||||
for(i=0; i<theV.size(); ++i)
|
||||
{
|
||||
G4cout << theV[i]<<", ";
|
||||
}
|
||||
@@ -63,7 +64,9 @@
|
||||
theD.clear();
|
||||
theV.clear();
|
||||
}
|
||||
private:
|
||||
|
||||
private:
|
||||
|
||||
std::vector<G4String> theS;
|
||||
std::vector<G4double> theD;
|
||||
std::vector<G4LorentzVector> theV;
|
||||
|
||||
Reference in New Issue
Block a user