herwig
is hosted by
Hepforge
,
IPPP Durham
Herwig
7.3.0
Decay
General
GeneralCurrentDecayer.h
1
// -*- C++ -*-
2
//
3
// GeneralCurrentDecayer.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_GeneralCurrentDecayer_H
10
#define HERWIG_GeneralCurrentDecayer_H
11
//
12
// This is the declaration of the GeneralCurrentDecayer class.
13
//
14
15
#include "Herwig/Decay/DecayIntegrator.h"
16
#include "Herwig/Decay/WeakCurrents/WeakCurrent.h"
17
#include "Herwig/Decay/PhaseSpaceMode.h"
18
#include "ThePEG/Helicity/Vertex/VertexBase.h"
19
#include "GeneralCurrentDecayer.fh"
20
21
namespace
Herwig
{
22
using namespace
ThePEG
;
23
using
Helicity::VertexBasePtr;
24
31
class
GeneralCurrentDecayer
:
public
DecayIntegrator
{
32
33
public
:
34
38
GeneralCurrentDecayer
() :
39
maxmass_
(5.*GeV),
wgtmax_
(0.) {}
40
49
virtual
int
modeNumber
(
bool
& cc,
tcPDPtr
parent,
const
tPDVector
& children)
const
;
50
57
virtual
Energy
partialWidth
(
tPDPtr
inpart,
tPDPtr
outa,
58
vector<tPDPtr> currout) = 0;
60
64
void
setDecayInfo
(
PDPtr
in,
PDPtr
out,
const
vector<tPDPtr> & outCurrent,
65
VertexBasePtr
vertex
, WeakCurrentPtr current,
66
Energy maxmass);
67
68
public
:
69
76
void
persistentOutput
(
PersistentOStream
& os)
const
;
77
83
void
persistentInput
(
PersistentIStream
& is,
int
version);
85
92
static
void
Init
();
93
94
protected
:
95
103
virtual
void
doinit
();
104
109
virtual
void
doinitrun
();
111
112
protected
:
113
119
int
modeNumber
(
bool
& cc, vector<long>
id
)
const
;
120
125
unsigned
int
mode
()
const
{
return
mode_
; }
126
130
WeakCurrentPtr
weakCurrent
()
const
{
return
current_
; }
131
136
VertexBasePtr
vertex
()
const
{
return
theVertex_
; }
137
138
private
:
139
144
GeneralCurrentDecayer
&
operator=
(
const
GeneralCurrentDecayer
&) =
delete
;
145
146
private
:
147
151
VertexBasePtr
theVertex_
;
152
156
PDPtr
inpart_
;
157
161
PDPtr
outpart_
;
162
166
vector<tPDPtr>
currentOut_
;
167
171
WeakCurrentPtr
current_
;
172
176
Energy
maxmass_
;
177
181
unsigned
int
mode_
;
182
186
int
wgtloc_
;
187
191
double
wgtmax_
;
192
196
vector<double>
weights_
;
197
};
198
199
}
200
201
#endif
/* HERWIG_GeneralCurrentDecayer_H */
Herwig::DecayIntegrator
Main class for Decayers implementing multi-channel phase space integration.
Definition:
DecayIntegrator.h:60
Herwig::GeneralCurrentDecayer
Here is the documentation of the GeneralCurrentDecayer class.
Definition:
GeneralCurrentDecayer.h:31
Herwig::GeneralCurrentDecayer::operator=
GeneralCurrentDecayer & operator=(const GeneralCurrentDecayer &)=delete
The assignment operator is private and must never be called.
Herwig::GeneralCurrentDecayer::vertex
VertexBasePtr vertex() const
Get vertex pointer.
Definition:
GeneralCurrentDecayer.h:136
Herwig::GeneralCurrentDecayer::current_
WeakCurrentPtr current_
Pointer to the current.
Definition:
GeneralCurrentDecayer.h:171
Herwig::GeneralCurrentDecayer::mode
unsigned int mode() const
Access to the map between the number of the mode and the modes in the current.
Definition:
GeneralCurrentDecayer.h:125
Herwig::GeneralCurrentDecayer::modeNumber
virtual int modeNumber(bool &cc, tcPDPtr parent, const tPDVector &children) const
Which of the possible decays is required.
Herwig::GeneralCurrentDecayer::mode_
unsigned int mode_
mapping of the modes to the currents
Definition:
GeneralCurrentDecayer.h:181
Herwig::GeneralCurrentDecayer::maxmass_
Energy maxmass_
Maximum mass difference.
Definition:
GeneralCurrentDecayer.h:176
Herwig::GeneralCurrentDecayer::weakCurrent
WeakCurrentPtr weakCurrent() const
Access to the weak current.
Definition:
GeneralCurrentDecayer.h:130
Herwig::GeneralCurrentDecayer::Init
static void Init()
The standard Init function used to initialize the interfaces.
Herwig::GeneralCurrentDecayer::modeNumber
int modeNumber(bool &cc, vector< long > id) const
The number of the mode.
Herwig::GeneralCurrentDecayer::setDecayInfo
void setDecayInfo(PDPtr in, PDPtr out, const vector< tPDPtr > &outCurrent, VertexBasePtr vertex, WeakCurrentPtr current, Energy maxmass)
set up the decay
Herwig::GeneralCurrentDecayer::persistentOutput
void persistentOutput(PersistentOStream &os) const
Function used to write out object persistently.
Herwig::GeneralCurrentDecayer::GeneralCurrentDecayer
GeneralCurrentDecayer()
The default constructor.
Definition:
GeneralCurrentDecayer.h:38
Herwig::GeneralCurrentDecayer::wgtloc_
int wgtloc_
location of the weights
Definition:
GeneralCurrentDecayer.h:186
Herwig::GeneralCurrentDecayer::outpart_
PDPtr outpart_
First outgoing particle.
Definition:
GeneralCurrentDecayer.h:161
Herwig::GeneralCurrentDecayer::partialWidth
virtual Energy partialWidth(tPDPtr inpart, tPDPtr outa, vector< tPDPtr > currout)=0
Function to return partial Width.
Herwig::GeneralCurrentDecayer::wgtmax_
double wgtmax_
the maximum weight
Definition:
GeneralCurrentDecayer.h:191
Herwig::GeneralCurrentDecayer::persistentInput
void persistentInput(PersistentIStream &is, int version)
Function used to read in object persistently.
Herwig::GeneralCurrentDecayer::theVertex_
VertexBasePtr theVertex_
Pointer to vertex set in inheriting class.
Definition:
GeneralCurrentDecayer.h:151
Herwig::GeneralCurrentDecayer::weights_
vector< double > weights_
The weights for the different channels.
Definition:
GeneralCurrentDecayer.h:196
Herwig::GeneralCurrentDecayer::currentOut_
vector< tPDPtr > currentOut_
Outgoing particles from the current.
Definition:
GeneralCurrentDecayer.h:166
Herwig::GeneralCurrentDecayer::inpart_
PDPtr inpart_
Incoming particle.
Definition:
GeneralCurrentDecayer.h:156
Herwig::GeneralCurrentDecayer::doinit
virtual void doinit()
Initialize this object after the setup phase before saving an EventGenerator to disk.
Herwig::GeneralCurrentDecayer::doinitrun
virtual void doinitrun()
Initialize this object.
ThePEG::PersistentIStream
ThePEG::PersistentOStream
Herwig
-*- C++ -*-
Definition:
BasicConsistency.h:17
ThePEG
ThePEG::tPDPtr
ThePEG::Ptr< ParticleData >::transient_pointer tPDPtr
ThePEG::tPDVector
vector< tPDPtr > tPDVector
ThePEG::tcPDPtr
ThePEG::Ptr< ParticleData >::transient_const_pointer tcPDPtr
ThePEG::PDPtr
ThePEG::Ptr< ParticleData >::pointer PDPtr
Generated on Thu Jun 20 2024 17:50:52 for Herwig by
1.9.6