31 #ifndef G4LivermoreGammaConversionModel_h
32 #define G4LivermoreGammaConversionModel_h 1
48 const G4String& nam =
"LivermoreConversion");
80 void ReadData(
size_t Z,
const char* path =
nullptr);
110 return (screenVariable > 1.)
111 ? 42.24 - 8.368 *
G4Log(screenVariable + 0.952)
112 : 42.392 - screenVariable * (7.796 - 1.961 * screenVariable);
121 return (screenVariable > 1.)
122 ? 42.24 - 8.368 *
G4Log(screenVariable + 0.952)
123 : 41.405 - screenVariable * (5.828 - 0.8945 * screenVariable);
void ReadData(size_t Z, const char *path=nullptr)
G4double ScreenFunction2(G4double screenVariable)
static const G4double emax
G4double G4Log(G4double x)
virtual G4double ComputeCrossSectionPerAtom(const G4ParticleDefinition *, G4double kinEnergy, G4double Z, G4double A=0.0, G4double cut=0.0, G4double emax=DBL_MAX)
const XML_Char const XML_Char * data
void InitialiseProbability(const G4ParticleDefinition *, G4int Z)
virtual void InitialiseForElement(const G4ParticleDefinition *, G4int Z)
virtual void Initialise(const G4ParticleDefinition *, const G4DataVector &)
virtual G4double MinPrimaryEnergy(const G4Material *, const G4ParticleDefinition *, G4double)
double A(double temperature)
static G4double tripletLowEnergy
static G4double lowEnergyLimit
static G4int verboseLevel
static G4int nbinsTriplet
virtual ~G4LivermoreGammaConversionModel()
virtual void SampleSecondaries(std::vector< G4DynamicParticle * > *, const G4MaterialCutsCouple *, const G4DynamicParticle *, G4double tmin, G4double maxEnergy)
G4LivermoreGammaConversionModel(const G4ParticleDefinition *p=nullptr, const G4String &nam="LivermoreConversion")
G4double ScreenFunction1(G4double screenVariable)
static G4double tripletHighEnergy
virtual void InitialiseLocal(const G4ParticleDefinition *, G4VEmModel *masterModel)
static G4PhysicsLogVector * probTriplet[100]
G4ParticleChangeForGamma * fParticleChange