herwig is hosted by Hepforge, IPPP Durham
Herwig 7.3.0
KKPiCurrent.h
1// -*- C++ -*-
2#ifndef Herwig_KKPiCurrent_H
3#define Herwig_KKPiCurrent_H
4//
5// This is the declaration of the KKPiCurrent class.
6//
7
8#include "WeakCurrent.h"
9
10namespace Herwig {
11
12using namespace ThePEG;
13
20class KKPiCurrent: public WeakCurrent {
21
22public:
23
28
49 virtual bool createMode(int icharge, tcPDPtr resonance,
50 FlavourInfo flavour,
51 unsigned int imode,PhaseSpaceModePtr mode,
52 unsigned int iloc,int ires,
53 PhaseSpaceChannel phase, Energy upp );
54
64 virtual tPDVector particles(int icharge, unsigned int imode, int iq, int ia);
66
80 virtual vector<LorentzPolarizationVectorE>
81 current(tcPDPtr resonance,
82 FlavourInfo flavour,
83 const int imode, const int ichan,Energy & scale,
84 const tPDVector & outgoing,
85 const vector<Lorentz5Momentum> & momenta,
86 DecayIntegrator::MEOption meopt) const;
87
93 virtual bool accept(vector<int> id);
94
100 virtual unsigned int decayMode(vector<int> id);
101
108 virtual void dataBaseOutput(ofstream & os,bool header,bool create) const;
109
110public:
111
119
125 void persistentInput(PersistentIStream & is, int version);
127
134 static void Init();
135
136protected:
137
144 virtual IBPtr clone() const;
145
150 virtual IBPtr fullclone() const;
152
153protected:
154
160 virtual void doinit();
161
162private:
163
168 KKPiCurrent & operator=(const KKPiCurrent &) = delete;
169
170private:
171
175 vector<Energy> isoScalarMasses_;
176
180 vector<Energy> isoScalarWidths_;
181
185 vector<Energy> isoVectorMasses_;
186
190 vector<Energy> isoVectorWidths_;
191
199 vector<InvEnergy> isoScalarKStarAmp_;
200
204 vector<InvEnergy> isoVectorKStarAmp_;
205
209 vector<double> isoScalarKStarPhase_;
210
214 vector<double> isoVectorKStarPhase_;
215
219 vector<complex<InvEnergy> > isoScalarKStarCoup_;
220
224 vector<complex<InvEnergy> > isoVectorKStarCoup_;
226
230 double gKStar_;
231
235 Energy mKStarP_;
236
240 Energy mKStar0_;
241
245 Energy wKStarP_;
246
250 Energy wKStar0_;
251};
252
253}
254
255#endif /* Herwig_KKPiCurrent_H */
MEOption
Enum for the matrix element option.
Here is the documentation of the KKPiCurrent class.
Definition: KKPiCurrent.h:20
virtual void dataBaseOutput(ofstream &os, bool header, bool create) const
Output the setup information for the particle database.
KKPiCurrent()
The default constructor.
Energy wKStar0_
Width of the .
Definition: KKPiCurrent.h:250
vector< Energy > isoVectorWidths_
The widths of the intermediate resonances for the isovector piece.
Definition: KKPiCurrent.h:190
vector< Energy > isoScalarMasses_
The masses of the intermediate resonances for the isoscalar piece.
Definition: KKPiCurrent.h:175
void persistentOutput(PersistentOStream &os) const
Function used to write out object persistently.
virtual IBPtr fullclone() const
Make a clone of this object, possibly modifying the cloned object to make it sane.
void persistentInput(PersistentIStream &is, int version)
Function used to read in object persistently.
KKPiCurrent & operator=(const KKPiCurrent &)=delete
The assignment operator is private and must never be called.
vector< Energy > isoScalarWidths_
The widths of the intermediate resonances for the isoscalar piece.
Definition: KKPiCurrent.h:180
virtual tPDVector particles(int icharge, unsigned int imode, int iq, int ia)
The particles produced by the current.
virtual void doinit()
Initialize this object after the setup phase before saving an EventGenerator to disk.
vector< InvEnergy > isoVectorKStarAmp_
Amplitudes of the isovector couplings.
Definition: KKPiCurrent.h:204
virtual vector< LorentzPolarizationVectorE > current(tcPDPtr resonance, FlavourInfo flavour, const int imode, const int ichan, Energy &scale, const tPDVector &outgoing, const vector< Lorentz5Momentum > &momenta, DecayIntegrator::MEOption meopt) const
Hadronic current.
vector< double > isoVectorKStarPhase_
Phase of the isovector couplings.
Definition: KKPiCurrent.h:214
virtual IBPtr clone() const
Make a simple clone of this object.
vector< complex< InvEnergy > > isoScalarKStarCoup_
Isoscalar couplings.
Definition: KKPiCurrent.h:219
Energy mKStarP_
Mass of the .
Definition: KKPiCurrent.h:235
virtual bool createMode(int icharge, tcPDPtr resonance, FlavourInfo flavour, unsigned int imode, PhaseSpaceModePtr mode, unsigned int iloc, int ires, PhaseSpaceChannel phase, Energy upp)
Complete the construction of the decay mode for integration.classes inheriting from this one.
virtual unsigned int decayMode(vector< int > id)
Return the decay mode number for a given set of particles in the current.
virtual bool accept(vector< int > id)
Accept the decay.
vector< Energy > isoVectorMasses_
The masses of the intermediate resonances for the isovector piece.
Definition: KKPiCurrent.h:185
double gKStar_
Coupling for the to .
Definition: KKPiCurrent.h:230
Energy wKStarP_
Width of the .
Definition: KKPiCurrent.h:245
Energy mKStar0_
Mass of the .
Definition: KKPiCurrent.h:240
vector< complex< InvEnergy > > isoVectorKStarCoup_
Isovector couplings.
Definition: KKPiCurrent.h:224
static void Init()
The standard Init function used to initialize the interfaces.
vector< InvEnergy > isoScalarKStarAmp_
couplings
Definition: KKPiCurrent.h:199
vector< double > isoScalarKStarPhase_
Phase of the isoscalar couplings.
Definition: KKPiCurrent.h:209
This class is designed to store the information needed for a given phase-space channel for use by the...
The WeakCurrent class is the base class for the hadronic currents produced in weak decays.
Definition: WeakCurrent.h:59
-*- C++ -*-
ThePEG::Ptr< InterfacedBase >::pointer IBPtr
vector< tPDPtr > tPDVector
ThePEG::Ptr< ParticleData >::transient_const_pointer tcPDPtr