herwig is hosted by Hepforge, IPPP Durham
Herwig 7.3.0
BallZwickyScalarFormFactor.h
1// -*- C++ -*-
2//
3// BallZwickyScalarFormFactor.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_BallZwickyScalarFormFactor_H
10#define HERWIG_BallZwickyScalarFormFactor_H
11//
12// This is the declaration of the BallZwickyScalarFormFactor class.
13//
14#include "ScalarFormFactor.h"
15
16namespace Herwig {
17using namespace ThePEG;
18
31
32public:
33
38
52 virtual void ScalarScalarFormFactor(Energy2 q2,unsigned int iloc,int id0,
53 int id1, Energy m0, Energy m1,
54 Complex & f0,Complex & fp) const;
55
66 void ScalarScalarSigmaFormFactor(Energy2 q2,unsigned int iloc,int id0,int id1,
67 Energy m0, Energy m1,Complex & fT) const;
69
76 virtual void dataBaseOutput(ofstream & os,bool header,bool create) const;
77
78public:
79
87
93 void persistentInput(PersistentIStream & is, int version);
95
99 static void Init();
100
101protected:
102
109 virtual IBPtr clone() const {return new_ptr(*this);}
110
115 virtual IBPtr fullclone() const {return new_ptr(*this);}
117
118protected:
119
127 virtual void doinit();
129
130private:
131
136
137private:
138
141
145 vector<double> _r10;
146
150 vector<double> _r20;
151
155 vector<double> _r1plus;
156
160 vector<double> _r2plus;
161
165 vector<double> _r1T;
166
170 vector<double> _r2T;
172
175
179 vector<Energy2> _m120;
180
184 vector<Energy2> _mfit20;
185
189 vector<Energy2> _m12plus;
190
194 vector<Energy2> _mfit2plus;
195
199 vector<Energy2> _m12T;
200
204 vector<Energy2> _mfit2T;
206
210 double _thetaeta;
211
212};
213
214}
215
216#endif /* HERWIG_BallZwickyScalarFormFactor_H */
This class is the implementation of the form-factors of PRD71 014015 (2005) for the form-factor for t...
void persistentOutput(PersistentOStream &os) const
Function used to write out object persistently.
vector< Energy2 > _m12plus
The mass form factor.
vector< double > _r2plus
The coefficient for the form factor.
void persistentInput(PersistentIStream &is, int version)
Function used to read in object persistently.
virtual IBPtr clone() const
Make a simple clone of this object.
vector< Energy2 > _m120
The mass form factor.
virtual IBPtr fullclone() const
Make a clone of this object, possibly modifying the cloned object to make it sane.
static void Init()
Standard Init function used to initialize the interfaces.
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< double > _r1T
The coefficient for the form factor.
virtual void doinit()
Initialize this object after the setup phase before saving and EventGenerator to disk.
BallZwickyScalarFormFactor & operator=(const BallZwickyScalarFormFactor &)=delete
Private and non-existent assignment operator.
vector< double > _r2T
The coefficient for the form factor.
vector< Energy2 > _mfit2T
The mass form factor.
vector< double > _r20
The coefficient for the form factor.
void ScalarScalarSigmaFormFactor(Energy2 q2, unsigned int iloc, int id0, int id1, Energy m0, Energy m1, Complex &fT) const
The form factor for the weak penguin decay of a scalar meson to a scalar meson.
vector< Energy2 > _m12T
The mass form factor.
vector< Energy2 > _mfit20
The mass form factor.
BallZwickyScalarFormFactor()
Default constructor.
vector< Energy2 > _mfit2plus
The mass form factor.
vector< double > _r10
The coefficient for the form factor.
virtual void dataBaseOutput(ofstream &os, bool header, bool create) const
Output the setup information for the particle database.
vector< double > _r1plus
The coefficient for the form factor.
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