herwig is hosted by Hepforge, IPPP Durham
Herwig 7.3.0
EtaPrimePiPiCurrent.h
1// -*- C++ -*-
2#ifndef Herwig_EtaPrimePiPiCurrent_H
3#define Herwig_EtaPrimePiPiCurrent_H
4//
5// This is the declaration of the EtaPrimePiPiCurrent 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_EtaPrimePiPiCurrent_H */
MEOption
Enum for the matrix element option.
The EtaPrimePiPiCurrent class implements the weak current for two pions and the meson.
virtual tPDVector particles(int icharge, unsigned int imode, int iq, int ia)
The particles produced by the current.
static void Init()
The standard Init function used to initialize the interfaces.
virtual IBPtr clone() const
Make a simple clone of this object.
void persistentInput(PersistentIStream &is, int version)
Function used to read in object persistently.
vector< Complex > weights_
The weights for the form factor.
vector< double > amp_
The amplitudes of the weights.
vector< double > phase_
The phases of the weights.
vector< Energy > rhoMasses_
The masses of the resonances.
virtual unsigned int decayMode(vector< int > id)
Return the decay mode number for a given set of particles in the current.
void persistentOutput(PersistentOStream &os) const
Function used to write out object persistently.
EtaPrimePiPiCurrent & operator=(const EtaPrimePiPiCurrent &)=delete
The assignment operator is private and must never be called.
Energy fpi_
Pion decay constant.
virtual void dataBaseOutput(ofstream &os, bool header, bool create) const
Output the setup information for the particle database.
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 IBPtr fullclone() const
Make a clone of this object, possibly modifying the cloned object to make it sane.
EtaPrimePiPiCurrent()
The default constructor.
virtual void doinit()
Initialize this object after the setup phase before saving an EventGenerator to disk.
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.
vector< Energy > rhoWidths_
The widths of the resonances.
virtual bool accept(vector< int > id)
Accept the decay.
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