27 #ifndef G4SampleResonance_h
28 #define G4SampleResonance_h 1
57 {
return 2.0*gamma*std::atan( 2.0 * (x-m0)/ gamma ); }
60 {
return 0.5*gamma*gamma*
G4Log( (x-m0)*(x-m0)+gamma*gamma/4.0 ) + m0*
BrWigInt0(x,gamma,m0); }
63 {
return 0.5*gamma*std::tan( 0.5*x/gamma )+m0; }
67 typedef std::map<const G4ParticleDefinition*, G4double, std::less<const G4ParticleDefinition*> >::const_iterator
minMassMapIterator;
68 typedef std::map<const G4ParticleDefinition*, G4double, std::less<const G4ParticleDefinition*> >
minMassMapType;
G4double BrWigInt1(const G4double x, const G4double gamma, const G4double m0) const
static G4ThreadLocal minMassMapType * minMassCache_G4MT_TLS_
G4double SampleMass(const G4double poleMass, const G4double gamma, const G4double minMass, const G4double maxMass) const
G4double BrWigInt0(const G4double x, const G4double gamma, const G4double m0) const
G4double G4Log(G4double x)
std::map< const G4ParticleDefinition *, G4double, std::less< const G4ParticleDefinition * > > minMassMapType
G4double BrWigInv(const G4double x, const G4double gamma, const G4double m0) const
std::map< const G4ParticleDefinition *, G4double, std::less< const G4ParticleDefinition * > >::const_iterator minMassMapIterator
G4double GetMinimumMass(const G4ParticleDefinition *p) const