43 #ifndef G4VANNIHILATIONCOLLISION_HH
44 #define G4VANNIHILATIONCOLLISION_HH
82 double BrWigInt0(
const double x,
const double gamma,
const double m0)
const
83 {
return 2.0*gamma*std::atan( 2.0 * (x-m0)/ gamma ); }
86 {
return 0.5*gamma*gamma*
G4Log( (x-m0)*(x-m0)+gamma*gamma/4.0 ) + m0*
BrWigInt0(x,gamma,m0); }
88 double BrWigInv(
const double x,
const double gamma,
const double m0)
const
89 {
return 0.5*gamma*std::tan( 0.5*x/gamma )+m0; }
94 const double maxMass)
const;
virtual const G4VAngularDistribution * GetAngularDistribution() const
G4bool operator!=(const G4VAnnihilationCollision &right) const
G4VAngularDistribution * theAngularDistribution
virtual ~G4VAnnihilationCollision()
G4bool operator==(const G4VAnnihilationCollision &right) const
double BrWigInt0(const double x, const double gamma, const double m0) const
double SampleResonanceMass(const double poleMass, const double width, const double minMass, const double maxMass) const
G4double G4Log(G4double x)
virtual const G4ParticleDefinition * GetOutgoingParticle(const G4KineticTrack &trk1, const G4KineticTrack &trk2) const =0
virtual G4KineticTrackVector * FinalState(const G4KineticTrack &trk1, const G4KineticTrack &trk2) const
G4VAnnihilationCollision()
double BrWigInv(const double x, const double gamma, const double m0) const
G4double BrWigInt1(const G4double x, const G4double gamma, const G4double m0) const