herwig is hosted by Hepforge, IPPP Durham
Herwig 7.3.0
PhiPiCurrent.h
1// -*- C++ -*-
2#ifndef Herwig_PhiPiCurrent_H
3#define Herwig_PhiPiCurrent_H
4//
5// This is the declaration of the PhiPiCurrent class.
6//
7
8#include "WeakCurrent.h"
9
10namespace Herwig {
11
12using namespace ThePEG;
13
22
23public:
24
29
30public:
31
52 virtual bool createMode(int icharge, tcPDPtr resonance,
53 FlavourInfo flavour,
54 unsigned int imode,PhaseSpaceModePtr mode,
55 unsigned int iloc,int ires,
56 PhaseSpaceChannel phase, Energy upp );
57
67 virtual tPDVector particles(int icharge, unsigned int imode, int iq, int ia);
69
83 virtual vector<LorentzPolarizationVectorE>
84 current(tcPDPtr resonance,
85 FlavourInfo flavour,
86 const int imode, const int ichan,Energy & scale,
87 const tPDVector & outgoing,
88 const vector<Lorentz5Momentum> & momenta,
89 DecayIntegrator::MEOption meopt) const;
90
94 virtual void constructSpinInfo(ParticleVector decay) const;
95
101 virtual bool accept(vector<int> id);
102
109 virtual unsigned int decayMode(vector<int> id);
110
117 virtual void dataBaseOutput(ofstream & os,bool header,bool create) const;
118
119public:
120
128
134 void persistentInput(PersistentIStream & is, int version);
136
143 static void Init();
144
145protected:
146
153 virtual IBPtr clone() const;
154
159 virtual IBPtr fullclone() const;
161
162protected:
163
169 virtual void doinit();
170
171private:
172
178
179private :
180
184 vector<Energy> rhoMasses_;
185
189 vector<Energy> rhoWidths_;
190
194 vector<InvEnergy> amp_;
195
199 vector<double> phase_;
200
204 vector<complex<InvEnergy> > wgts_;
205
209 vector<double> br4pi_;
210
214 Energy mpi_;
215
216};
217
218}
219
220#endif /* Herwig_PhiPiCurrent_H */
MEOption
Enum for the matrix element option.
This class is designed to store the information needed for a given phase-space channel for use by the...
The PhiPiCurrent class implements a current for using a current based on the model of Phys....
Definition: PhiPiCurrent.h:21
virtual unsigned int decayMode(vector< int > id)
Return the decay mode number for a given set of particles in the current.
PhiPiCurrent & operator=(const PhiPiCurrent &)=delete
The assignment operator is private and must never be called.
vector< double > br4pi_
The 4 branching ratios of the resonances.
Definition: PhiPiCurrent.h:209
virtual IBPtr fullclone() const
Make a clone of this object, possibly modifying the cloned object to make it sane.
vector< complex< InvEnergy > > wgts_
Weights of the different rho resonances in the current.
Definition: PhiPiCurrent.h:204
vector< InvEnergy > amp_
Ampltitudes for the different rhos in the current.
Definition: PhiPiCurrent.h:194
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 bool accept(vector< int > id)
Accept the decay.
PhiPiCurrent()
The default constructor.
virtual IBPtr clone() const
Make a simple clone of this object.
virtual void constructSpinInfo(ParticleVector decay) const
Construct the SpinInfo for the decay products.
virtual void dataBaseOutput(ofstream &os, bool header, bool create) const
Output the setup information for the particle database.
static void Init()
The standard Init function used to initialize the interfaces.
Energy mpi_
The pion mass.
Definition: PhiPiCurrent.h:214
virtual tPDVector particles(int icharge, unsigned int imode, int iq, int ia)
The particles produced by the current.
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 persistentOutput(PersistentOStream &os) const
Function used to write out object persistently.
vector< Energy > rhoMasses_
Masses of the resonances.
Definition: PhiPiCurrent.h:184
vector< double > phase_
Phases for the different rhos in the current.
Definition: PhiPiCurrent.h:199
virtual void doinit()
Initialize this object after the setup phase before saving an EventGenerator to disk.
void persistentInput(PersistentIStream &is, int version)
Function used to read in object persistently.
vector< Energy > rhoWidths_
Widths of the resonances.
Definition: PhiPiCurrent.h:189
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
vector< PPtr > ParticleVector
ThePEG::Ptr< ParticleData >::transient_const_pointer tcPDPtr