herwig is hosted by Hepforge, IPPP Durham
Herwig 7.3.0
RadiativeDoublyHeavyBaryonDecayer.h
1// -*- C++ -*-
2#ifndef HERWIG_RadiativeDoublyHeavyBaryonDecayer_H
3#define HERWIG_RadiativeDoublyHeavyBaryonDecayer_H
4//
5// This is the declaration of the RadiativeDoublyHeavyBaryonDecayer class.
6//
7
8#include "Baryon1MesonDecayerBase.h"
9
10namespace Herwig {
11using namespace Herwig;
12
31
32public:
33
40 virtual int modeNumber(bool & cc, tcPDPtr parent,
41 const tPDVector & children) const;
42
48 virtual void dataBaseOutput(ofstream & os,bool header) const;
49
50public:
51
59
65 void persistentInput(PersistentIStream & is, int version);
67
74 static void Init();
75
76protected:
77
93 virtual void halfHalfVectorCoupling(int imode,Energy m0,Energy m1,Energy m2,
94 Complex& A1,Complex& A2,
95 Complex& B1,Complex& B2) const;
96
110 virtual void threeHalfHalfVectorCoupling(int imode,Energy m0,Energy m1,Energy m2,
111 Complex& A1,Complex& A2,Complex& A3,
112 Complex& B1,Complex& B2,Complex& B3) const;
114
115protected:
116
123 virtual IBPtr clone() const {return new_ptr(*this);}
124
129 virtual IBPtr fullclone() const {return new_ptr(*this);}
131
132protected:
133
141 virtual void doinit();
142
147 virtual void doinitrun();
149
150private:
151
157
158public:
159
163 string setUpDecayMode(string arg);
164
165private:
166
170 vector<InvEnergy2> coupling_;
171
175 vector<int> incoming_;
176
180 vector<int> outgoing_;
181
185 vector<double> maxWeight_;
186};
187
188}
189
190#endif /* HERWIG_RadiativeDoublyHeavyBaryonDecayer_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 RadiativeDoublyHeavyBaryonDecayer class is designed for the radiative decay of a baryon containin...
static void Init()
The standard Init function used to initialize the interfaces.
virtual void doinitrun()
Initialize this object.
virtual void doinit()
Initialize this object after the setup phase before saving and EventGenerator to disk.
virtual void halfHalfVectorCoupling(int imode, Energy m0, Energy m1, Energy m2, Complex &A1, Complex &A2, Complex &B1, Complex &B2) const
Coupling Members.
RadiativeDoublyHeavyBaryonDecayer & operator=(const RadiativeDoublyHeavyBaryonDecayer &)=delete
The assignment operator is private and must never be called.
string setUpDecayMode(string arg)
Set the parameters for a decay mode.
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.
void persistentInput(PersistentIStream &is, int version)
Function used to read in object persistently.
vector< int > outgoing_
PDG code for the outgoing baryons.
virtual int modeNumber(bool &cc, tcPDPtr parent, const tPDVector &children) const
Which of the possible decays is required.
virtual IBPtr clone() const
Make a simple clone of this object.
virtual void dataBaseOutput(ofstream &os, bool header) const
Output the setup information for the particle database.
vector< int > incoming_
PDG code for the incoming baryons.
void persistentOutput(PersistentOStream &os) const
Function used to write out object persistently.
virtual IBPtr fullclone() const
Make a clone of this object, possibly modifying the cloned object to make it sane.
-*- C++ -*-
std::complex< double > Complex
ThePEG::Ptr< InterfacedBase >::pointer IBPtr
vector< tPDPtr > tPDVector
ThePEG::Ptr< ParticleData >::transient_const_pointer tcPDPtr