herwig is hosted by Hepforge, IPPP Durham
Herwig 7.3.0
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
17namespace Herwig {
18using namespace ThePEG;
19
28
29public:
30
35
36public:
37
45
51 void persistentInput(PersistentIStream & is, int version);
53
60 static void Init();
61
62public:
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
111protected:
112
119 virtual IBPtr clone() const {return new_ptr(*this);}
120
125 virtual IBPtr fullclone() const {return new_ptr(*this);}
127
128protected:
129
137 virtual void doinit();
139
140private:
141
147
148private:
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 KiselevBcFormFactor class implements the form factors from hep-ph/0211021 for the decays of meso...
vector< InvEnergy > _FmA
The value of the form factor evaluated at .
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.
vector< Energy > _MF0A
The pole mass for the form factor.
virtual void doinit()
Initialize this object after the setup phase before saving and EventGenerator to disk.
vector< double > _fm
The value of the form factor evaluated at .
vector< InvEnergy > _FV
The value of the form factor evaluated at .
vector< Energy > _F0A
The value of the form factor evaluated at .
vector< Energy > _MFpA
The pole mass for the form factor.
KiselevBcFormFactor()
The default constructor.
virtual IBPtr fullclone() const
Make a clone of this object, possibly modifying the cloned object to make it sane.
vector< Energy > _MFV
The pole mass for the form factor.
vector< InvEnergy > _FpA
The value of the form factor evaluated at .
virtual IBPtr clone() const
Make a simple clone of this object.
vector< Energy > _Mfm
The pole mass for the form factor.
static void Init()
The standard Init function used to initialize the interfaces.
virtual void ScalarVectorFormFactor(Energy2 q2, unsigned int iloc, int id0, int id1, Energy m0, Energy m1, Complex &A0, Complex &A1, Complex &A2, Complex &V) const
The form factor for the weak decay of a scalar to a vector.
KiselevBcFormFactor & operator=(const KiselevBcFormFactor &)=delete
The assignment operator is private and must never be called.
vector< double > _fp
The value of the form factor evaluated at .
void persistentInput(PersistentIStream &is, int version)
Function used to read in object persistently.
virtual void dataBaseOutput(ofstream &os, bool header, bool create) const
Output the setup information for the particle database.
vector< Energy > _Mfp
The pole mass for the form factor.
vector< Energy > _MFmA
The pole mass for the form factor.
void persistentOutput(PersistentOStream &os) const
Function used to write out object persistently.
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