herwig
is hosted by
Hepforge
,
IPPP Durham
Herwig
7.2.1
Decay
WeakCurrents
LeptonNeutrinoCurrent.h
1
// -*- C++ -*-
2
//
3
// LeptonNeutrinoCurrent.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_LeptonNeutrinoCurrent_H
10
#define HERWIG_LeptonNeutrinoCurrent_H
11
//
12
// This is the declaration of the LeptonNeutrinoCurrent class.
13
//
14
#include "WeakDecayCurrent.h"
15
#include "LeptonNeutrinoCurrent.fh"
16
17
namespace
Herwig
{
18
using namespace
ThePEG
;
19
using
ThePEG::Helicity::LorentzPolarizationVector
;
20
33
class
LeptonNeutrinoCurrent
:
public
WeakDecayCurrent
{
34
35
public
:
36
40
LeptonNeutrinoCurrent
() {
41
// set up the modes in the base class
42
addDecayMode(11,-12);
43
addDecayMode(13,-15);
44
addDecayMode(15,-16);
45
setInitialModes(3);
46
}
47
48
public
:
49
66
virtual
bool
createMode(
int
icharge,
unsigned
int
imode,DecayPhaseSpaceModePtr mode,
67
unsigned
int
iloc,
unsigned
int
ires,
68
DecayPhaseSpaceChannelPtr phase,Energy upp);
69
78
virtual
tPDVector
particles(
int
icharge,
unsigned
int
imode,
int
iq,
int
ia);
80
90
virtual
vector<LorentzPolarizationVectorE>
91
current(
const
int
imode,
const
int
ichan,Energy & scale,
92
const
ParticleVector
& decay,
DecayIntegrator::MEOption
meopt)
const
;
93
99
virtual
bool
accept(vector<int>
id
);
100
106
virtual
unsigned
int
decayMode(vector<int>
id
);
107
114
virtual
void
dataBaseOutput(ofstream & os,
bool
header,
bool
create)
const
;
115
116
public
:
117
121
static
void
Init();
122
123
protected
:
124
131
virtual
IBPtr
clone
()
const
{
return
new_ptr(*
this
);}
132
137
virtual
IBPtr
fullclone
()
const
{
return
new_ptr(*
this
);}
139
140
private
:
141
145
LeptonNeutrinoCurrent
& operator=(
const
LeptonNeutrinoCurrent
&) =
delete
;
146
147
};
148
149
}
150
151
152
#endif
/* HERWIG_LeptonNeutrinoCurrent_H */
Herwig::WeakDecayCurrent
The WeakDecayCurrent class is the base class for the hadronic currents produced in weak decays...
Definition:
WeakDecayCurrent.h:57
Herwig::LeptonNeutrinoCurrent
This class implements the weak decay current for a lepton and a neutrino.
Definition:
LeptonNeutrinoCurrent.h:33
Herwig::LeptonNeutrinoCurrent::fullclone
virtual IBPtr fullclone() const
Make a clone of this object, possibly modifying the cloned object to make it sane.
Definition:
LeptonNeutrinoCurrent.h:137
ThePEG::IBPtr
ThePEG::Ptr< InterfacedBase >::pointer IBPtr
ThePEG
Herwig::DecayIntegrator::MEOption
MEOption
Enum for the matrix element option.
Definition:
DecayIntegrator.h:79
ThePEG::tPDVector
vector< tPDPtr > tPDVector
Herwig::LeptonNeutrinoCurrent::LeptonNeutrinoCurrent
LeptonNeutrinoCurrent()
Default constructor.
Definition:
LeptonNeutrinoCurrent.h:40
Herwig
-*- C++ -*-
Definition:
BasicConsistency.h:17
ThePEG::Helicity::LorentzPolarizationVector
LorentzVector< complex< double > > LorentzPolarizationVector
Herwig::LeptonNeutrinoCurrent::clone
virtual IBPtr clone() const
Make a simple clone of this object.
Definition:
LeptonNeutrinoCurrent.h:131
ThePEG::ParticleVector
vector< PPtr > ParticleVector
Generated on Sat Apr 11 2020 14:50:30 for Herwig by
1.8.13