herwig is hosted by Hepforge, IPPP Durham
Herwig 7.3.0
DalitzSigma.h
1// -*- C++ -*-
2#ifndef Herwig_DalitzSigma_H
3#define Herwig_DalitzSigma_H
4//
5// This is the declaration of the DalitzSigma class.
6//
7
8#include "DalitzResonance.h"
9
10namespace Herwig {
11
12using namespace ThePEG;
13
18
19public:
20
27 {}
28
32 DalitzSigma(long pid, ResonanceType::Type rtype, Energy m, Energy w,
33 unsigned int d1, unsigned int d2, unsigned int s,
34 double mag, double phi, InvEnergy rr,
35 Energy2 a, Energy b1, InvEnergy b2, Energy g4pi)
36 : DalitzResonance(pid,rtype,m,w,d1,d2,s,mag,phi,rr),
37 a_(a), b1_(b1),b2_(b2), g4Pi_(g4pi)
38 {}
39
40public:
41
45 virtual Complex BreitWigner(const Energy & mAB, const Energy & mA, const Energy & mB) const;
46
50 virtual void dataBaseOutput(ofstream & output);
51
52public:
53
61
67 void persistentInput(PersistentIStream & is, int version);
69
76 static void Init();
77
78private:
79
84 DalitzSigma & operator=(const DalitzSigma &) = delete;
85
86private :
87
91 double rho4pi(const Energy2 &s,const Energy & mpi) const {
92 static const InvEnergy2 c1(3.5/GeV2);
93 static const Energy2 c2(2.8*GeV2);
94 return sqrt(1.-16.*sqr(mpi)/s)/(1.+exp(c1*(c2-s)));
95 }
96
97private:
98
106 Energy2 a_;
107
111 Energy b1_;
112
116 InvEnergy b2_;
117
121 Energy g4Pi_;
123
124};
125
126}
127
128#endif /* Herwig_DalitzSigma_H */
The DalitzResonance class provides a container class for information on resonances in multi-body dali...
The DalitzSigma class implements the model of Zou and Bugg for the sigma resonance.
Definition: DalitzSigma.h:17
Energy g4Pi_
Four pion coupling.
Definition: DalitzSigma.h:121
virtual Complex BreitWigner(const Energy &mAB, const Energy &mA, const Energy &mB) const
Return the Breit-Wigner times the form factor.
DalitzSigma(long pid, ResonanceType::Type rtype, Energy m, Energy w, unsigned int d1, unsigned int d2, unsigned int s, double mag, double phi, InvEnergy rr, Energy2 a, Energy b1, InvEnergy b2, Energy g4pi)
Constructor with parameters.
Definition: DalitzSigma.h:32
static void Init()
The standard Init function used to initialize the interfaces.
InvEnergy b2_
parameter
Definition: DalitzSigma.h:116
DalitzSigma()
The default constructor.
Definition: DalitzSigma.h:26
Energy2 a_
Parameters of the propagator form.
Definition: DalitzSigma.h:106
Energy b1_
parameter
Definition: DalitzSigma.h:111
DalitzSigma & operator=(const DalitzSigma &)=delete
The assignment operator is private and must never be called.
void persistentOutput(PersistentOStream &os) const
Function used to write out object persistently.
void persistentInput(PersistentIStream &is, int version)
Function used to read in object persistently.
double rho4pi(const Energy2 &s, const Energy &mpi) const
Four pion phase-space.
Definition: DalitzSigma.h:91
virtual void dataBaseOutput(ofstream &output)
Output the parameters.
-*- C++ -*-
double sqrt(int x)
std::complex< double > Complex
constexpr auto sqr(const T &x) -> decltype(x *x)