Import Geant4 11.3.0 source tree
This commit is contained in:
@@ -120,9 +120,9 @@ protected:
|
||||
|
||||
CrossSectionDataTable xs_tab_;
|
||||
|
||||
G4ParticleDefinition* proton_def_;
|
||||
G4ParticleDefinition* alpha_def_;
|
||||
G4ParticleDefinition* carbon_def_;
|
||||
G4ParticleDefinition* proton_def_{nullptr};
|
||||
G4ParticleDefinition* alpha_def_{nullptr};
|
||||
G4ParticleDefinition* carbon_def_{nullptr};
|
||||
|
||||
const std::vector<G4double>* water_density_;
|
||||
|
||||
@@ -131,7 +131,7 @@ protected:
|
||||
|
||||
std::map<G4double, G4double> model_elow_tab_;
|
||||
|
||||
G4DNAMultipleIonisationManager* mioni_manager_;
|
||||
G4DNAMultipleIonisationManager* mioni_manager_{nullptr};
|
||||
|
||||
G4bool use_champion_param_;
|
||||
|
||||
|
||||
+1
-1
@@ -61,7 +61,7 @@ public:
|
||||
G4double GetAlphaParam(G4double energy);
|
||||
|
||||
private:
|
||||
G4int num_node_;
|
||||
G4int num_node_{0};
|
||||
std::vector<G4double> Eion_;
|
||||
std::vector<G4double> alpha_;
|
||||
|
||||
|
||||
@@ -26,36 +26,34 @@
|
||||
#ifndef G4LEPTSDiffXS_h
|
||||
#define G4LEPTSDiffXS_h 1
|
||||
|
||||
#include <string>
|
||||
#include "G4Types.hh"
|
||||
|
||||
class G4LEPTSDiffXS {
|
||||
class G4LEPTSDiffXS
|
||||
{
|
||||
public:
|
||||
|
||||
public:
|
||||
|
||||
G4LEPTSDiffXS(std::string); // Constructor
|
||||
G4LEPTSDiffXS(const G4String&); // Constructor
|
||||
|
||||
void readDXS(); // Read file
|
||||
void BuildCDXS();
|
||||
void BuildCDXS(G4double, G4double);
|
||||
void NormalizeCDXS();
|
||||
void InterpolateCDXS();
|
||||
void PrintDXS(int);
|
||||
void PrintDXS(G4int);
|
||||
|
||||
G4double SampleAngle(G4double);
|
||||
G4double SampleAngleMT(G4double, G4double);
|
||||
G4double SampleAngleEthylene(G4double, G4double);
|
||||
G4bool IsFileFound() const {
|
||||
return bFileFound;
|
||||
}
|
||||
G4bool IsFileFound() const { return bFileFound; }
|
||||
|
||||
private:
|
||||
std::string fileName;
|
||||
int NumAng;
|
||||
int INumAng;
|
||||
int NumEn;
|
||||
private:
|
||||
|
||||
G4String fileName;
|
||||
G4int NumAng;
|
||||
G4int INumAng;
|
||||
G4int NumEn;
|
||||
char DXSTypeName[8];
|
||||
int DXSType;
|
||||
G4int DXSType;
|
||||
G4double Eb[100];
|
||||
// G4double DXS[100][190], CDXS[100][190], IDXS[100][19000], ICDXS[100][19000];
|
||||
G4double DXS[100][190], CDXS[100][190], ICDXS[100][19000];
|
||||
|
||||
@@ -23,35 +23,34 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
#ifndef G4LEPTSDistribution_h
|
||||
#define G4LEPTSDistribution_h 1
|
||||
// G4LEPTSDistribution
|
||||
//
|
||||
// Author: Pedro Arce (CIEMAT), 2014
|
||||
// --------------------------------------------------------------------
|
||||
#ifndef G4LEPTSDistribution_hh
|
||||
#define G4LEPTSDistribution_hh 1
|
||||
|
||||
#include "globals.hh"
|
||||
#include "Randomize.hh"
|
||||
#include <string.h>
|
||||
#include <stdio.h>
|
||||
#include <string>
|
||||
#include <iostream>
|
||||
|
||||
class G4LEPTSDistribution {
|
||||
class G4LEPTSDistribution
|
||||
{
|
||||
|
||||
public:
|
||||
public:
|
||||
|
||||
G4LEPTSDistribution(); // Constructor
|
||||
void ReadFile( G4String fileName ); // Read file
|
||||
G4LEPTSDistribution() = default;
|
||||
void ReadFile( const G4String& fileName );
|
||||
G4bool ReadFile( FILE* fp, G4int nData );
|
||||
G4double Sample( G4double, G4double);
|
||||
G4double Sample( G4double, G4double );
|
||||
|
||||
G4bool IsFileFound() const {
|
||||
return bFileFound;
|
||||
}
|
||||
G4bool IsFileFound() const { return bFileFound; }
|
||||
|
||||
private:
|
||||
int NoBins;
|
||||
private:
|
||||
|
||||
G4int NoBins;
|
||||
#define NMAX 20000
|
||||
G4double E[NMAX], f[NMAX], F[NMAX], eF[NMAX];
|
||||
G4bool bFileFound;
|
||||
};
|
||||
|
||||
|
||||
#endif
|
||||
|
||||
@@ -23,42 +23,39 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
#ifndef G4LEPTSElossDistr_h
|
||||
#define G4LEPTSElossDistr_h 1
|
||||
// G4LEPTSElossDistr
|
||||
//
|
||||
// Author: Pedro Arce (CIEMAT), 2014
|
||||
// --------------------------------------------------------------------
|
||||
#ifndef G4LEPTSElossDistr_hh
|
||||
#define G4LEPTSElossDistr_hh 1
|
||||
|
||||
#include "globals.hh"
|
||||
#include "Randomize.hh"
|
||||
#include <string.h>
|
||||
#include <stdio.h>
|
||||
#include <string>
|
||||
#include <iostream>
|
||||
|
||||
#include <map>
|
||||
|
||||
class G4LEPTSDistribution;
|
||||
using mddist = std::map<G4double, G4LEPTSDistribution *>;
|
||||
using mdmddist = std::map<G4double, mddist>;
|
||||
|
||||
class G4LEPTSElossDistr
|
||||
{
|
||||
public:
|
||||
|
||||
class G4LEPTSElossDistr {
|
||||
G4LEPTSElossDistr(const G4String&);
|
||||
|
||||
public:
|
||||
void ReadFile();
|
||||
G4double Sample( G4double, G4double );
|
||||
G4bool IsFileFound() const { return bFileFound; }
|
||||
|
||||
G4LEPTSElossDistr(std::string); // Constructor
|
||||
void ReadFile(); // Read file
|
||||
G4double Sample( G4double, G4double);
|
||||
private:
|
||||
|
||||
G4bool IsFileFound() const {
|
||||
return bFileFound;
|
||||
}
|
||||
std::map<G4double, std::map<G4double, G4LEPTSDistribution *> > theDistributions;
|
||||
// Energy , angle , distribution
|
||||
|
||||
private:
|
||||
mdmddist theDistributions; // Energy , angle , distribution
|
||||
G4int theNDistributions;
|
||||
std::string fileName;
|
||||
int NoBins;
|
||||
#define NMAX 20000
|
||||
G4String fileName;
|
||||
G4int NoBins;
|
||||
G4bool bFileFound;
|
||||
};
|
||||
|
||||
|
||||
#endif
|
||||
|
||||
@@ -30,29 +30,32 @@
|
||||
|
||||
class G4LEPTSExcitationModel : public G4VLEPTSModel
|
||||
{
|
||||
public:
|
||||
public:
|
||||
|
||||
G4LEPTSExcitationModel(const G4String& modelName ="G4LEPTSExcitationModel");
|
||||
~G4LEPTSExcitationModel() override;
|
||||
|
||||
void Initialise(const G4ParticleDefinition*,
|
||||
const G4DataVector&) override;
|
||||
const G4DataVector&) override;
|
||||
|
||||
std::map<G4int,std::vector<G4double> > ReadIXS(G4String, const G4Material* aMaterial) override;
|
||||
std::map<G4int,std::vector<G4double> > ReadIXS(const G4String&,
|
||||
const G4Material* aMaterial) override;
|
||||
|
||||
void SampleSecondaries(std::vector<G4DynamicParticle*>*,
|
||||
const G4MaterialCutsCouple*,
|
||||
const G4DynamicParticle*,
|
||||
G4double tmin = 0.0,
|
||||
G4double tmax = DBL_MAX) override;
|
||||
G4double tmin = 0.0,
|
||||
G4double tmax = DBL_MAX) override;
|
||||
|
||||
// main method to compute cross section per Volume
|
||||
G4double CrossSectionPerVolume(const G4Material*,
|
||||
const G4ParticleDefinition*,
|
||||
G4double kineticEnergy,
|
||||
G4double cutEnergy = 0.0,
|
||||
G4double maxEnergy = DBL_MAX) override;
|
||||
const G4ParticleDefinition*,
|
||||
G4double kineticEnergy,
|
||||
G4double cutEnergy = 0.0,
|
||||
G4double maxEnergy = DBL_MAX) override;
|
||||
|
||||
private:
|
||||
|
||||
private:
|
||||
G4ParticleChangeForGamma* fParticleChangeForGamma;
|
||||
G4double LowestExcitationEnergy;
|
||||
G4double LowestNeutralDisociationEnergy;
|
||||
|
||||
@@ -58,8 +58,7 @@ enum XSType {XSEnergy=0,
|
||||
|
||||
class G4VLEPTSModel : public G4VEmModel
|
||||
{
|
||||
|
||||
public:
|
||||
public:
|
||||
|
||||
G4VLEPTSModel(const G4String& processName);
|
||||
~G4VLEPTSModel() override;
|
||||
@@ -76,14 +75,16 @@ public:
|
||||
G4VLEPTSModel& operator=(const G4VLEPTSModel &right); //hide assignment operator
|
||||
G4VLEPTSModel(const G4VLEPTSModel& );
|
||||
|
||||
protected:
|
||||
protected:
|
||||
|
||||
void Init();
|
||||
G4bool ReadParam(G4String fileName, const G4Material* aMaterial);
|
||||
virtual std::map<G4int,std::vector<G4double> > ReadIXS(G4String fileName, const G4Material* aMaterial);
|
||||
G4bool ReadParam(const G4String& fileName, const G4Material* aMaterial);
|
||||
virtual std::map<G4int,std::vector<G4double> > ReadIXS(const G4String& fileName, const G4Material* aMaterial);
|
||||
G4double SampleEnergyLoss(const G4Material* aMaterial, G4double eMin, G4double eMax);
|
||||
void BuildMeanFreePathTable( const G4Material* aMaterial, std::map< G4int, std::vector<G4double> >& integralXS );
|
||||
|
||||
protected:
|
||||
protected:
|
||||
|
||||
G4PhysicsTable * theMeanFreePathTable;
|
||||
|
||||
G4double theLowestEnergyLimit;
|
||||
|
||||
Reference in New Issue
Block a user