herwig
is hosted by
Hepforge
,
IPPP Durham
Herwig
7.2.1
Decay
Partonic
PartonicDecayerBase.h
1
// -*- C++ -*-
2
//
3
// PartonicDecayerBase.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_PartonicDecayerBase_H
10
#define HERWIG_PartonicDecayerBase_H
11
//
12
// This is the declaration of the PartonicDecayerBase class.
13
//
14
15
#include "Herwig/Decay/HwDecayerBase.h"
16
#include "Herwig/Hadronization/PartonSplitter.h"
17
#include "Herwig/Hadronization/ClusterFinder.h"
18
#include "Herwig/Hadronization/ClusterFissioner.h"
19
#include "Herwig/Hadronization/LightClusterDecayer.h"
20
#include "Herwig/Hadronization/ClusterDecayer.h"
21
#include "Herwig/Hadronization/Cluster.h"
22
23
namespace
Herwig
{
24
25
using namespace
ThePEG
;
26
30
ThePEG_DECLARE_MULTISET
(
tcPDPtr
,cParticleMSet);
31
38
class
PartonicDecayerBase
:
public
HwDecayerBase
{
39
40
public
:
41
45
PartonicDecayerBase
();
46
55
virtual
bool
accept(
tcPDPtr
parent,
const
tPDVector
& children)
const
= 0;
56
63
virtual
ParticleVector
decay(
const
Particle
& parent,
64
const
tPDVector
& children)
const
= 0;
65
72
virtual
ParticleVector
decay(
const
DecayMode
& dm,
const
Particle
& p)
const
;
73
79
virtual
void
dataBaseOutput(ofstream & os,
bool
header)
const
;
81
82
public
:
83
90
void
persistentOutput(
PersistentOStream
& os)
const
;
91
97
void
persistentInput(
PersistentIStream
& is,
int
version);
99
106
static
void
Init();
107
108
protected
:
109
117
bool
duplicateMode(
const
Particle
& parent,
118
const
vector<tPPtr> & hadrons)
const
;
119
120
private
:
121
126
PartonicDecayerBase
& operator=(
const
PartonicDecayerBase
&) =
delete
;
127
128
private
:
129
133
PartonSplitterPtr
_partonSplitter
;
134
138
ClusterFinderPtr
_clusterFinder
;
139
143
ClusterFissionerPtr
_clusterFissioner
;
144
148
LightClusterDecayerPtr
_lightClusterDecayer
;
149
153
ClusterDecayerPtr
_clusterDecayer
;
154
158
bool
_exclusive
;
159
163
unsigned
int
_partontries
;
164
168
bool
_inter
;
169
170
};
171
172
}
173
174
#endif
/* HERWIG_PartonicDecayerBase_H */
Herwig::PartonicDecayerBase::_lightClusterDecayer
LightClusterDecayerPtr _lightClusterDecayer
This is a pointer to a Herwig::LightClusterDecayer object.
Definition:
PartonicDecayerBase.h:148
ThePEG::PersistentIStream
Herwig::PartonicDecayerBase::_clusterFinder
ClusterFinderPtr _clusterFinder
This is a pointer to a Herwig::ClusterFinder object.
Definition:
PartonicDecayerBase.h:138
Herwig::ThePEG_DECLARE_MULTISET
ThePEG_DECLARE_MULTISET(tcPDPtr, cParticleMSet)
Define some sets.
ThePEG::Particle
Herwig::PartonicDecayerBase::_clusterDecayer
ClusterDecayerPtr _clusterDecayer
This is a pointer to a Herwig::ClusterDecayer object.
Definition:
PartonicDecayerBase.h:153
ThePEG::PersistentOStream
Herwig::PartonicDecayerBase::_exclusive
bool _exclusive
Switch to control hadrons produced in partonic b and c decays.
Definition:
PartonicDecayerBase.h:158
ThePEG
Herwig::PartonicDecayerBase::_partontries
unsigned int _partontries
Number of tries for partonic modes.
Definition:
PartonicDecayerBase.h:163
ThePEG::tPDVector
vector< tPDPtr > tPDVector
tcPDPtr
ThePEG::Ptr< ParticleData >::transient_const_pointer tcPDPtr
Herwig::PartonicDecayerBase::_partonSplitter
PartonSplitterPtr _partonSplitter
This is a pointer to a Herwig::PartonSplitter object.
Definition:
PartonicDecayerBase.h:133
Herwig::PartonicDecayerBase::_inter
bool _inter
Whether or not to include the intermediates.
Definition:
PartonicDecayerBase.h:168
Herwig::HwDecayerBase
The HwDecayerBase class is the base class for Decayers in Herwig.
Definition:
HwDecayerBase.h:37
Herwig
-*- C++ -*-
Definition:
BasicConsistency.h:17
ThePEG::DecayMode
Herwig::PartonicDecayerBase
Here is the documentation of the PartonicDecayerBase class.
Definition:
PartonicDecayerBase.h:38
Herwig::PartonicDecayerBase::_clusterFissioner
ClusterFissionerPtr _clusterFissioner
This is a pointer to a Herwig::ClusterFissioner object.
Definition:
PartonicDecayerBase.h:143
ThePEG::ParticleVector
vector< PPtr > ParticleVector
Generated on Sat Apr 11 2020 14:50:31 for Herwig by
1.8.13