herwig is hosted by Hepforge, IPPP Durham
Herwig  7.2.1
KiselevBcFormFactor.h
1 // -*- C++ -*-
2 //
3 // KiselevBcFormFactor.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_KiselevBcFormFactor_H
10 #define HERWIG_KiselevBcFormFactor_H
11 //
12 // This is the declaration of the KiselevBcFormFactor class.
13 //
14 
15 #include "ScalarFormFactor.h"
16 
17 namespace Herwig {
18 using namespace ThePEG;
19 
28 
29 public:
30 
35 
36 public:
37 
44  void persistentOutput(PersistentOStream & os) const;
45 
51  void persistentInput(PersistentIStream & is, int version);
53 
60  static void Init();
61 
62 public:
63 
79  virtual void ScalarScalarFormFactor(Energy2 q2,unsigned int iloc,int id0,int id1,
80  Energy m0,Energy m1,Complex & f0,
81  Complex & fp) const;
82 
98  virtual void ScalarVectorFormFactor(Energy2 q2, unsigned int iloc, int id0, int id1,
99  Energy m0, Energy m1,Complex & A0,
100  Complex & A1,Complex & A2, Complex & V) const;
102 
109  virtual void dataBaseOutput(ofstream & os,bool header,bool create) const;
110 
111 protected:
112 
119  virtual IBPtr clone() const {return new_ptr(*this);}
120 
125  virtual IBPtr fullclone() const {return new_ptr(*this);}
127 
128 protected:
129 
137  virtual void doinit();
139 
140 private:
141 
146  KiselevBcFormFactor & operator=(const KiselevBcFormFactor &) = delete;
147 
148 private:
149 
153  vector<double> _fp;
154 
158  vector<double> _fm;
159 
163  vector<InvEnergy> _FV;
164 
168  vector<Energy> _F0A;
169 
173  vector<InvEnergy> _FpA;
174 
178  vector<InvEnergy> _FmA;
179 
183  vector<Energy> _Mfp;
184 
188  vector<Energy> _Mfm;
189 
193  vector<Energy> _MFV;
194 
198  vector<Energy> _MF0A;
199 
203  vector<Energy> _MFpA;
204 
208  vector<Energy> _MFmA;
209 
210 };
211 
212 }
213 
214 #endif /* HERWIG_KiselevBcFormFactor_H */
The ScalarFormFactor class is the base class for the form factors for the weak decay of scalar to sca...
std::complex< double > Complex
vector< double > _fp
The value of the form factor evaluated at .
virtual IBPtr fullclone() const
Make a clone of this object, possibly modifying the cloned object to make it sane.
vector< Energy > _Mfm
The pole mass for the form factor.
The KiselevBcFormFactor class implements the form factors from hep-ph/0211021 for the decays of meso...
vector< Energy > _MFV
The pole mass for the form factor.
ThePEG::Ptr< InterfacedBase >::pointer IBPtr
virtual IBPtr clone() const
Make a simple clone of this object.
vector< InvEnergy > _FV
The value of the form factor evaluated at .
vector< InvEnergy > _FmA
The value of the form factor evaluated at .
vector< Energy > _Mfp
The pole mass for the form factor.
vector< Energy > _F0A
The value of the form factor evaluated at .
-*- C++ -*-
vector< Energy > _MFpA
The pole mass for the form factor.
vector< double > _fm
The value of the form factor evaluated at .
vector< InvEnergy > _FpA
The value of the form factor evaluated at .
vector< Energy > _MFmA
The pole mass for the form factor.
vector< Energy > _MF0A
The pole mass for the form factor.