herwig is hosted by Hepforge, IPPP Durham
Herwig 7.3.0
MelikhovStechFormFactor.h
1// -*- C++ -*-
2//
3// MelikhovStechFormFactor.h is a part of Herwig - A multi-purpose Monte Carlo event generator
4// Copyright (C) 2002-2019 The Herwig Collaboration
5//
6// Herwig is licenced under version 3 of the GPL, see COPYING for details.
7// Please respect the MCnet academic guidelines, see GUIDELINES for details.
8//
9#ifndef HERWIG_MelikhovStechFormFactor_H
10#define HERWIG_MelikhovStechFormFactor_H
11//
12// This is the declaration of the MelikhovStechFormFactor class.
13//
14
15#include "ScalarFormFactor.h"
16
17namespace Herwig {
18using namespace ThePEG;
19
28
29public:
30
35
49 virtual void ScalarScalarFormFactor(Energy2 q2,unsigned int iloc,int id0,int id1,
50 Energy m0,Energy m1,
51 Complex & f0,Complex & fp) const;
52
66 virtual void ScalarVectorFormFactor(Energy2 q2, unsigned int iloc, int id0, int id1,
67 Energy m0, Energy m1, Complex & V,
68 Complex & A0,Complex & A1,Complex & A2) const;
69
83 virtual void ScalarScalarSigmaFormFactor(Energy2 q2,unsigned int iloc,int id0,int id1,
84 Energy m0, Energy m1,Complex & fT) const;
85
101 virtual void ScalarVectorSigmaFormFactor(Energy2 q2,unsigned int iloc,int id0,int id1,
102 Energy m0, Energy m1, Complex & T1,
103 Complex & T2, Complex & T3) const;
105
112 virtual void dataBaseOutput(ofstream & os,bool header,bool create) const;
113
114public:
115
123
129 void persistentInput(PersistentIStream & is, int version);
131
138 static void Init();
139
140protected:
141
148 virtual IBPtr clone() const {return new_ptr(*this);}
149
154 virtual IBPtr fullclone() const {return new_ptr(*this);}
156
157protected:
158
166 virtual void doinit();
168
169private:
170
176
177private:
178
179
182
186 vector<double> _fplus0;
187
191 vector<double> _sigma1fp;
192
196 vector<double> _sigma2fp;
197
201 vector<double> _f00;
202
206 vector<double> _sigma1f0;
207
211 vector<double> _sigma2f0;
212
216 vector<double> _fT0;
217
221 vector<double> _sigma1fT;
222
226 vector<double> _sigma2fT;
227
229
235 vector<double> _V0;
236
240 vector<double> _sigma1V0;
241
245 vector<double> _sigma2V0;
246
250 vector<double> _A00;
251
255 vector<double> _sigma1A0;
256
260 vector<double> _sigma2A0;
261
265 vector<double> _A10;
266
270 vector<double> _sigma1A1;
271
275 vector<double> _sigma2A1;
276
280 vector<double> _A20;
281
285 vector<double> _sigma1A2;
286
290 vector<double> _sigma2A2;
291
295 vector<double> _T10;
296
300 vector<double> _sigma1T1;
301
305 vector<double> _sigma2T1;
306
310 vector<double> _T20;
311
315 vector<double> _sigma1T2;
316
320 vector<double> _sigma2T2;
321
325 vector<double> _T30;
326
330 vector<double> _sigma1T3;
331
335 vector<double> _sigma2T3;
337
341 vector<Energy> _massP;
342
346 vector<Energy> _massV;
347
351 double _thetaeta;
352};
353
354}
355
356#endif /* HERWIG_MelikhovStechFormFactor_H */
The MelikhovStechFormFactor class is the implementation of the form factors from Phys.
vector< Energy > _massV
The vector mass for the dependence of the form factor.
vector< double > _sigma1fT
The parameter for the form factor.
virtual void ScalarScalarSigmaFormFactor(Energy2 q2, unsigned int iloc, int id0, int id1, Energy m0, Energy m1, Complex &fT) const
The form factor for the weak penguin decay of a scalar meson to a scalar meson.
vector< double > _T20
The value of for the form factors.
vector< double > _sigma1f0
The parameter for the form factor.
virtual void ScalarVectorFormFactor(Energy2 q2, unsigned int iloc, int id0, int id1, Energy m0, Energy m1, Complex &V, Complex &A0, Complex &A1, Complex &A2) const
The form factor for the weak decay of a scalar to a vector.
vector< double > _sigma1V0
The parameter for the form factor.
vector< double > _A00
The value of for the form factors.
vector< double > _T10
The value of for the form factors.
vector< double > _sigma2T1
The parameter for the form factor.
vector< double > _sigma2T2
The parameter for the form factor.
virtual void dataBaseOutput(ofstream &os, bool header, bool create) const
Output the setup information for the particle database.
vector< double > _sigma2A2
The parameter for the form factor.
vector< double > _fT0
The value of for the form factors.
vector< double > _sigma2fp
The parameter for the form factor.
vector< double > _A20
The value of for the form factors.
vector< double > _A10
The value of for the form factors.
vector< double > _sigma2fT
The parameter for the form factor.
virtual IBPtr clone() const
Make a simple clone of this object.
vector< double > _sigma2T3
The parameter for the form factor.
vector< double > _sigma1A0
The parameter for the form factor.
vector< double > _sigma1T2
The parameter for the form factor.
vector< double > _V0
The value of for the form factors.
MelikhovStechFormFactor & operator=(const MelikhovStechFormFactor &)=delete
The assignment operator is private and must never be called.
vector< double > _sigma1fp
The parameter for the form factor.
vector< double > _f00
The value of for the form factors.
vector< double > _sigma1T1
The parameter for the form factor.
vector< double > _sigma2A0
The parameter for the form factor.
static void Init()
The standard Init function used to initialize the interfaces.
void persistentOutput(PersistentOStream &os) const
Function used to write out object persistently.
vector< double > _T30
The value of for the form factors.
vector< double > _sigma1A1
The parameter for the form factor.
vector< double > _sigma2A1
The parameter for the form factor.
vector< double > _sigma1T3
The parameter for the form factor.
virtual IBPtr fullclone() const
Make a clone of this object, possibly modifying the cloned object to make it sane.
vector< double > _fplus0
The value of for the form factors.
vector< Energy > _massP
The scalar mass for the dependence of the form factor.
MelikhovStechFormFactor()
The default constructor.
vector< double > _sigma2f0
The parameter for the form factor.
virtual void ScalarScalarFormFactor(Energy2 q2, unsigned int iloc, int id0, int id1, Energy m0, Energy m1, Complex &f0, Complex &fp) const
The form factor for the weak decay of a scalar to a scalar.
void persistentInput(PersistentIStream &is, int version)
Function used to read in object persistently.
virtual void ScalarVectorSigmaFormFactor(Energy2 q2, unsigned int iloc, int id0, int id1, Energy m0, Energy m1, Complex &T1, Complex &T2, Complex &T3) const
The form factor for the weak penguin decay of a scalar meson to a vector meson.
vector< double > _sigma2V0
The parameter for the form factor.
virtual void doinit()
Initialize this object after the setup phase before saving and EventGenerator to disk.
vector< double > _sigma1A2
The parameter for the form factor.
The ScalarFormFactor class is the base class for the form factors for the weak decay of scalar to sca...
-*- C++ -*-
std::complex< double > Complex
ThePEG::Ptr< InterfacedBase >::pointer IBPtr