herwig is hosted by Hepforge, IPPP Durham
Herwig  7.2.1
MelikhovFormFactor.h
1 // -*- C++ -*-
2 //
3 // MelikhovFormFactor.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_MelikhovFormFactor_H
10 #define HERWIG_MelikhovFormFactor_H
11 //
12 // This is the declaration of the MelikhovFormFactor class.
13 //
14 
15 #include "ScalarFormFactor.h"
16 
17 namespace Herwig {
18 using namespace ThePEG;
19 
29 
30 public:
31 
36 
50  virtual void ScalarScalarFormFactor(Energy2 q2,unsigned int iloc,int id0,int id1,
51  Energy m0,Energy m1,
52  Complex & f0,Complex & fp) const;
53 
67  virtual void ScalarVectorFormFactor(Energy2 q2, unsigned int iloc, int id0, int id1,
68  Energy m0, Energy m1, Complex & V,
69  Complex & A0,Complex & A1,Complex & A2) const;
71 
78  virtual void dataBaseOutput(ofstream & os,bool header,bool create) const;
79 
80 public:
81 
88  void persistentOutput(PersistentOStream & os) const;
89 
95  void persistentInput(PersistentIStream & is, int version);
97 
104  static void Init();
105 
106 protected:
107 
114  virtual IBPtr clone() const {return new_ptr(*this);}
115 
120  virtual IBPtr fullclone() const {return new_ptr(*this);}
122 
123 protected:
124 
132  virtual void doinit();
134 
135 private:
136 
141  MelikhovFormFactor & operator=(const MelikhovFormFactor &) = delete;
142 
143 private:
144 
150  unsigned int _ifit;
151 
155  double _Rplus0;
156 
160  Energy _Mplus;
161 
165  double _nplus;
166 
170  double _RV0;
171 
175  Energy _MV;
176 
180  double _nV;
181 
185  double _R10;
186 
190  Energy _M1;
191 
195  double _n1;
196 
200  double _R20;
201 
205  Energy _M2;
206 
210  double _n2;
212 };
213 
214 }
215 
216 #endif /* HERWIG_MelikhovFormFactor_H */
virtual IBPtr fullclone() const
Make a clone of this object, possibly modifying the cloned object to make it sane.
The ScalarFormFactor class is the base class for the form factors for the weak decay of scalar to sca...
std::complex< double > Complex
double _RV0
The value of for the form factor.
double _n1
The value of for the form factor.
Energy _MV
The value of for the form factor.
unsigned int _ifit
The set of fit parameters to use.
double _Rplus0
The value of for the form factor.
ThePEG::Ptr< InterfacedBase >::pointer IBPtr
Energy _M2
The value of for the form factor.
double _R10
The value of for the form factor.
double _n2
The value of for the form factor.
virtual IBPtr clone() const
Make a simple clone of this object.
double _nplus
The value of for the form factor.
double _R20
The value of for the form factor.
Energy _M1
The value of for the form factor.
-*- C++ -*-
double _nV
The value of for the form factor.
The MelikhovFormFactor class implements the model of Phys.
Energy _Mplus
The value of for the form factor.