herwig is hosted by Hepforge, IPPP Durham
Herwig  7.2.1
WSBFormFactor.h
1 // -*- C++ -*-
2 //
3 // WSBFormFactor.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_WSBFormFactor_H
10 #define HERWIG_WSBFormFactor_H
11 //
12 // This is the declaration of the WSBFormFactor class.
13 //
14 #include "ScalarFormFactor.h"
15 
16 namespace Herwig {
17 using namespace ThePEG;
18 
39 
40 public:
41 
45  WSBFormFactor();
46 
60  virtual void ScalarScalarFormFactor(Energy2 q2,unsigned int iloc,int id0,int id1,
61  Energy m0,Energy m1,
62  Complex & f0,Complex & fp) const;
63 
77  virtual void ScalarVectorFormFactor(Energy2 q2, unsigned int iloc, int id0, int id1,
78  Energy m0, Energy m1, Complex & V,
79  Complex & A0,Complex & A1,Complex & A2) const;
81 
88  virtual void dataBaseOutput(ofstream & os,bool header,bool create) const;
89 
90 public:
91 
98  void persistentOutput(PersistentOStream & os) const;
99 
105  void persistentInput(PersistentIStream & is, int version);
107 
111  static void Init();
112 
113 protected:
114 
121  virtual IBPtr clone() const {return new_ptr(*this);}
122 
127  virtual IBPtr fullclone() const {return new_ptr(*this);}
129 
130 protected:
131 
134 
140  virtual void doinit();
142 
143 private:
144 
148  WSBFormFactor & operator=(const WSBFormFactor &) = delete;
149 
150 private:
151 
157  vector<double> _F0;
158 
162  vector<double> _V;
163 
167  vector<double> _A0;
168 
172  vector<double> _A1;
173 
177  vector<double> _A2;
178 
182  vector<Energy> _mS0;
183 
187  vector<Energy> _mS1;
188 
192  vector<Energy> _mV0;
193 
197  vector<Energy> _mV1;
199 
203  double _thetaeta;
204 };
205 
206 }
207 
208 #endif /* HERWIG_WSBFormFactor_H */
The ScalarFormFactor class is the base class for the form factors for the weak decay of scalar to sca...
double _thetaeta
The mixing angle.
std::complex< double > Complex
The WSBFormFactor class is the implementation of the form factor model of Z.Phys. ...
Definition: WSBFormFactor.h:38
vector< Energy > _mS0
Spin-0 mass for the scalar form factors.
vector< Energy > _mV1
Spin-1 mass for the vector form factors.
vector< double > _A0
the form factor at for vector decays.
ThePEG::Ptr< InterfacedBase >::pointer IBPtr
virtual IBPtr fullclone() const
Make a clone of this object, possibly modifying the cloned object to make it sane.
vector< Energy > _mV0
Spin-0 mass for the vector form factors.
virtual IBPtr clone() const
Make a simple clone of this object.
vector< double > _F0
The form factor at for scalar decays.
vector< double > _A1
the form factor at for vector decays.
-*- C++ -*-
vector< double > _A2
the form factor at for vector decays.
vector< Energy > _mS1
Spin-1 mass for the scalar form factors.
vector< double > _V
the form factor at for vector decays.