herwig is hosted by Hepforge, IPPP Durham
Herwig  7.2.1
KornerKramerCharmDecayer.h
1 // -*- C++ -*-
2 #ifndef HERIWG_KornerKramerCharmDecayer_H
3 #define HERIWG_KornerKramerCharmDecayer_H
4 //
5 // This is the declaration of the KornerKramerCharmDecayer class.
6 //
7 #include "Baryon1MesonDecayerBase.h"
8 #include "ThePEG/StandardModel/StandardModelBase.h"
9 
10 namespace Herwig {
11 using namespace ThePEG;
12 
25 
26 public:
27 
32 
39  virtual int modeNumber(bool & cc, tcPDPtr parent,
40  const tPDVector & children) const;
41 
47  virtual void dataBaseOutput(ofstream & os,bool header) const;
48 
49 protected:
50 
64  virtual void halfHalfScalarCoupling(int imode,Energy m0,Energy m1,Energy m2,
65  Complex& A,Complex& B) const;
66 
78  virtual void halfHalfVectorCoupling(int imode,Energy m0,Energy m1,Energy m2,
79  Complex& A1,Complex& A2,
80  Complex& B1,Complex& B2) const;
81 
91  virtual void halfThreeHalfScalarCoupling(int imode,Energy m0,Energy m1,Energy m2,
92  Complex& A,Complex& B) const;
93 
107  virtual void halfThreeHalfVectorCoupling(int imode,Energy m0,Energy m1,Energy m2,
108  Complex& A1,Complex& A2,Complex& A3,
109  Complex& B1,Complex& B2,Complex& B3) const;
111 
112 public:
113 
120  void persistentOutput(PersistentOStream & os) const;
121 
127  void persistentInput(PersistentIStream & is, int version);
129 
133  static void Init();
134 
135 protected:
136 
143  virtual IBPtr clone() const {return new_ptr(*this);}
144 
149  virtual IBPtr fullclone() const {return new_ptr(*this);}
151 
152 protected:
153 
161  virtual void doinit();
162 
166  virtual void doinitrun();
168 
169 private:
170 
174  KornerKramerCharmDecayer & operator=(const KornerKramerCharmDecayer &) = delete;
175 
176 private:
177 
181  double oneNC_;
182 
186  Energy fpi_;
187 
191  Energy fk_;
192 
196  double frho_;
197 
201  double fKstar_;
202 
207  Energy mdcplus_;
208 
213  Energy mdcminus_;
214 
219  Energy mscplus_;
220 
225  Energy mscminus_;
226 
230  double cplus_;
231 
235  double cminus_;
236 
240  Energy H2_;
241 
245  Energy H3_;
246 
254  vector<double> I1_;
255 
259  vector<double> I2_;
260 
264  vector<double> I3_;
265 
269  vector<double> I4_;
270 
274  vector<double> I5_;
275 
279  vector<double> Ihat3_;
280 
284  vector<double> Ihat4_;
286 
290  vector<int> incoming_;
291 
295  vector<int> outgoingB_;
296 
300  vector<int> outgoingM_;
301 
305  vector<double> maxweight_;
306 
314  vector<double> A1_;
315 
319  vector<InvEnergy> A2_;
320 
324  vector<InvEnergy2> A3_;
328  vector<double> B1_;
332  vector<InvEnergy> B2_;
336  vector<InvEnergy2> B3_;
338 
342  unsigned int initsize_;
343 
344 };
345 
346 }
347 
348 
349 #endif /* HERIWG_KornerKramerCharmDecayer_H */
vector< double > B1_
The first B coupling.
Energy H2_
factor for the non-factorizing diagrams.
std::complex< double > Complex
Energy mdcplus_
Axial-Vector mass for the form factor for the factorizing diagrams for the transition.
double cplus_
Perturbative factor, .
vector< InvEnergy > A2_
The second A coupling.
vector< double > Ihat3_
The invariant.
vector< InvEnergy > B2_
The second B coupling.
Energy H3_
factor for the non-factorizing diagrams.
ThePEG::Ptr< InterfacedBase >::pointer IBPtr
vector< InvEnergy2 > B3_
The third B coupling.
vector< double > Ihat4_
The invariant.
Energy fk_
Kaon decay constant, .
Energy mscplus_
Axial-Vector mass for the form factor for the factorizing diagrams for the transition.
vector< double > I5_
The invariant.
vector< int > outgoingM_
The PDG code for the outgoing meson.
The Baryon1MesonDecayerBase class is the base class for the decay of a baryon to another baryon and a...
Energy mdcminus_
Vector mass for the form factor for the factorizing diagrams for the transition. ...
vector< tPDPtr > tPDVector
Energy fpi_
Pion decay constant, .
double cminus_
Perturbative factor, .
ThePEG::Ptr< ParticleData >::transient_const_pointer tcPDPtr
virtual IBPtr fullclone() const
Make a clone of this object, possibly modifying the cloned object to make it sane.
vector< double > I3_
The invariant.
double oneNC_
one over the number of colours
virtual IBPtr clone() const
Make a simple clone of this object.
vector< double > I4_
The invariant.
vector< int > incoming_
The PDG code for the incoming baryon.
-*- C++ -*-
vector< double > A1_
The couplings for the different modes.
vector< double > I2_
The invariant.
The KornerKramerCharmDecayer class implements the model of Z.Phys.C55,659 (1992) for the non-leptonic...
vector< InvEnergy2 > A3_
The third A coupling.
Energy mscminus_
Vector mass for the form factor for the factorizing diagrams for the transition. ...
vector< int > outgoingB_
The PDG code for the outgoing baryon.
vector< double > I1_
SU(4) invariants for the various modes.
unsigned int initsize_
Initial size of the vectors.
vector< double > maxweight_
The maximum weight.