herwig is hosted by Hepforge, IPPP Durham
Herwig  7.2.1
SU3BaryonSingletOctetScalarDecayer.h
1 // -*- C++ -*-
2 #ifndef HERWIG_SU3BaryonSingletOctetScalarDecayer_H
3 #define HERWIG_SU3BaryonSingletOctetScalarDecayer_H
4 // This is the declaration of the SU3BaryonSingletOctetScalarDecayer class.
5 
6 #include "Baryon1MesonDecayerBase.h"
7 
8 namespace Herwig {
9 using namespace ThePEG;
10 
50 
51 public:
52 
57 
64  virtual int modeNumber(bool & cc, tcPDPtr parent,
65  const tPDVector & children) const;
66 
72  virtual void dataBaseOutput(ofstream & os,bool header) const;
73 
74 public:
75 
82  void persistentOutput(PersistentOStream & os) const;
83 
89  void persistentInput(PersistentIStream & is, int version);
91 
95  static void Init();
96 
97 protected:
98 
112  virtual void halfHalfScalarCoupling(int imode,Energy m0,Energy m1,Energy m2,
113  Complex& A,Complex& B) const;
114 
124  virtual void threeHalfHalfScalarCoupling(int imode,Energy m0,Energy m1,Energy m2,
125  Complex& A,Complex& B) const;
127 
128 protected:
129 
136  virtual IBPtr clone() const {return new_ptr(*this);}
137 
142  virtual IBPtr fullclone() const {return new_ptr(*this);}
144 
145 protected:
146 
154  virtual void doinit();
155 
159  virtual void doinitrun();
161 
162 private:
163 
168 
169 private:
170 
174  void setupModes(unsigned int) const;
175 
176 private:
177 
181  double _c;
182 
186  bool _parity;
187 
191  Energy _fpi;
192 
200  int _proton;
201 
205  int _neutron;
206 
210  int _sigma0;
211 
215  int _sigmap;
216 
220  int _sigmam;
221 
225  int _lambda;
226 
230  int _xi0;
231 
235  int _xim;
237 
241  int _elambda;
242 
246  mutable vector<int> _outgoingB;
247 
251  mutable vector<int> _outgoingM;
252 
256  vector<double> _maxweight;
260  mutable vector<InvEnergy> _prefactor;
261 };
262 
263 }
264 
265 
266 #endif /* HERWIG_SU3BaryonSingletOctetScalarDecayer_H */
std::complex< double > Complex
int _sigmap
The PDG code for the -like member of the outgoing octet.
virtual IBPtr fullclone() const
Make a clone of this object, possibly modifying the cloned object to make it sane.
int _sigma0
The PDG code for the -like member of the outgoing octet.
int _sigmam
The PDG code for the -like member of the outgoing octet.
int _xi0
The PDG code for the -like member of the outgoing octet.
ThePEG::Ptr< InterfacedBase >::pointer IBPtr
vector< int > _outgoingB
PDG code for the outgoing baryons.
int _lambda
The PDG code for the -like member of the outgoing octet.
The Baryon1MesonDecayerBase class is the base class for the decay of a baryon to another baryon and a...
vector< tPDPtr > tPDVector
ThePEG::Ptr< ParticleData >::transient_const_pointer tcPDPtr
bool _parity
the relative parities of the two baryon multiplets
virtual IBPtr clone() const
Make a simple clone of this object.
vector< int > _outgoingM
PDG code for the outgoing mesons.
The SU3BaryonSingletOctetScalarDecayer class is a simple decayer for the strong decay of the excited ...
vector< double > _maxweight
the maximum weight for the various modes
int _xim
The PDG code for the -like member of the outgoing octet.
-*- C++ -*-
int _neutron
The PDG code for the -like member of the outgoing octet.
vector< InvEnergy > _prefactor
The couplings for the different modes.
int _proton
PDG codes for the various octet baryons.