31 #ifndef G4LivermorePolarizedComptonModel_h
32 #define G4LivermorePolarizedComptonModel_h 1
51 const G4String& nam =
"LivermorePolarizedCompton");
virtual void SampleSecondaries(std::vector< G4DynamicParticle * > *, const G4MaterialCutsCouple *, const G4DynamicParticle *, G4double tmin, G4double maxEnergy)
G4LivermorePolarizedComptonModel & operator=(const G4LivermorePolarizedComptonModel &right)
G4DopplerProfile profileData
virtual ~G4LivermorePolarizedComptonModel()
CLHEP::Hep3Vector G4ThreeVector
G4VCrossSectionHandler * crossSectionHandler
virtual G4double ComputeCrossSectionPerAtom(const G4ParticleDefinition *, G4double kinEnergy, G4double Z, G4double A=0, G4double cut=0, G4double emax=DBL_MAX)
virtual void Initialise(const G4ParticleDefinition *, const G4DataVector &)
static const G4double A[nN]
G4ThreeVector SetNewPolarization(G4double epsilon, G4double sinSqrTheta, G4double phi, G4double cosTheta)
G4VEMDataSet * scatterFunctionData
G4ThreeVector GetPerpendicularPolarization(const G4ThreeVector &direction0, const G4ThreeVector &polarization0) const
G4ParticleChangeForGamma * fParticleChange
G4LivermorePolarizedComptonModel(const G4ParticleDefinition *p=0, const G4String &nam="LivermorePolarizedCompton")
void SystemOfRefChange(G4ThreeVector &direction0, G4ThreeVector &direction1, G4ThreeVector &polarization0, G4ThreeVector &polarization1)
G4double SetPhi(G4double, G4double)
G4ThreeVector SetPerpendicularVector(G4ThreeVector &a)
G4VEMDataSet * meanFreePathTable
G4ThreeVector GetRandomPolarization(G4ThreeVector &direction0)