Import Geant4 10.6.0 source tree

This commit is contained in:
Gabriele Cosmo
2019-12-06 15:12:28 +01:00
parent b2a62ae692
commit 5baee230e9
2997 changed files with 141580 additions and 98673 deletions
@@ -23,8 +23,6 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
//
// -------------------------------------------------------------------
//
// GEANT4 Class header file
@@ -53,6 +51,7 @@
#include <vector>
#include "globals.hh"
#include "G4PhysicsTable.hh"
#include "G4Threading.hh"
class G4VEmModel;
class G4ParticleDefinition;
@@ -63,7 +62,7 @@ class G4LossTableBuilder
public:
G4LossTableBuilder();
G4LossTableBuilder(G4bool master=true);
virtual ~G4LossTableBuilder();
@@ -74,12 +73,12 @@ public:
// build range
void BuildRangeTable(const G4PhysicsTable* dedxTable,
G4PhysicsTable* rangeTable,
G4bool isIonisation = false);
G4bool useBM = false);
// build inverse range
void BuildInverseRangeTable(const G4PhysicsTable* rangeTable,
G4PhysicsTable* invRangeTable,
G4bool isIonisation = false);
G4bool useBM = false);
// build a table requested by any model class
G4PhysicsTable* BuildTableForModel(G4PhysicsTable* table,
@@ -89,15 +88,14 @@ public:
G4bool spline);
// initialise base materials
void InitialiseBaseMaterials(G4PhysicsTable* table);
void InitialiseBaseMaterials(const G4PhysicsTable* table=nullptr);
// access methods
inline const std::vector<G4int>* GetCoupleIndexes();
const std::vector<G4int>* GetCoupleIndexes() const;
inline const std::vector<G4double>* GetDensityFactors();
const std::vector<G4double>* GetDensityFactors() const;
inline G4bool GetFlag(size_t idx) const;
G4bool GetFlag(size_t idx);
inline void SetSplineFlag(G4bool flag);
@@ -105,41 +103,23 @@ public:
private:
void InitialiseCouples();
G4LossTableBuilder & operator=(const G4LossTableBuilder &right);
G4LossTableBuilder(const G4LossTableBuilder&);
G4LossTableBuilder & operator=(const G4LossTableBuilder &right) = delete;
G4LossTableBuilder(const G4LossTableBuilder&) = delete;
G4EmParameters* theParameters;
G4EmParameters* theParameters;
G4bool splineFlag;
G4bool isInitialized;
G4bool isMaster;
std::vector<G4double>* theDensityFactor;
std::vector<G4int>* theDensityIdx;
std::vector<G4bool>* theFlag;
static std::vector<G4double>* theDensityFactor;
static std::vector<G4int>* theDensityIdx;
static std::vector<G4bool>* theFlag;
#ifdef G4MULTITHREADED
static G4Mutex ltbMutex;
#endif
};
inline const std::vector<G4int>*
G4LossTableBuilder::GetCoupleIndexes()
{
if(theDensityIdx->size() == 0) { InitialiseCouples(); }
return theDensityIdx;
}
inline const std::vector<G4double>*
G4LossTableBuilder::GetDensityFactors()
{
if(theDensityIdx->size() == 0) { InitialiseCouples(); }
return theDensityFactor;
}
inline G4bool G4LossTableBuilder::GetFlag(size_t idx) const
{
return (*theFlag)[idx];
}
inline void G4LossTableBuilder::SetSplineFlag(G4bool flag)
{
splineFlag = flag;