herwig is hosted by Hepforge, IPPP Durham
Herwig 7.3.0
EtaPiPiCurrent.h
1// -*- C++ -*-
2#ifndef Herwig_EtaPiPiCurrent_H
3#define Herwig_EtaPiPiCurrent_H
4//
5// This is the declaration of the EtaPiPiCurrent class.
6//
7
8#include "WeakCurrent.h"
9
10namespace Herwig {
11
12using namespace ThePEG;
13
22
23public:
24
29
30
51 virtual bool createMode(int icharge, tcPDPtr resonance,
52 FlavourInfo flavour,
53 unsigned int imode,PhaseSpaceModePtr mode,
54 unsigned int iloc,int ires,
55 PhaseSpaceChannel phase, Energy upp );
56
66 virtual tPDVector particles(int icharge, unsigned int imode, int iq, int ia);
68
82 virtual vector<LorentzPolarizationVectorE>
83 current(tcPDPtr resonance,
84 FlavourInfo flavour,
85 const int imode, const int ichan,Energy & scale,
86 const tPDVector & outgoing,
87 const vector<Lorentz5Momentum> & momenta,
88 DecayIntegrator::MEOption meopt) const;
89
95 virtual bool accept(vector<int> id);
96
102 virtual unsigned int decayMode(vector<int> id);
103
110 virtual void dataBaseOutput(ofstream & os,bool header,bool create) const;
111
112public:
113
121
127 void persistentInput(PersistentIStream & is, int version);
129
136 static void Init();
137
138protected:
139
146 virtual IBPtr clone() const;
147
152 virtual IBPtr fullclone() const;
154
155protected:
156
164 virtual void doinit();
166
167private:
168
174
175private:
176
180 vector<Complex> weights_;
181
185 vector<double> amp_;
186
190 vector<double> phase_;
191
195 vector<Energy> rhoMasses_;
196
200 vector<Energy> rhoWidths_;
201
205 Energy fpi_;
206
207};
208
209}
210
211#endif /* Herwig_EtaPiPiCurrent_H */
MEOption
Enum for the matrix element option.
The EtaPiPiCurrent class implements the weak current for two pions and the meson.
EtaPiPiCurrent()
The default constructor.
virtual void dataBaseOutput(ofstream &os, bool header, bool create) const
Output the setup information for the particle database.
void persistentOutput(PersistentOStream &os) const
Function used to write out object persistently.
vector< double > amp_
The amplitudes of the weights.
vector< double > phase_
The phases of the weights.
static void Init()
The standard Init function used to initialize the interfaces.
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.
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< Complex > weights_
The weights for the form factor.
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.
virtual unsigned int decayMode(vector< int > id)
Return the decay mode number for a given set of particles in the current.
vector< Energy > rhoMasses_
The masses of the resonances.
Energy fpi_
Pion decay constant.
virtual IBPtr fullclone() const
Make a clone of this object, possibly modifying the cloned object to make it sane.
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.
EtaPiPiCurrent & operator=(const EtaPiPiCurrent &)=delete
The assignment operator is private and must never be called.
virtual bool accept(vector< int > id)
Accept the decay.
vector< Energy > rhoWidths_
The widths of the resonances.
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