42#ifndef G4PENELOPERAYLEIGHMODEL_HH
43#define G4PENELOPERAYLEIGHMODEL_HH 1
62 const G4String& processName =
"PenRayleigh");
108 std::map<G4int,G4PhysicsFreeVector*> *logAtomicCrossSection;
109 std::map<G4int,G4PhysicsFreeVector*> *atomicFormFactor;
113 std::map<const G4Material*,G4PhysicsFreeVector*> *logFormFactorTable;
116 std::map<const G4Material*,G4PhysicsFreeVector*> *pMaxTable;
118 std::map<const G4Material*,G4PenelopeSamplingData*> *samplingTable;
121 void ReadDataFile(
G4int);
127 void InitializeSamplingAlgorithm(
const G4Material*);
double A(double temperature)
void SetVerbosityLevel(G4int lev)
virtual void Initialise(const G4ParticleDefinition *, const G4DataVector &)
virtual G4double ComputeCrossSectionPerAtom(const G4ParticleDefinition *, G4double kinEnergy, G4double Z, G4double A=0, G4double cut=0, G4double emax=DBL_MAX)
void DumpFormFactorTable(const G4Material *)
G4int GetVerbosityLevel()
const G4ParticleDefinition * fParticle
G4ParticleChangeForGamma * fParticleChange
virtual ~G4PenelopeRayleighModel()
virtual void InitialiseLocal(const G4ParticleDefinition *, G4VEmModel *masterModel)
virtual void SampleSecondaries(std::vector< G4DynamicParticle * > *, const G4MaterialCutsCouple *, const G4DynamicParticle *, G4double tmin, G4double maxEnergy)