54 #ifndef G4PolarizedAnnihilationModel_h
55 #define G4PolarizedAnnihilationModel_h 1
69 const G4String& nam =
"Polarized-Annihilation");
123 theTargetPolarization = pTarget;
127 theBeamPolarization = pBeam;
131 return theTargetPolarization;
135 return theBeamPolarization;
139 return finalGamma1Polarization;
143 return finalGamma2Polarization;
void SetBeamPolarization(const G4ThreeVector &pBeam)
const G4ThreeVector & GetFinalGamma2Polarization() const
const G4ThreeVector & GetBeamPolarization() const
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
void SetTargetPolarization(const G4ThreeVector &pTarget)
const G4ThreeVector & GetFinalGamma1Polarization() const
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")
const G4ThreeVector & GetTargetPolarization() const