herwig is hosted by Hepforge, IPPP Durham
Herwig 7.3.0
RadiativeHyperonDecayer.h
1// -*- C++ -*-
2#ifndef HERWIG_RadiativeHyperonDecayer_H
3#define HERWIG_RadiativeHyperonDecayer_H
4//
5// This is the declaration of the RadiativeHyperonDecayer class.
6//
7
8#include "Baryon1MesonDecayerBase.h"
9
10namespace Herwig {
11
12using namespace ThePEG;
13
23
24public:
25
32 virtual int modeNumber(bool & cc, tcPDPtr parent,
33 const tPDVector & children) const;
34
35
41 virtual void dataBaseOutput(ofstream & os,bool header) const;
42
43public:
44
52
58 void persistentInput(PersistentIStream & is, int version);
60
67 static void Init();
68protected:
69
74
88 virtual void halfHalfVectorCoupling(int imode, Energy m0, Energy m1, Energy m2,
89 Complex& A1,Complex& A2,
90 Complex& B1,Complex& B2) const;
92
93protected:
94
101 virtual IBPtr clone() const;
102
107 virtual IBPtr fullclone() const;
109
110protected:
111
114
120 virtual void doinit();
121
125 virtual void doinitrun();
127
128private:
129
135
136public:
137
141 string setUpDecayMode(string arg);
142
143private:
144
148 vector<long> incomingB_;
149
153 vector<long> outgoingB_;
154
158 vector<InvEnergy> A_;
159
163 vector<InvEnergy> B_;
164
168 vector<double> maxweight_;
169};
170
171}
172
173#endif /* HERWIG_RadiativeHyperonDecayer_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 RadiativeHyperonDecayer class provides the matrix elements for the decay of hyperons in which a p...
vector< InvEnergy > B_
The coefficient.
virtual void halfHalfVectorCoupling(int imode, Energy m0, Energy m1, Energy m2, Complex &A1, Complex &A2, Complex &B1, Complex &B2) const
Coupling Members.
vector< InvEnergy > A_
The coefficient.
vector< double > maxweight_
the maximum weights for the decays
virtual void doinit()
Initialize this object after the setup phase before saving and EventGenerator to disk.
void persistentOutput(PersistentOStream &os) const
Function used to write out object persistently.
static void Init()
The standard Init function used to initialize the interfaces.
vector< long > outgoingB_
PDG code for the outgoing baryon.
virtual IBPtr clone() const
Make a simple clone of this object.
virtual void doinitrun()
Initialize this object to the begining of the run phase.
virtual IBPtr fullclone() const
Make a clone of this object, possibly modifying the cloned object to make it sane.
virtual void dataBaseOutput(ofstream &os, bool header) const
Output the setup information for the particle database.
string setUpDecayMode(string arg)
Set the parameters for a decay mode.
vector< long > incomingB_
PDG code for the incoming baryon.
void persistentInput(PersistentIStream &is, int version)
Function used to read in object persistently.
virtual int modeNumber(bool &cc, tcPDPtr parent, const tPDVector &children) const
Which of the possible decays is required.
RadiativeHyperonDecayer & operator=(const RadiativeHyperonDecayer &)=delete
The assignment operator is private and must never be called.
-*- C++ -*-
std::complex< double > Complex
ThePEG::Ptr< InterfacedBase >::pointer IBPtr
vector< tPDPtr > tPDVector
ThePEG::Ptr< ParticleData >::transient_const_pointer tcPDPtr