68#ifndef G4LowEPPolarizedComptonModel_h
69#define G4LowEPPolarizedComptonModel_h 1
95 const G4String& nam =
"LowEPComptonModel");
122 void ReadData(
size_t Z,
const char* path = 0);
static const G4double emax
G4ThreeVector GetRandomPolarization(G4ThreeVector &direction0)
void InitialiseLocal(const G4ParticleDefinition *, G4VEmModel *masterModel) override
void SystemOfRefChangeElect(G4ThreeVector &pdirection, G4ThreeVector &edirection, G4ThreeVector &ppolarization)
virtual ~G4LowEPPolarizedComptonModel()
static G4ShellData * shellData
G4ThreeVector SetPerpendicularVector(G4ThreeVector &a)
void Initialise(const G4ParticleDefinition *, const G4DataVector &) override
G4LowEPPolarizedComptonModel & operator=(const G4LowEPPolarizedComptonModel &right)=delete
G4LowEPPolarizedComptonModel(const G4LowEPPolarizedComptonModel &)=delete
G4ParticleChangeForGamma * fParticleChange
G4LowEPPolarizedComptonModel(const G4ParticleDefinition *p=nullptr, const G4String &nam="LowEPComptonModel")
void SystemOfRefChange(G4ThreeVector &direction0, G4ThreeVector &direction1, G4ThreeVector &polarization0, G4ThreeVector &polarization1)
void ReadData(size_t Z, const char *path=0)
G4VAtomDeexcitation * fAtomDeexcitation
G4double SetPhi(G4double, G4double)
static G4PhysicsFreeVector * data[100]
static G4DopplerProfile * profileData
G4double ComputeCrossSectionPerAtom(const G4ParticleDefinition *, G4double kinEnergy, G4double Z, G4double A=0, G4double cut=0, G4double emax=DBL_MAX) override
void SampleSecondaries(std::vector< G4DynamicParticle * > *, const G4MaterialCutsCouple *, const G4DynamicParticle *, G4double tmin, G4double maxEnergy) override
G4double ComputeScatteringFunction(G4double x, G4int Z)
G4ThreeVector GetPerpendicularPolarization(const G4ThreeVector &direction0, const G4ThreeVector &polarization0) const
G4ThreeVector SetNewPolarization(G4double LowEPPCepsilon, G4double sinT2, G4double phi, G4double cosTheta)
static const G4double ScatFuncFitParam[101][9]
void InitialiseForElement(const G4ParticleDefinition *, G4int Z) override