herwig is hosted by Hepforge, IPPP Durham
Herwig 7.3.0
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
8namespace Herwig {
9using namespace ThePEG;
10
65
66public:
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
89public:
90
98
104 void persistentInput(PersistentIStream & is, int version);
106
110 static void Init();
111
112protected:
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
151protected:
152
159 virtual IBPtr clone() const {return new_ptr(*this);}
160
165 virtual IBPtr fullclone() const {return new_ptr(*this);}
167
168protected:
169
172
178 virtual void doinit();
179
183 virtual void doinitrun();
185
186private:
187
193
194private:
195
199 void setupModes(unsigned int) const;
200
201private:
202
206 InvEnergy _lf;
207
211 InvEnergy _ld;
212
217
226
231
236
241
246
251
255 int _xi0;
256
260 int _xim;
262
263
272
277
282
287
292
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 */
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 SU3BaryonOctetOctetPhotonDecayer class performs the decay of a baryon octet to a different baryon...
int _exi0
The PDG code for the -like member of the outgoing octet.
virtual int modeNumber(bool &cc, tcPDPtr parent, const tPDVector &children) const
Which of the possible decays is required.
int _proton
PDG codes for the lower lying baryon octet baryons.
void persistentOutput(PersistentOStream &os) const
Function used to write out object persistently.
vector< double > _maxweight
the maximum weight for the various modes
int _eproton
PDG codes for the higher baryon octet baryons.
int _xim
The PDG code for the -like member of the outgoing octet.
virtual void dataBaseOutput(ofstream &os, bool header) const
Output the setup information for the particle database.
int _esigmap
The PDG code for the -like member of the outgoing octet.
int _elambda
The PDG code for the -like member of the outgoing octet.
InvEnergy _ld
The couplings of anticomutator term.
virtual IBPtr clone() const
Make a simple clone of this object.
int _sigmam
The PDG code for the -like member of the outgoing octet.
vector< int > _outgoingB
PDG code for the outgoing baryons.
int _esigma0
The PDG code for the -like member of the outgoing octet.
SU3BaryonOctetOctetPhotonDecayer & operator=(const SU3BaryonOctetOctetPhotonDecayer &)=delete
Private and non-existent assignment operator.
int _exim
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 _xi0
The PDG code for the -like member of the outgoing octet.
virtual void doinit()
Initialize this object after the setup phase before saving and EventGenerator to disk.
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.
virtual IBPtr fullclone() const
Make a clone of this object, possibly modifying the cloned object to make it sane.
static void Init()
Standard Init function used to initialize the interfaces.
bool _parity
the relative parities of the two baryon multiplets
int _sigmap
The PDG code for the -like member of the outgoing octet.
int _eneutron
The PDG code for the -like member of the outgoing octet.
vector< int > _incomingB
PDG code for the incoming baryons.
int _neutron
The PDG code for the -like member of the outgoing octet.
vector< InvEnergy > _prefactor
The couplings for the different modes.
SU3BaryonOctetOctetPhotonDecayer()
Default constructor.
int _lambda
The PDG code for the -like member of the outgoing octet.
int _esigmam
The PDG code for the -like member of the outgoing octet.
virtual void doinitrun()
Initialize this object to the begining of the run phase.
void setupModes(unsigned int) const
set-up the modes
InvEnergy _lf
The couplings of comutator term.
virtual void halfHalfVectorCoupling(int imode, Energy m0, Energy m1, Energy m2, Complex &A1, Complex &A2, Complex &B1, Complex &B2) const
Coupling Members.
void persistentInput(PersistentIStream &is, int version)
Function used to read in object persistently.
-*- C++ -*-
std::complex< double > Complex
ThePEG::Ptr< InterfacedBase >::pointer IBPtr
vector< tPDPtr > tPDVector
ThePEG::Ptr< ParticleData >::transient_const_pointer tcPDPtr