herwig is hosted by Hepforge, IPPP Durham
Herwig 7.3.0
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
16namespace Herwig {
17using namespace ThePEG;
18
39
40public:
41
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
90public:
91
99
105 void persistentInput(PersistentIStream & is, int version);
107
111 static void Init();
112
113protected:
114
121 virtual IBPtr clone() const {return new_ptr(*this);}
122
127 virtual IBPtr fullclone() const {return new_ptr(*this);}
129
130protected:
131
134
140 virtual void doinit();
142
143private:
144
149
150private:
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...
The WSBFormFactor class is the implementation of the form factor model of Z.Phys.
Definition: WSBFormFactor.h:38
vector< double > _A2
the form factor at for vector decays.
double _thetaeta
The mixing angle.
WSBFormFactor()
Default constructor.
vector< double > _V
the form factor at for vector decays.
virtual IBPtr fullclone() const
Make a clone of this object, possibly modifying the cloned object to make it sane.
vector< Energy > _mS0
Spin-0 mass for the scalar form factors.
void persistentOutput(PersistentOStream &os) const
Function used to write out object persistently.
vector< double > _A0
the form factor at for vector decays.
WSBFormFactor & operator=(const WSBFormFactor &)=delete
Private and non-existent assignment operator.
virtual IBPtr clone() const
Make a simple clone of this object.
vector< double > _A1
the form factor at for vector decays.
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.
static void Init()
Standard Init function used to initialize the interfaces.
virtual void doinit()
Initialize this object after the setup phase before saving and EventGenerator to disk.
vector< Energy > _mV1
Spin-1 mass for the vector form factors.
virtual void dataBaseOutput(ofstream &os, bool header, bool create) const
Output the setup information for the particle database.
vector< double > _F0
The form factor at for scalar decays.
vector< Energy > _mV0
Spin-0 mass for the vector form factors.
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.
void persistentInput(PersistentIStream &is, int version)
Function used to read in object persistently.
vector< Energy > _mS1
Spin-1 mass for the scalar form factors.
-*- C++ -*-
std::complex< double > Complex
ThePEG::Ptr< InterfacedBase >::pointer IBPtr