herwig is hosted by Hepforge, IPPP Durham
Herwig  7.2.1
BaryonThreeQuarkModelFormFactor.h
1 // -*- C++ -*-
2 #ifndef HERWIG_BaryonThreeQuarkModelFormFactor_H
3 #define HERWIG_BaryonThreeQuarkModelFormFactor_H
4 //
5 // This is the declaration of the BaryonThreeQuarkModelFormFactor class.
6 //
7 #include "BaryonFormFactor.h"
8 #include "ThePEG/PDT/ParticleData.h"
9 
10 namespace Herwig {
11 using namespace ThePEG;
12 
29 
30 public:
31 
36 
43  void persistentOutput(PersistentOStream & os) const;
44 
50  void persistentInput(PersistentIStream & is, int version);
52 
56  static void Init();
57 
58 protected:
59 
66  virtual IBPtr clone() const {return new_ptr(*this);}
67 
72  virtual IBPtr fullclone() const {return new_ptr(*this);}
74 
75 public:
76 
95  virtual void SpinHalfSpinHalfFormFactor(Energy2 q2,int iloc, int id0, int id1,
96  Energy m0, Energy m1,
97  Complex & f1v,Complex & f2v,Complex & f3v,
98  Complex & f1a,Complex & f2a,Complex & f3a);
99 
118  virtual void SpinHalfSpinThreeHalfFormFactor(Energy2 q2,int iloc, int id0, int id1,
119  Energy m0, Energy m1,
120  Complex & g1v,Complex & g2v,Complex & g3v,
121  Complex & g4v,Complex & g1a,Complex & g2a,
122  Complex & g3a,Complex & g4a);
124 
131  virtual void dataBaseOutput(ofstream & os,bool header,bool create) const;
132 
140  double operator ()(double x) const;
142  typedef double ArgType;
144  typedef double ValType;
145 
157  Energy widthIntegrand(double omega,Energy m0, Energy m1, int type, int imass,
158  int id0,int id1);
159 
160 protected:
161 
168  vector<double> phiFunction(double);
169 
181  void SN(double y,int N,double & SNm2,double & SN) const;
183 
184 protected:
185 
188 
194  virtual void doinit();
196 
197 private:
198 
203 
204 private:
205 
212 
216  unsigned int _order;
217 
221  Energy _mlight;
222 
226  Energy _mstrange;
227 
231  Energy _LambdaQ;
232 
236  Energy _Lambdaqq;
237 
241  Energy _Lambdasq;
242 
243 
247  Energy _Lambdass;
248 
252  vector<double> _C0;
253 
257  vector<double> _C1;
258 
262  vector<double> _C2;
263 
267  double _a;
268 
272  double _b;
273 
277  double _mu2;
278 
282  int _N;
284 };
285 
286 }
287 
288 #endif /* HERWIG_BaryonThreeQuarkModelFormFactor_H */
double _a
Coefficient of the first term in the integrand for the coefficient calculation.
double ArgType
Argument type for GaussianIntegrator.
virtual IBPtr clone() const
Make a simple clone of this object.
std::complex< double > Complex
double ValType
Return type for GaussianIntegrator.
ThePEG::Ptr< InterfacedBase >::pointer IBPtr
double _mu2
The parameter for the coefficient calculation.
virtual IBPtr fullclone() const
Make a clone of this object, possibly modifying the cloned object to make it sane.
Energy _mstrange
Mass of the strange quark used in the calculation of the form factors.
double _b
Coefficient of the second term in the integrand for the coefficient calculation.
vector< double > _C1
Coefficients for the expansion of the form factor.
int _N
the order of the coefficient being calculated.
vector< double > _C2
Coefficients for the expansion of the form factor.
Energy _LambdaQ
The heavy quark parameter for the calculation of the form factors.
The BaryonFormFactor class is the base class for the implementation of the form-factors for the weak ...
Energy _Lambdasq
The parameter for the calculation of the form factors.
Energy _Lambdaqq
The parameter for the calculation of the form factors.
-*- C++ -*-
Energy _Lambdass
The parameter for the calculation of the form factors.
unsigned int _order
Order of the expansion for the form factors.
Energy _mlight
Mass of the light quarks used in the calculation of the form factors.
The BaryonThreeQuarkModelFormFactor class implements the form factors for the semi-leptonic decay of ...
vector< double > _C0
Coefficients for the expansion of the form factor.
bool _initialize
Initialization of the expansion coefficients.