37#ifndef G4PolarizedComptonModel_h
38#define G4PolarizedComptonModel_h 1
55 const G4String& nam =
"Polarized-Compton");
static const G4double emax
void SetTargetPolarization(const G4ThreeVector &pTarget)
const G4ThreeVector & GetTargetPolarization() const
void PrintWarning(const G4DynamicParticle *, G4int, G4double grej, G4double onecos, G4double phi, const G4String) const
virtual void SampleSecondaries(std::vector< G4DynamicParticle * > *, const G4MaterialCutsCouple *, const G4DynamicParticle *, G4double tmin, G4double maxEnergy) override
void SetBeamPolarization(const G4ThreeVector &pBeam)
G4double ComputeAsymmetryPerAtom(G4double gammaEnergy, G4double Z)
G4StokesVector fBeamPolarization
G4StokesVector finalElectronPolarization
const G4ThreeVector & GetFinalGammaPolarization() const
G4PolarizedComptonModel(const G4ParticleDefinition *p=nullptr, const G4String &nam="Polarized-Compton")
virtual ~G4PolarizedComptonModel() override
G4PolarizedComptonModel & operator=(const G4PolarizedComptonModel &right)=delete
virtual G4double ComputeCrossSectionPerAtom(const G4ParticleDefinition *, G4double kinEnergy, G4double Z, G4double A, G4double cut, G4double emax) override
const G4ThreeVector & GetFinalElectronPolarization() const
G4StokesVector fTargetPolarization
static constexpr G4int fLoopLim
G4StokesVector fFinalGammaPolarization
G4VPolarizedXS * fCrossSectionCalculator
G4PolarizedComptonModel(const G4PolarizedComptonModel &)=delete
const G4ThreeVector & GetBeamPolarization() const