43 #ifndef G4VSCATTERINGCOLLISION_HH 44 #define G4VSCATTERINGCOLLISION_HH 85 double BrWigInt0(
const double x,
const double gamma,
const double m0)
const 86 {
return 2.0*gamma*std::atan( 2.0 * (x-m0)/ gamma ); }
89 {
return 0.5*gamma*gamma*
G4Log( (x-m0)*(x-m0)+gamma*gamma/4.0 ) + m0*
BrWigInt0(x,gamma,m0); }
91 double BrWigInv(
const double x,
const double gamma,
const double m0)
const 92 {
return 0.5*gamma*std::tan( 0.5*x/gamma )+m0; }
97 const double maxMass)
const;
G4bool operator!=(const G4VScatteringCollision &right) const
virtual const G4VAngularDistribution * GetAngularDistribution() const
G4double BrWigInt1(const G4double x, const G4double gamma, const G4double m0) 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
double BrWigInv(const double x, const double gamma, const double m0) const
G4VAngularDistribution * theAngularDistribution
virtual const std::vector< const G4ParticleDefinition * > & GetOutgoingParticles() const =0
G4double G4Log(G4double x)
G4bool operator==(const G4VScatteringCollision &right) const
virtual ~G4VScatteringCollision()
void establish_G4MT_TLS_G4VScatteringCollision()
G4VScatteringCollision & operator=(const G4VScatteringCollision &)
virtual G4KineticTrackVector * FinalState(const G4KineticTrack &trk1, const G4KineticTrack &trk2) const