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;
 G4bool operator==(const G4VAnnihilationCollision &right) const
 
virtual const G4ParticleDefinition * GetOutgoingParticle(const G4KineticTrack &trk1, const G4KineticTrack &trk2) const =0
 
G4double BrWigInt1(const G4double x, const G4double gamma, const G4double m0) const
 
G4VAnnihilationCollision()
 
virtual G4KineticTrackVector * FinalState(const G4KineticTrack &trk1, const G4KineticTrack &trk2) const
 
double BrWigInt0(const double x, const double gamma, const double m0) const
 
G4double G4Log(G4double x)
 
G4bool operator!=(const G4VAnnihilationCollision &right) const
 
G4VAngularDistribution * theAngularDistribution
 
virtual const G4VAngularDistribution * GetAngularDistribution() const
 
virtual ~G4VAnnihilationCollision()
 
double BrWigInv(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