33 #ifndef G4LivermorePolarizedRayleighModel_h
34 #define G4LivermorePolarizedRayleighModel_h 1
56 const G4String& nam =
"LivermorePolarizedRayleigh");
95 void ReadData(
size_t Z,
const char* path = 0);
G4LivermorePolarizedRayleighModel(const G4ParticleDefinition *p=0, const G4String &nam="LivermorePolarizedRayleigh")
virtual void Initialise(const G4ParticleDefinition *, const G4DataVector &)
virtual void InitialiseForElement(const G4ParticleDefinition *, G4int Z)
G4LivermorePolarizedRayleighModel & operator=(const G4LivermorePolarizedRayleighModel &right)
G4double GeneratePhi(G4double cosTheta) const
void ReadData(size_t Z, const char *path=0)
static const G4double emax
G4ParticleChangeForGamma * fParticleChange
virtual void InitialiseLocal(const G4ParticleDefinition *, G4VEmModel *masterModel)
G4double GeneratePolarizationAngle(void) const
virtual G4double ComputeCrossSectionPerAtom(const G4ParticleDefinition *, G4double kinEnergy, G4double Z, G4double A=0, G4double cut=0, G4double emax=DBL_MAX)
G4ThreeVector GetPhotonPolarization(const G4DynamicParticle &photon)
double A(double temperature)
static G4VEMDataSet * formFactorData
static G4LPhysicsFreeVector * dataCS[101]
virtual ~G4LivermorePolarizedRayleighModel()
G4double GenerateCosTheta(G4double incomingPhotonEnergy, G4int zAtom) const
virtual void SampleSecondaries(std::vector< G4DynamicParticle * > *, const G4MaterialCutsCouple *, const G4DynamicParticle *, G4double tmin, G4double maxEnergy)