herwig is hosted by Hepforge, IPPP Durham
Herwig 7.3.0
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
10namespace Herwig {
11using namespace ThePEG;
12
29
30public:
31
36
44
50 void persistentInput(PersistentIStream & is, int version);
52
56 static void Init();
57
58protected:
59
66 virtual IBPtr clone() const {return new_ptr(*this);}
67
72 virtual IBPtr fullclone() const {return new_ptr(*this);}
74
75public:
76
96 virtual void SpinHalfSpinHalfFormFactor(Energy2 q2,int iloc, int id0, int id1,
97 Energy m0, Energy m1,
98 Complex & f1v,Complex & f2v,Complex & f3v,
99 Complex & f1a,Complex & f2a,Complex & f3a,
100 FlavourInfo flavour,
101 Virtuality virt=SpaceLike);
102
122 virtual void SpinHalfSpinThreeHalfFormFactor(Energy2 q2,int iloc, int id0, int id1,
123 Energy m0, Energy m1,
124 Complex & g1v,Complex & g2v,Complex & g3v,
125 Complex & g4v,Complex & g1a,Complex & g2a,
126 Complex & g3a,Complex & g4a,
127 FlavourInfo flavour,
128 Virtuality virt=SpaceLike);
130
137 virtual void dataBaseOutput(ofstream & os,bool header,bool create) const;
138
146 double operator ()(double x) const;
148 typedef double ArgType;
150 typedef double ValType;
151
163 Energy widthIntegrand(double omega,Energy m0, Energy m1, int type, int imass,
164 int id0,int id1);
165
166protected:
167
174 vector<double> phiFunction(double);
175
187 void SN(double y,int N,double & SNm2,double & SN) const;
189
190protected:
191
194
200 virtual void doinit();
202
203private:
204
209
210private:
211
218
222 unsigned int _order;
223
227 Energy _mlight;
228
232 Energy _mstrange;
233
237 Energy _LambdaQ;
238
242 Energy _Lambdaqq;
243
247 Energy _Lambdasq;
248
249
253 Energy _Lambdass;
254
258 vector<double> _C0;
259
263 vector<double> _C1;
264
268 vector<double> _C2;
269
273 double _a;
274
278 double _b;
279
283 double _mu2;
284
288 int _N;
290};
291
292}
293
294#endif /* HERWIG_BaryonThreeQuarkModelFormFactor_H */
The BaryonFormFactor class is the base class for the implementation of the form-factors for the weak ...
Virtuality
Whether the form factor is space- or time-like.
The BaryonThreeQuarkModelFormFactor class implements the form factors for the semi-leptonic decay of ...
Energy _mstrange
Mass of the strange quark used in the calculation of the form factors.
virtual IBPtr clone() const
Make a simple clone of this object.
double _b
Coefficient of the second term in the integrand for the coefficient calculation.
vector< double > _C0
Coefficients for the expansion of the form factor.
Energy _mlight
Mass of the light quarks used in the calculation of the form factors.
BaryonThreeQuarkModelFormFactor()
Default constructor.
Energy _LambdaQ
The heavy quark parameter for the calculation of the form factors.
virtual IBPtr fullclone() const
Make a clone of this object, possibly modifying the cloned object to make it sane.
double ArgType
Argument type for GaussianIntegrator.
double _mu2
The parameter for the coefficient calculation.
vector< double > _C1
Coefficients for the expansion of the form factor.
static void Init()
Standard Init function used to initialize the interfaces.
Energy _Lambdasq
The parameter for the calculation of the form factors.
virtual void SpinHalfSpinHalfFormFactor(Energy2 q2, int iloc, int id0, int id1, Energy m0, Energy m1, Complex &f1v, Complex &f2v, Complex &f3v, Complex &f1a, Complex &f2a, Complex &f3a, FlavourInfo flavour, Virtuality virt=SpaceLike)
The form factor for the weak decay of a spin baryon to a spin baryon.
bool _initialize
Initialization of the expansion coefficients.
vector< double > _C2
Coefficients for the expansion of the form factor.
Energy _Lambdaqq
The parameter for the calculation of the form factors.
BaryonThreeQuarkModelFormFactor & operator=(const BaryonThreeQuarkModelFormFactor &)=delete
Private and non-existent assignment operator.
void persistentInput(PersistentIStream &is, int version)
Function used to read in object persistently.
int _N
the order of the coefficient being calculated.
double operator()(double x) const
The integrand for the coefficients of the expansion.
double _a
Coefficient of the first term in the integrand for the coefficient calculation.
void persistentOutput(PersistentOStream &os) const
Function used to write out object persistently.
virtual void dataBaseOutput(ofstream &os, bool header, bool create) const
Output the setup information for the particle database.
void SN(double y, int N, double &SNm2, double &SN) const
The integral of a power of the the function of PRD56, 348 with respect to .
Energy _Lambdass
The parameter for the calculation of the form factors.
Energy widthIntegrand(double omega, Energy m0, Energy m1, int type, int imass, int id0, int id1)
The integrand for the semi-analytic calculation of the semi-leptonic width.
unsigned int _order
Order of the expansion for the form factors.
vector< double > phiFunction(double)
Returns the function function of PRD56, 348 as a function of .
virtual void doinit()
Initialize this object after the setup phase before saving and EventGenerator to disk.
double ValType
Return type for GaussianIntegrator.
virtual void SpinHalfSpinThreeHalfFormFactor(Energy2 q2, int iloc, int id0, int id1, Energy m0, Energy m1, Complex &g1v, Complex &g2v, Complex &g3v, Complex &g4v, Complex &g1a, Complex &g2a, Complex &g3a, Complex &g4a, FlavourInfo flavour, Virtuality virt=SpaceLike)
The form factor for the weak decay of a spin baryon to a spin baryon.
-*- C++ -*-
std::complex< double > Complex
ThePEG::Ptr< InterfacedBase >::pointer IBPtr