43#ifndef G4PENELOPERAYLEIGHMODEL_HH
44#define G4PENELOPERAYLEIGHMODEL_HH 1
63 const G4String& processName =
"PenRayleigh");
112 std::map<const G4Material*,G4PhysicsFreeVector*> *
fPMaxTable;
static const G4double emax
void Initialise(const G4ParticleDefinition *, const G4DataVector &) override
void SetVerbosityLevel(G4int lev)
G4DataVector fLogQSquareGrid
G4double fIntrinsicLowEnergyLimit
std::map< const G4Material *, G4PenelopeSamplingData * > * fSamplingTable
G4PenelopeRayleighModel(const G4ParticleDefinition *p=nullptr, const G4String &processName="PenRayleigh")
G4DataVector fLogEnergyGridPMax
void GetPMaxTable(const G4Material *)
void DumpFormFactorTable(const G4Material *)
G4int GetVerbosityLevel()
G4PenelopeRayleighModel(const G4PenelopeRayleighModel &)=delete
void BuildFormFactorTable(const G4Material *)
const G4ParticleDefinition * fParticle
G4ParticleChangeForGamma * fParticleChange
virtual ~G4PenelopeRayleighModel()
std::map< const G4Material *, G4PhysicsFreeVector * > * fLogFormFactorTable
void InitializeSamplingAlgorithm(const G4Material *)
G4double GetFSquared(const G4Material *, const G4double)
void SetParticle(const G4ParticleDefinition *)
G4double fIntrinsicHighEnergyLimit
void SampleSecondaries(std::vector< G4DynamicParticle * > *, const G4MaterialCutsCouple *, const G4DynamicParticle *, G4double tmin, G4double maxEnergy) override
static G4PhysicsFreeVector * fLogAtomicCrossSection[fMaxZ+1]
void InitialiseLocal(const G4ParticleDefinition *, G4VEmModel *masterModel) override
std::map< const G4Material *, G4PhysicsFreeVector * > * fPMaxTable
static G4PhysicsFreeVector * fAtomicFormFactor[fMaxZ+1]
G4PenelopeRayleighModel & operator=(const G4PenelopeRayleighModel &right)=delete
G4double ComputeCrossSectionPerAtom(const G4ParticleDefinition *, G4double kinEnergy, G4double Z, G4double A=0, G4double cut=0, G4double emax=DBL_MAX) override