54 #ifndef G4PolarizedAnnihilationModel_h
55 #define G4PolarizedAnnihilationModel_h 1
69 const G4String& nam =
"Polarized-Annihilation");
void SetBeamPolarization(const G4ThreeVector &pBeam)
const G4ThreeVector & GetFinalGamma2Polarization() const
const G4ThreeVector & GetBeamPolarization() const
G4PolarizedAnnihilationModel & operator=(const G4PolarizedAnnihilationModel &right)=delete
CLHEP::Hep3Vector G4ThreeVector
virtual ~G4PolarizedAnnihilationModel()
virtual void SampleSecondaries(std::vector< G4DynamicParticle * > *, const G4MaterialCutsCouple *, const G4DynamicParticle *, G4double tmin, G4double maxEnergy) override
virtual G4double ComputeCrossSectionPerElectron(const G4ParticleDefinition *, G4double kinEnergy, G4double cut, G4double emax) override
G4StokesVector finalGamma2Polarization
G4ParticleChangeForGamma * gParticleChange
void SetTargetPolarization(const G4ThreeVector &pTarget)
const G4ThreeVector & GetFinalGamma1Polarization() const
G4PolarizedAnnihilationCrossSection * crossSectionCalculator
G4StokesVector theBeamPolarization
void ComputeAsymmetriesPerElectron(G4double gammaEnergy, G4double &valueX, G4double &valueA, G4double &valueT)
virtual void Initialise(const G4ParticleDefinition *, const G4DataVector &) override
static const G4double emax
G4PolarizedAnnihilationModel(const G4ParticleDefinition *p=nullptr, const G4String &nam="Polarized-Annihilation")
G4StokesVector theTargetPolarization
G4StokesVector finalGamma1Polarization
const G4ThreeVector & GetTargetPolarization() const