herwig is hosted by Hepforge, IPPP Durham
Herwig 7.3.0
SU3BaryonSingletOctetPhotonDecayer.h
1// -*- C++ -*-
2#ifndef THEPEG_SU3BaryonSingletOctetPhotonDecayer_H
3#define THEPEG_SU3BaryonSingletOctetPhotonDecayer_H
4// This is the declaration of the SU3BaryonSingletOctetPhotonDecayer class.
5
6#include "Baryon1MesonDecayerBase.h"
7
8namespace Herwig {
9using namespace ThePEG;
10
56
57public:
58
63
70 virtual int modeNumber(bool & cc, tcPDPtr parent,
71 const tPDVector & children) const;
72
78 virtual void dataBaseOutput(ofstream & os,bool header) const;
79
80public:
81
89
95 void persistentInput(PersistentIStream & is, int version);
97
101 static void Init();
102
103protected:
104
120 virtual void halfHalfVectorCoupling(int imode,Energy m0,Energy m1,Energy m2,
121 Complex& A1,Complex& A2,
122 Complex& B1,Complex& B2) const;
123
137 virtual void threeHalfHalfVectorCoupling(int imode,Energy m0,Energy m1,Energy m2,
138 Complex& A1,Complex& A2,Complex& A3,
139 Complex& B1,Complex& B2,Complex& B3) const;
141
142protected:
143
150 virtual IBPtr clone() const {return new_ptr(*this);}
151
156 virtual IBPtr fullclone() const {return new_ptr(*this);}
158
159protected:
160
168 virtual void doinit();
169
173 virtual void doinitrun();
175
176private:
177
182
183private:
184
188 void setupModes(unsigned int) const;
189
190private:
191
195 InvEnergy _c;
196
201
210
215
220
224 mutable vector<int> _outgoingB;
225
229 vector<double> _maxweight;
230
234 mutable vector<InvEnergy> _prefactor;
235};
236
237}
238
239
240#endif /* THEPEG_SU3BaryonSingletOctetPhotonDecayer_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 SU3BaryonSingletOctetPhotonDecayer class performs the radiative decay of an singlet baryon to an...
vector< InvEnergy > _prefactor
The couplings for the different modes.
SU3BaryonSingletOctetPhotonDecayer & operator=(const SU3BaryonSingletOctetPhotonDecayer &)=delete
Private and non-existent assignment operator.
int _lambda
The PDG code for the -like member of the outgoing octet.
int _sigma0
PDG codes for the lower lying baryon octet baryons.
virtual IBPtr clone() const
Make a simple clone of this object.
void persistentOutput(PersistentOStream &os) const
Function used to write out object persistently.
virtual void halfHalfVectorCoupling(int imode, Energy m0, Energy m1, Energy m2, Complex &A1, Complex &A2, Complex &B1, Complex &B2) const
Coupling Members.
vector< int > _outgoingB
outgoing baryon for the various modes
void persistentInput(PersistentIStream &is, int version)
Function used to read in object persistently.
virtual void doinitrun()
Initialize this object to the begining of the run phase.
SU3BaryonSingletOctetPhotonDecayer()
Default constructor.
int _elambda
PDG code for the various excited baryon.
static void Init()
Standard Init function used to initialize the interfaces.
virtual void dataBaseOutput(ofstream &os, bool header) const
Output the setup information for the particle database.
virtual int modeNumber(bool &cc, tcPDPtr parent, const tPDVector &children) const
Which of the possible decays is required.
bool _parity
the relative parities of the two baryon multiplets
vector< double > _maxweight
the maximum weight for the various modes
virtual void doinit()
Initialize this object after the setup phase before saving and EventGenerator to disk.
void setupModes(unsigned int) const
set-up the modes
virtual IBPtr fullclone() const
Make a clone of this object, possibly modifying the cloned object to make it sane.
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.
-*- C++ -*-
std::complex< double > Complex
ThePEG::Ptr< InterfacedBase >::pointer IBPtr
vector< tPDPtr > tPDVector
ThePEG::Ptr< ParticleData >::transient_const_pointer tcPDPtr