herwig is hosted by Hepforge, IPPP Durham
Herwig  7.2.1
SU3BaryonOctetOctetPhotonDecayer.h
1 // -*- C++ -*-
2 #ifndef HERWIG_SU3BaryonOctetOctetPhotonDecayer_H
3 #define HERWIG_SU3BaryonOctetOctetPhotonDecayer_H
4 // This is the declaration of the SU3BaryonOctetOctetPhotonDecayer class.
5 
6 #include "Baryon1MesonDecayerBase.h"
7 
8 namespace Herwig {
9 using namespace ThePEG;
10 
65 
66 public:
67 
72 
79  virtual int modeNumber(bool & cc, tcPDPtr parent,
80  const tPDVector & children) const;
81 
87  virtual void dataBaseOutput(ofstream & os,bool header) const;
88 
89 public:
90 
97  void persistentOutput(PersistentOStream & os) const;
98 
104  void persistentInput(PersistentIStream & is, int version);
106 
110  static void Init();
111 
112 protected:
113 
129  virtual void halfHalfVectorCoupling(int imode,Energy m0,Energy m1,Energy m2,
130  Complex& A1,Complex& A2,
131  Complex& B1,Complex& B2) const;
132 
146  virtual void threeHalfHalfVectorCoupling(int imode,Energy m0,Energy m1,Energy m2,
147  Complex& A1,Complex& A2,Complex& A3,
148  Complex& B1,Complex& B2,Complex& B3) const;
150 
151 protected:
152 
159  virtual IBPtr clone() const {return new_ptr(*this);}
160 
165  virtual IBPtr fullclone() const {return new_ptr(*this);}
167 
168 protected:
169 
172 
178  virtual void doinit();
179 
183  virtual void doinitrun();
185 
186 private:
187 
192  operator=(const SU3BaryonOctetOctetPhotonDecayer &) = delete;
193 
194 private:
195 
199  void setupModes(unsigned int) const;
200 
201 private:
202 
206  InvEnergy _lf;
207 
211  InvEnergy _ld;
212 
216  bool _parity;
217 
225  int _proton;
226 
230  int _neutron;
231 
235  int _sigma0;
236 
240  int _sigmap;
241 
245  int _sigmam;
246 
250  int _lambda;
251 
255  int _xi0;
256 
260  int _xim;
262 
263 
271  int _eproton;
272 
277 
281  int _esigma0;
282 
286  int _esigmap;
287 
291  int _esigmam;
292 
296  int _elambda;
297 
301  int _exi0;
302 
306  int _exim;
308 
312  mutable vector<int> _incomingB;
313 
317  mutable vector<int> _outgoingB;
318 
322  vector<double> _maxweight;
323 
327  mutable vector<InvEnergy> _prefactor;
328 };
329 
330 }
331 
332 
333 #endif /* HERWIG_SU3BaryonOctetOctetPhotonDecayer_H */
vector< double > _maxweight
the maximum weight for the various modes
int _proton
PDG codes for the lower lying baryon octet baryons.
int _elambda
The PDG code for the -like member of the outgoing octet.
std::complex< double > Complex
int _exi0
The PDG code for the -like member of the outgoing octet.
ThePEG::Ptr< InterfacedBase >::pointer IBPtr
virtual IBPtr fullclone() const
Make a clone of this object, possibly modifying the cloned object to make it sane.
int _xim
The PDG code for the -like member of the outgoing octet.
int _esigmam
The PDG code for the -like member of the outgoing octet.
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.
vector< int > _incomingB
PDG code for the incoming baryons.
vector< int > _outgoingB
PDG code for the outgoing baryons.
int _esigma0
The PDG code for the -like member of the outgoing octet.
InvEnergy _lf
The couplings of comutator term.
The Baryon1MesonDecayerBase class is the base class for the decay of a baryon to another baryon and a...
vector< tPDPtr > tPDVector
bool _parity
the relative parities of the two baryon multiplets
ThePEG::Ptr< ParticleData >::transient_const_pointer tcPDPtr
The SU3BaryonOctetOctetPhotonDecayer class performs the decay of a baryon octet to a different baryon...
int _exim
The PDG code for the -like member of the outgoing octet.
int _sigmap
The PDG code for the -like member of the outgoing octet.
int _neutron
The PDG code for the -like member of the outgoing octet.
-*- C++ -*-
vector< InvEnergy > _prefactor
The couplings for the different modes.
int _esigmap
The PDG code for the -like member of the outgoing octet.
int _eproton
PDG codes for the higher baryon octet baryons.
InvEnergy _ld
The couplings of anticomutator term.
int _lambda
The PDG code for the -like member of the outgoing octet.
int _eneutron
The PDG code for the -like member of the outgoing octet.
virtual IBPtr clone() const
Make a simple clone of this object.
int _xi0
The PDG code for the -like member of the outgoing octet.