herwig is hosted by Hepforge, IPPP Durham
Herwig  7.2.1
NonLeptonicHyperonDecayer.h
1 // -*- C++ -*-
2 #ifndef HERWIG_NonLeptonicHyperonDecayer_H
3 #define HERWIG_NonLeptonicHyperonDecayer_H
4 //
5 // This is the declaration of the NonLeptonicHyperonDecayer class.
6 //
7 #include "Baryon1MesonDecayerBase.h"
8 
9 namespace Herwig {
10 using namespace ThePEG;
11 
27 
28 public:
29 
34 
41  virtual int modeNumber(bool & cc, tcPDPtr parent,
42  const tPDVector & children) const;
43 
44 
50  virtual void dataBaseOutput(ofstream & os,bool header) const;
51 
52 public:
53 
60  void persistentOutput(PersistentOStream & os) const;
61 
67  void persistentInput(PersistentIStream & is, int version);
69 
73  static void Init();
74 
75 protected:
76 
90  virtual void halfHalfScalarCoupling(int imode,Energy m0,Energy m1,Energy m2,
91  Complex& A,Complex& B) const;
92 
93 protected:
94 
101  virtual IBPtr clone() const {return new_ptr(*this);}
102 
107  virtual IBPtr fullclone() const {return new_ptr(*this);}
109 
110 protected:
111 
114 
120  virtual void doinit();
121 
125  virtual void doinitrun();
127 
128 protected:
129 
133  NonLeptonicHyperonDecayer & operator=(const NonLeptonicHyperonDecayer &) = delete;
134 
135 private:
136 
140  vector<long> _incomingB;
141 
145  vector<long> _outgoingB;
146 
150  vector<long> _outgoingM;
151 
155  vector<double> _a;
156 
160  vector<double> _b;
161 
165  vector<double> _maxweight;
166 
170  unsigned int _initsize;
171 };
172 
173 }
174 
175 
176 #endif /* HERWIG_NonLeptonicHyperonDecayer_H */
std::complex< double > Complex
virtual IBPtr fullclone() const
Make a clone of this object, possibly modifying the cloned object to make it sane.
vector< long > _outgoingM
PDG code for the outgoing meson.
ThePEG::Ptr< InterfacedBase >::pointer IBPtr
vector< double > _maxweight
the maximum weights for the decays
vector< double > _b
The coefficient.
unsigned int _initsize
initial size fo the vectors
The Baryon1MesonDecayerBase class is the base class for the decay of a baryon to another baryon and a...
vector< double > _a
The coefficient.
vector< tPDPtr > tPDVector
ThePEG::Ptr< ParticleData >::transient_const_pointer tcPDPtr
-*- C++ -*-
vector< long > _outgoingB
PDG code for the outgoing baryon.
This is a general class for the non-leptonic decay of hyperons.
vector< long > _incomingB
PDG code for the incoming baryon.
virtual IBPtr clone() const
Make a simple clone of this object.