herwig is hosted by Hepforge, IPPP Durham
Herwig 7.3.0
RadiativeHeavyBaryonDecayer.h
1// -*- C++ -*-
2#ifndef HERWIG_RadiativeHeavyBaryonDecayer_H
3#define HERWIG_RadiativeHeavyBaryonDecayer_H
4//
5// This is the declaration of the RadiativeHeavyBaryonDecayer class.
6//
7
8#include "Baryon1MesonDecayerBase.h"
9
10namespace Herwig {
11using namespace Herwig;
12
37
38public:
39
46 virtual int modeNumber(bool & cc, tcPDPtr parent,
47 const tPDVector & children) const;
48
54 virtual void dataBaseOutput(ofstream & os,bool header) const;
55
56public:
57
65
71 void persistentInput(PersistentIStream & is, int version);
73
80 static void Init();
81
82protected:
83
99 virtual void halfHalfVectorCoupling(int imode,Energy m0,Energy m1,Energy m2,
100 Complex& A1,Complex& A2,
101 Complex& B1,Complex& B2) const;
102
116 virtual void threeHalfHalfVectorCoupling(int imode,Energy m0,Energy m1,Energy m2,
117 Complex& A1,Complex& A2,Complex& A3,
118 Complex& B1,Complex& B2,Complex& B3) const;
120
121protected:
122
129 virtual IBPtr clone() const {return new_ptr(*this);}
130
135 virtual IBPtr fullclone() const {return new_ptr(*this);}
137
138protected:
139
147 virtual void doinit();
148
153 virtual void doinitrun();
155
156private:
157
163
164public:
165
169 string setUpDecayMode(string arg);
170
171private:
172
176 vector<InvEnergy> M1Coupling_;
177
181 vector<InvEnergy2> E1Coupling_;
182
186 vector<int> incoming_;
187
191 vector<int> outgoing_;
192
196 vector<int> modeType_;
197
201 vector<double> maxWeight_;
202};
203
204}
205
206#endif /* HERWIG_RadiativeHeavyBaryonDecayer_H */
The Baryon1MesonDecayerBase class is the base class for the decay of a baryon to another baryon and a...
int imode() const
The mode being used for this decay.
The RadiativeHeavyBaryonDecayer class is designed for the radiative decay of a baryon containing a he...
vector< int > modeType_
The type of matrix element.
vector< int > incoming_
PDG code for the incoming baryons.
virtual void doinitrun()
Initialize this object.
vector< int > outgoing_
PDG code for the outgoing baryons.
virtual int modeNumber(bool &cc, tcPDPtr parent, const tPDVector &children) const
Which of the possible decays is required.
virtual void halfHalfVectorCoupling(int imode, Energy m0, Energy m1, Energy m2, Complex &A1, Complex &A2, Complex &B1, Complex &B2) const
Coupling Members.
virtual void doinit()
Initialize this object after the setup phase before saving and EventGenerator to disk.
string setUpDecayMode(string arg)
Set the parameters for a decay mode.
void persistentInput(PersistentIStream &is, int version)
Function used to read in object persistently.
virtual IBPtr clone() const
Make a simple clone of this object.
void persistentOutput(PersistentOStream &os) const
Function used to write out object persistently.
virtual void threeHalfHalfVectorCoupling(int imode, Energy m0, Energy m1, Energy m2, Complex &A1, Complex &A2, Complex &A3, Complex &B1, Complex &B2, Complex &B3) const
Couplings for spin- to spin- and a vector.
vector< InvEnergy2 > E1Coupling_
The coupling.
RadiativeHeavyBaryonDecayer & operator=(const RadiativeHeavyBaryonDecayer &)=delete
The assignment operator is private and must never be called.
virtual IBPtr fullclone() const
Make a clone of this object, possibly modifying the cloned object to make it sane.
vector< InvEnergy > M1Coupling_
The coupling.
virtual void dataBaseOutput(ofstream &os, bool header) const
Output the setup information for the particle database.
static void Init()
The standard Init function used to initialize the interfaces.
-*- C++ -*-
std::complex< double > Complex
ThePEG::Ptr< InterfacedBase >::pointer IBPtr
vector< tPDPtr > tPDVector
ThePEG::Ptr< ParticleData >::transient_const_pointer tcPDPtr