herwig
is hosted by
Hepforge
,
IPPP Durham
Herwig
7.3.0
Decay
ScalarMeson
EtaPiPiPiDecayer.h
1
// -*- C++ -*-
2
//
3
// EtaPiPiPiDecayer.h is a part of Herwig - A multi-purpose Monte Carlo event generator
4
// Copyright (C) 2002-2019 The Herwig Collaboration
5
//
6
// Herwig is licenced under version 3 of the GPL, see COPYING for details.
7
// Please respect the MCnet academic guidelines, see GUIDELINES for details.
8
//
9
#ifndef HERWIG_EtaPiPiPiDecayer_H
10
#define HERWIG_EtaPiPiPiDecayer_H
11
// This is the declaration of the EtaPiPiPiDecayer class.
12
13
#include "Herwig/Decay/DecayIntegrator.h"
14
#include "Herwig/Decay/PhaseSpaceMode.h"
15
16
namespace
Herwig
{
17
using namespace
ThePEG
;
18
44
class
EtaPiPiPiDecayer
:
public
DecayIntegrator
{
45
46
public
:
47
51
EtaPiPiPiDecayer
() {
52
// no intermediates
53
generateIntermediates
(
false
);
54
}
55
56
63
virtual
int
modeNumber
(
bool
& cc,
tcPDPtr
parent,
64
const
tPDVector
& children)
const
;
65
75
double
me2
(
const
int
ichan,
const
Particle
& part,
76
const
tPDVector
&
outgoing
,
77
const
vector<Lorentz5Momentum> & momenta,
78
MEOption
meopt)
const
;
79
83
virtual
void
constructSpinInfo
(
const
Particle
& part,
84
ParticleVector
outgoing
)
const
;
85
91
virtual
WidthCalculatorBasePtr
threeBodyMEIntegrator
(
const
DecayMode
& dm)
const
;
92
103
virtual
InvEnergy
threeBodydGammads
(
const
int
imode
,
const
Energy2 q2,
const
Energy2 s,
104
const
Energy m1,
const
Energy m2,
105
const
Energy m3)
const
;
106
112
virtual
void
dataBaseOutput
(ofstream & os,
bool
header)
const
;
113
114
public
:
115
122
void
persistentOutput
(
PersistentOStream
& os)
const
;
123
129
void
persistentInput
(
PersistentIStream
& is,
int
version);
131
135
static
void
Init
();
136
137
protected
:
138
145
virtual
IBPtr
clone
()
const
{
return
new_ptr(*
this
);}
146
151
virtual
IBPtr
fullclone
()
const
{
return
new_ptr(*
this
);}
153
154
protected
:
155
163
virtual
void
doinit
();
164
168
virtual
void
doinitrun
();
170
171
private
:
172
176
EtaPiPiPiDecayer
&
operator=
(
const
EtaPiPiPiDecayer
&) =
delete
;
177
178
public
:
179
183
string
setUpDecayMode
(
string
arg);
184
185
private
:
186
190
vector<int>
incoming_
;
191
195
vector<int>
outgoing_
;
196
200
vector<bool>
charged_
;
201
205
vector<double>
prefactor_
;
206
210
//*{
214
vector<double>
a_
;
215
219
vector<double>
b_
;
220
224
vector<double>
c_
;
226
230
vector<double>
maxWeight_
;
231
235
mutable
RhoDMatrix
rho_
;
236
};
237
238
}
239
240
241
#endif
/* HERWIG_EtaPiPiPiDecayer_H */
Herwig::DecayIntegrator
Main class for Decayers implementing multi-channel phase space integration.
Definition:
DecayIntegrator.h:60
Herwig::DecayIntegrator::imode
int imode() const
The mode being used for this decay.
Definition:
DecayIntegrator.h:118
Herwig::DecayIntegrator::generateIntermediates
bool generateIntermediates() const
Set whether or not the intermediates are included.
Definition:
DecayIntegrator.h:389
Herwig::DecayIntegrator::MEOption
MEOption
Enum for the matrix element option.
Definition:
DecayIntegrator.h:72
Herwig::EtaPiPiPiDecayer
The EtaPiPiPiDecayer class is designed for the simulation of the decay of the or to either or and...
Definition:
EtaPiPiPiDecayer.h:44
Herwig::EtaPiPiPiDecayer::a_
vector< double > a_
The constants for the matrix elements.
Definition:
EtaPiPiPiDecayer.h:214
Herwig::EtaPiPiPiDecayer::b_
vector< double > b_
The constant.
Definition:
EtaPiPiPiDecayer.h:219
Herwig::EtaPiPiPiDecayer::me2
double me2(const int ichan, const Particle &part, const tPDVector &outgoing, const vector< Lorentz5Momentum > &momenta, MEOption meopt) const
Return the matrix element squared for a given mode and phase-space channel.
Herwig::EtaPiPiPiDecayer::fullclone
virtual IBPtr fullclone() const
Make a clone of this object, possibly modifying the cloned object to make it sane.
Definition:
EtaPiPiPiDecayer.h:151
Herwig::EtaPiPiPiDecayer::constructSpinInfo
virtual void constructSpinInfo(const Particle &part, ParticleVector outgoing) const
Construct the SpinInfos for the particles produced in the decay.
Herwig::EtaPiPiPiDecayer::incoming_
vector< int > incoming_
the id of the incoming particle
Definition:
EtaPiPiPiDecayer.h:190
Herwig::EtaPiPiPiDecayer::prefactor_
vector< double > prefactor_
the prefactor for the decay
Definition:
EtaPiPiPiDecayer.h:205
Herwig::EtaPiPiPiDecayer::c_
vector< double > c_
The constant.
Definition:
EtaPiPiPiDecayer.h:224
Herwig::EtaPiPiPiDecayer::rho_
RhoDMatrix rho_
Spin density matrix.
Definition:
EtaPiPiPiDecayer.h:235
Herwig::EtaPiPiPiDecayer::EtaPiPiPiDecayer
EtaPiPiPiDecayer()
Default constructor.
Definition:
EtaPiPiPiDecayer.h:51
Herwig::EtaPiPiPiDecayer::outgoing_
vector< int > outgoing_
the id of the last neutral meson
Definition:
EtaPiPiPiDecayer.h:195
Herwig::EtaPiPiPiDecayer::clone
virtual IBPtr clone() const
Make a simple clone of this object.
Definition:
EtaPiPiPiDecayer.h:145
Herwig::EtaPiPiPiDecayer::dataBaseOutput
virtual void dataBaseOutput(ofstream &os, bool header) const
Output the setup information for the particle database.
Herwig::EtaPiPiPiDecayer::charged_
vector< bool > charged_
whether the pions are charged or neutral
Definition:
EtaPiPiPiDecayer.h:200
Herwig::EtaPiPiPiDecayer::modeNumber
virtual int modeNumber(bool &cc, tcPDPtr parent, const tPDVector &children) const
Which of the possible decays is required.
Herwig::EtaPiPiPiDecayer::doinit
virtual void doinit()
Initialize this object after the setup phase before saving and EventGenerator to disk.
Herwig::EtaPiPiPiDecayer::maxWeight_
vector< double > maxWeight_
maximum weights
Definition:
EtaPiPiPiDecayer.h:230
Herwig::EtaPiPiPiDecayer::persistentInput
void persistentInput(PersistentIStream &is, int version)
Function used to read in object persistently.
Herwig::EtaPiPiPiDecayer::persistentOutput
void persistentOutput(PersistentOStream &os) const
Function used to write out object persistently.
Herwig::EtaPiPiPiDecayer::threeBodydGammads
virtual InvEnergy threeBodydGammads(const int imode, const Energy2 q2, const Energy2 s, const Energy m1, const Energy m2, const Energy m3) const
The differential three body decay rate with one integral performed.
Herwig::EtaPiPiPiDecayer::Init
static void Init()
Standard Init function used to initialize the interfaces.
Herwig::EtaPiPiPiDecayer::setUpDecayMode
string setUpDecayMode(string arg)
Set the parameters for a decay mode.
Herwig::EtaPiPiPiDecayer::operator=
EtaPiPiPiDecayer & operator=(const EtaPiPiPiDecayer &)=delete
Private and non-existent assignment operator.
Herwig::EtaPiPiPiDecayer::doinitrun
virtual void doinitrun()
Initialize this object to the begining of the run phase.
Herwig::EtaPiPiPiDecayer::threeBodyMEIntegrator
virtual WidthCalculatorBasePtr threeBodyMEIntegrator(const DecayMode &dm) const
Method to return an object to calculate the 3 body partial width.
ThePEG::DecayMode
ThePEG::Particle
ThePEG::PersistentIStream
ThePEG::PersistentOStream
ThePEG::RhoDMatrix
Herwig
-*- C++ -*-
Definition:
BasicConsistency.h:17
ThePEG::Helicity::outgoing
outgoing
ThePEG
ThePEG::IBPtr
ThePEG::Ptr< InterfacedBase >::pointer IBPtr
ThePEG::tPDVector
vector< tPDPtr > tPDVector
ThePEG::ParticleVector
vector< PPtr > ParticleVector
ThePEG::tcPDPtr
ThePEG::Ptr< ParticleData >::transient_const_pointer tcPDPtr
Generated on Thu Jun 20 2024 17:50:52 for Herwig by
1.9.6