51#ifndef G4PenelopeRayleighModelMI_HH
52#define G4PenelopeRayleighModelMI_HH 1
76 const G4String& processName =
"PenRayleighMI");
121 void ReadDataFile(
G4int);
126 void InitializeSamplingAlgorithm(
const G4Material*);
127 void ReadMolInterferenceData(
const G4String&,
const G4String& filename=
"NULL");
129 void CalculateThetaAndAngFun();
132 void LoadKnownMIFFMaterials();
139 std::map<const G4Material*,G4PhysicsFreeVector*> *fLogFormFactorTable;
142 std::map<const G4Material*,G4PhysicsFreeVector*> *fPMaxTable;
143 std::map<const G4Material*,G4PenelopeSamplingData*> *fSamplingTable;
145 std::map<G4String,G4PhysicsFreeVector*> *fMolInterferenceData;
147 std::map<G4String,G4String> *fKnownMaterials;
148 static const G4int fMaxZ =99;
157 static const G4int fNtheta = 31415;
G4int GetVerbosityLevel()
G4PenelopeRayleighModelMI(const G4PenelopeRayleighModelMI &)=delete
G4double ComputeCrossSectionPerAtom(const G4ParticleDefinition *, G4double kinEnergy, G4double Z, G4double A=0, G4double cut=0, G4double emax=DBL_MAX) override
void InitialiseLocal(const G4ParticleDefinition *, G4VEmModel *masterModel) override
void SampleSecondaries(std::vector< G4DynamicParticle * > *, const G4MaterialCutsCouple *, const G4DynamicParticle *, G4double tmin, G4double maxEnergy) override
G4double CrossSectionPerVolume(const G4Material *, const G4ParticleDefinition *, G4double kineticEnergy, G4double cutEnergy=0., G4double maxEnergy=DBL_MAX) override
void SetVerbosityLevel(G4int lev)
G4PenelopeRayleighModelMI & operator=(const G4PenelopeRayleighModelMI &right)=delete
void Initialise(const G4ParticleDefinition *, const G4DataVector &) override
void DumpFormFactorTable(const G4Material *)
virtual ~G4PenelopeRayleighModelMI()
void SetMIActive(G4bool val)