herwig is hosted by Hepforge, IPPP Durham
Herwig  7.2.1
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 
8 namespace Herwig {
9 using namespace ThePEG;
10 
56 
57 public:
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 
80 public:
81 
88  void persistentOutput(PersistentOStream & os) const;
89 
95  void persistentInput(PersistentIStream & is, int version);
97 
101  static void Init();
102 
103 protected:
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 
142 protected:
143 
150  virtual IBPtr clone() const {return new_ptr(*this);}
151 
156  virtual IBPtr fullclone() const {return new_ptr(*this);}
158 
159 protected:
160 
168  virtual void doinit();
169 
173  virtual void doinitrun();
175 
176 private:
177 
182 
183 private:
184 
188  void setupModes(unsigned int) const;
189 
190 private:
191 
195  InvEnergy _c;
196 
200  bool _parity;
201 
209  int _sigma0;
210 
214  int _lambda;
215 
219  int _elambda;
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 */
virtual IBPtr fullclone() const
Make a clone of this object, possibly modifying the cloned object to make it sane.
int _lambda
The PDG code for the -like member of the outgoing octet.
std::complex< double > Complex
vector< int > _outgoingB
outgoing baryon for the various modes
virtual IBPtr clone() const
Make a simple clone of this object.
ThePEG::Ptr< InterfacedBase >::pointer IBPtr
The SU3BaryonSingletOctetPhotonDecayer class performs the radiative decay of an singlet baryon to an...
int _sigma0
PDG codes for the lower lying baryon octet baryons.
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
vector< double > _maxweight
the maximum weight for the various modes
int _elambda
PDG code for the various excited baryon.
vector< InvEnergy > _prefactor
The couplings for the different modes.
-*- C++ -*-
bool _parity
the relative parities of the two baryon multiplets