Import Geant4 11.3.0 source tree
This commit is contained in:
@@ -56,6 +56,7 @@
|
||||
|
||||
class G4ParticleChangeForGamma;
|
||||
class G4Pow;
|
||||
class G4EmElementXS;
|
||||
|
||||
class G4BetheHeitlerModel : public G4VEmModel
|
||||
{
|
||||
@@ -111,8 +112,10 @@ protected:
|
||||
const G4ParticleDefinition* fTheElectron;
|
||||
const G4ParticleDefinition* fThePositron;
|
||||
G4ParticleChangeForGamma* fParticleChange;
|
||||
G4EmElementXS* fXSection{nullptr};
|
||||
|
||||
G4bool isFirstInstance{false};
|
||||
G4bool useEPICS2017{false};
|
||||
|
||||
static std::vector<ElementData*> gElementData;
|
||||
};
|
||||
|
||||
@@ -107,7 +107,7 @@ private:
|
||||
|
||||
void LoadMCDataElement(const G4Element*);
|
||||
|
||||
void ReadCompressedFile(std::string fname, std::istringstream &iss);
|
||||
void ReadCompressedFile(const std::string& fname, std::istringstream &iss);
|
||||
|
||||
void InitMCDataMaterial(const G4Material*);
|
||||
//
|
||||
|
||||
+15
-21
@@ -25,51 +25,45 @@
|
||||
//
|
||||
// GEANT4 Class header file
|
||||
//
|
||||
// File name: G4SimplePsAtRestModel
|
||||
// File name: G4PolarizedOrePowellAtRestModel
|
||||
//
|
||||
// Author: I.Semeniouk & D.Bernard
|
||||
//
|
||||
// Creation date: 4 Juin 2024
|
||||
// Creation date: 26 July 2024
|
||||
//
|
||||
// Class Description:
|
||||
//
|
||||
// Simple switcher between positron 2-gamma annihilation at rest model and
|
||||
// positron 2-gamma annihilation at rest model.
|
||||
// Polarized Ore & Powell AtRest positron 3-gamma annihilation model.
|
||||
// Electron of media is assumed to have zero kinetic energy.
|
||||
// Ortho - Positronium three-photon annihilation by Ore and
|
||||
// Powell, Phys. Rev. 75 (1949).
|
||||
// Polarization based on R. M. Drisko, Phys. Rev. 102 (1542).
|
||||
//
|
||||
// -------------------------------------------------------------------
|
||||
//
|
||||
|
||||
#ifndef G4SimplePsAtRestModel_h
|
||||
#define G4SimplePsAtRestModel_h 1
|
||||
#ifndef G4PolarizedOrePowellAtRestModel_h
|
||||
#define G4PolarizedOrePowellAtRestModel_h 1
|
||||
|
||||
#include "G4VPositronAtRestModel.hh"
|
||||
|
||||
class G4SimplePositronAtRestModel;
|
||||
class G4OrePowellAtRestModel;
|
||||
|
||||
class G4SimplePsAtRestModel : public G4VPositronAtRestModel
|
||||
class G4PolarizedOrePowellAtRestModel : public G4VPositronAtRestModel
|
||||
{
|
||||
|
||||
public:
|
||||
|
||||
G4SimplePsAtRestModel();
|
||||
G4PolarizedOrePowellAtRestModel();
|
||||
|
||||
~G4SimplePsAtRestModel() override;
|
||||
~G4PolarizedOrePowellAtRestModel() override = default;
|
||||
|
||||
void SampleSecondaries(std::vector<G4DynamicParticle*>& secParticles,
|
||||
G4double&, const G4Material*) const override;
|
||||
|
||||
void PrintGeneratorInformation() const override;
|
||||
|
||||
G4SimplePsAtRestModel& operator=
|
||||
(const G4SimplePsAtRestModel& right) = delete;
|
||||
G4SimplePsAtRestModel(const G4SimplePsAtRestModel&) = delete;
|
||||
|
||||
private:
|
||||
|
||||
G4double f3gFranction;
|
||||
G4SimplePositronAtRestModel *model2g;
|
||||
G4OrePowellAtRestModel *model3g;
|
||||
G4PolarizedOrePowellAtRestModel& operator=
|
||||
(const G4PolarizedOrePowellAtRestModel& right) = delete;
|
||||
G4PolarizedOrePowellAtRestModel(const G4PolarizedOrePowellAtRestModel&) = delete;
|
||||
};
|
||||
|
||||
#endif
|
||||
@@ -53,6 +53,7 @@
|
||||
#define G4eBremsstrahlungRelModel_h 1
|
||||
|
||||
#include "G4VEmModel.hh"
|
||||
#include <memory>
|
||||
|
||||
class G4ParticleChangeForLoss;
|
||||
|
||||
@@ -218,9 +219,10 @@ private:
|
||||
std::vector<G4double> fLPMFuncPhi;
|
||||
};
|
||||
//
|
||||
static LPMFuncs gLPMFuncs;
|
||||
static std::vector<ElementData*> gElementData;
|
||||
|
||||
static std::shared_ptr<LPMFuncs> gLPMFuncs();
|
||||
static std::shared_ptr<std::vector<ElementData*>> gElementData();
|
||||
std::shared_ptr<LPMFuncs> fLPMFuncs;
|
||||
std::shared_ptr<std::vector<ElementData*>> fElementData;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
@@ -100,7 +100,8 @@ protected:
|
||||
|
||||
private:
|
||||
|
||||
G4VPositronAtRestModel* fAtRestModel{nullptr};
|
||||
G4VPositronAtRestModel* f2GammaAtRestModel{nullptr};
|
||||
G4VPositronAtRestModel* f3GammaAtRestModel{nullptr};
|
||||
G4int fEntanglementModelID;
|
||||
G4bool isInitialised{false};
|
||||
G4bool fEntangled{false};
|
||||
|
||||
+9
-9
@@ -29,7 +29,7 @@
|
||||
// GEANT4 Class header file
|
||||
//
|
||||
//
|
||||
// File name: G4eplusTo2GammaOKVIModel
|
||||
// File name: G4eplusTo2or3GammaModel
|
||||
//
|
||||
// Author: Vladimir Ivanchenko and Omrane Kadri
|
||||
//
|
||||
@@ -53,8 +53,8 @@
|
||||
// -------------------------------------------------------------------
|
||||
//
|
||||
|
||||
#ifndef G4eplusTo2GammaOKVIModel_h
|
||||
#define G4eplusTo2GammaOKVIModel_h 1
|
||||
#ifndef G4eplusTo2or3GammaModel_h
|
||||
#define G4eplusTo2or3GammaModel_h 1
|
||||
|
||||
#include "G4VEmModel.hh"
|
||||
|
||||
@@ -63,14 +63,14 @@ class G4ParticleChangeForGamma;
|
||||
class G4PhysicsVector;
|
||||
class G4DataVector;
|
||||
|
||||
class G4eplusTo2GammaOKVIModel : public G4VEmModel
|
||||
class G4eplusTo2or3GammaModel : public G4VEmModel
|
||||
{
|
||||
|
||||
public:
|
||||
|
||||
G4eplusTo2GammaOKVIModel();
|
||||
G4eplusTo2or3GammaModel();
|
||||
|
||||
~G4eplusTo2GammaOKVIModel() override;
|
||||
~G4eplusTo2or3GammaModel() override;
|
||||
|
||||
void Initialise(const G4ParticleDefinition*, const G4DataVector&) override;
|
||||
|
||||
@@ -99,9 +99,9 @@ public:
|
||||
void SetDelta(G4double val) { if(val > 0.0) { fDeltaMin = val; } };
|
||||
|
||||
// hide assignment operator
|
||||
G4eplusTo2GammaOKVIModel & operator=
|
||||
(const G4eplusTo2GammaOKVIModel &right) = delete;
|
||||
G4eplusTo2GammaOKVIModel(const G4eplusTo2GammaOKVIModel&) = delete;
|
||||
G4eplusTo2or3GammaModel & operator=
|
||||
(const G4eplusTo2or3GammaModel &right) = delete;
|
||||
G4eplusTo2or3GammaModel(const G4eplusTo2or3GammaModel&) = delete;
|
||||
|
||||
private:
|
||||
|
||||
Reference in New Issue
Block a user