herwig is hosted by Hepforge, IPPP Durham
Herwig  7.2.1
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 
16 namespace Herwig {
17 using namespace ThePEG;
18 
31 
32 public:
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 
78 public:
79 
86  void persistentOutput(PersistentOStream & os) const;
87 
93  void persistentInput(PersistentIStream & is, int version);
95 
99  static void Init();
100 
101 protected:
102 
109  virtual IBPtr clone() const {return new_ptr(*this);}
110 
115  virtual IBPtr fullclone() const {return new_ptr(*this);}
117 
118 protected:
119 
127  virtual void doinit();
129 
130 private:
131 
135  BallZwickyScalarFormFactor & operator=(const BallZwickyScalarFormFactor &) = delete;
136 
137 private:
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 */
The ScalarFormFactor class is the base class for the form factors for the weak decay of scalar to sca...
vector< double > _r10
The coefficient for the form factor.
std::complex< double > Complex
vector< Energy2 > _mfit2plus
The mass form factor.
virtual IBPtr clone() const
Make a simple clone of this object.
vector< Energy2 > _m12plus
The mass form factor.
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< double > _r1T
The coefficient for the form factor.
vector< Energy2 > _mfit2T
The mass form factor.
vector< Energy2 > _m120
The mass form factor.
vector< double > _r2T
The coefficient for the form factor.
vector< double > _r2plus
The coefficient for the form factor.
This class is the implementation of the form-factors of PRD71 014015 (2005) for the form-factor for t...
vector< double > _r20
The coefficient for the form factor.
vector< Energy2 > _mfit20
The mass form factor.
-*- C++ -*-
vector< double > _r1plus
The coefficient for the form factor.
vector< Energy2 > _m12T
The mass form factor.