herwig is hosted by Hepforge, IPPP Durham
Herwig 7.3.0
NonLeptonicHyperonDecayer.h
1// -*- C++ -*-
2#ifndef HERWIG_NonLeptonicHyperonDecayer_H
3#define HERWIG_NonLeptonicHyperonDecayer_H
4//
5// This is the declaration of the NonLeptonicHyperonDecayer class.
6//
7#include "Baryon1MesonDecayerBase.h"
8
9namespace Herwig {
10using namespace ThePEG;
11
27
28public:
29
34
41 virtual int modeNumber(bool & cc, tcPDPtr parent,
42 const tPDVector & children) const;
43
44
50 virtual void dataBaseOutput(ofstream & os,bool header) const;
51
52public:
53
61
67 void persistentInput(PersistentIStream & is, int version);
69
73 static void Init();
74
75protected:
76
90 virtual void halfHalfScalarCoupling(int imode,Energy m0,Energy m1,Energy m2,
91 Complex& A,Complex& B) const;
92
93protected:
94
101 virtual IBPtr clone() const {return new_ptr(*this);}
102
107 virtual IBPtr fullclone() const {return new_ptr(*this);}
109
110protected:
111
114
120 virtual void doinit();
121
125 virtual void doinitrun();
127
128protected:
129
134
135public:
136
140 string setUpDecayMode(string arg);
141
142private:
143
147 vector<long> incoming_;
148
152 vector<pair<long,long> > outgoing_;
153
157 vector<double> a_;
158
162 vector<double> b_;
163
167 vector<double> maxweight_;
168};
169
170}
171
172
173#endif /* HERWIG_NonLeptonicHyperonDecayer_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.
This is a general class for the non-leptonic decay of hyperons.
vector< double > maxweight_
the maximum weights for the decays
virtual IBPtr fullclone() const
Make a clone of this object, possibly modifying the cloned object to make it sane.
vector< pair< long, long > > outgoing_
PDG code for the outgoing baryon.
vector< double > b_
The coefficient.
virtual int modeNumber(bool &cc, tcPDPtr parent, const tPDVector &children) const
Which of the possible decays is required.
void persistentOutput(PersistentOStream &os) const
Function used to write out object persistently.
void persistentInput(PersistentIStream &is, int version)
Function used to read in object persistently.
string setUpDecayMode(string arg)
Set the parameters for a decay mode.
virtual void halfHalfScalarCoupling(int imode, Energy m0, Energy m1, Energy m2, Complex &A, Complex &B) const
Coupling Members.
vector< double > a_
The coefficient.
virtual void doinit()
Initialize this object after the setup phase before saving and EventGenerator to disk.
static void Init()
Standard Init function used to initialize the interfaces.
NonLeptonicHyperonDecayer()
Default constructor.
vector< long > incoming_
PDG code for the incoming baryon.
virtual void doinitrun()
Initialize this object to the begining of the run phase.
virtual void dataBaseOutput(ofstream &os, bool header) const
Output the setup information for the particle database.
virtual IBPtr clone() const
Make a simple clone of this object.
NonLeptonicHyperonDecayer & operator=(const NonLeptonicHyperonDecayer &)=delete
Private and non-existent assignment operator.
-*- C++ -*-
std::complex< double > Complex
ThePEG::Ptr< InterfacedBase >::pointer IBPtr
vector< tPDPtr > tPDVector
ThePEG::Ptr< ParticleData >::transient_const_pointer tcPDPtr