herwig
is hosted by
Hepforge
,
IPPP Durham
Herwig
7.3.0
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 "WeakCurrent.h"
15
#include "LeptonNeutrinoCurrent.fh"
16
#include "ThePEG/Helicity/LorentzSpinorBar.h"
17
18
namespace
Herwig
{
19
using namespace
ThePEG
;
20
using
ThePEG::Helicity::LorentzPolarizationVector
;
21
34
class
LeptonNeutrinoCurrent
:
public
WeakCurrent
{
35
36
public
:
37
41
LeptonNeutrinoCurrent
() {
42
// set up the modes in the base class
43
addDecayMode
(11,-12);
44
addDecayMode
(13,-15);
45
addDecayMode
(15,-16);
46
setInitialModes
(3);
47
}
48
49
public
:
50
71
virtual
bool
createMode
(
int
icharge,
tcPDPtr
resonance,
72
FlavourInfo
flavour,
73
unsigned
int
imode,PhaseSpaceModePtr mode,
74
unsigned
int
iloc,
int
ires,
75
PhaseSpaceChannel
phase, Energy upp );
76
85
virtual
tPDVector
particles
(
int
icharge,
unsigned
int
imode,
int
iq,
int
ia);
87
101
virtual
vector<LorentzPolarizationVectorE>
102
current
(
tcPDPtr
resonance,
103
FlavourInfo
flavour,
104
const
int
imode,
const
int
ichan,Energy & scale,
105
const
tPDVector
&
outgoing
,
106
const
vector<Lorentz5Momentum> & momenta,
107
DecayIntegrator::MEOption
meopt)
const
;
108
112
void
constructSpinInfo
(
ParticleVector
decay)
const
;
113
119
virtual
bool
accept
(vector<int>
id
);
120
126
virtual
unsigned
int
decayMode
(vector<int>
id
);
127
134
virtual
void
dataBaseOutput
(ofstream & os,
bool
header,
bool
create)
const
;
135
136
public
:
137
141
static
void
Init
();
142
143
protected
:
144
151
virtual
IBPtr
clone
()
const
{
return
new_ptr(*
this
);}
152
157
virtual
IBPtr
fullclone
()
const
{
return
new_ptr(*
this
);}
159
160
private
:
161
165
LeptonNeutrinoCurrent
&
operator=
(
const
LeptonNeutrinoCurrent
&) =
delete
;
166
167
private
:
168
172
mutable
vector<Helicity::LorentzSpinor <SqrtEnergy> >
wave_
;
173
177
mutable
vector<Helicity::LorentzSpinorBar<SqrtEnergy> >
wavebar_
;
178
179
};
180
181
}
182
183
184
#endif
/* HERWIG_LeptonNeutrinoCurrent_H */
Herwig::DecayIntegrator::MEOption
MEOption
Enum for the matrix element option.
Definition:
DecayIntegrator.h:72
Herwig::LeptonNeutrinoCurrent
This class implements the weak decay current for a lepton and a neutrino.
Definition:
LeptonNeutrinoCurrent.h:34
Herwig::LeptonNeutrinoCurrent::clone
virtual IBPtr clone() const
Make a simple clone of this object.
Definition:
LeptonNeutrinoCurrent.h:151
Herwig::LeptonNeutrinoCurrent::wave_
vector< Helicity::LorentzSpinor< SqrtEnergy > > wave_
Spinors for the decay products.
Definition:
LeptonNeutrinoCurrent.h:172
Herwig::LeptonNeutrinoCurrent::Init
static void Init()
Standard Init function used to initialize the interfaces.
Herwig::LeptonNeutrinoCurrent::dataBaseOutput
virtual void dataBaseOutput(ofstream &os, bool header, bool create) const
Output the setup information for the particle database.
Herwig::LeptonNeutrinoCurrent::LeptonNeutrinoCurrent
LeptonNeutrinoCurrent()
Default constructor.
Definition:
LeptonNeutrinoCurrent.h:41
Herwig::LeptonNeutrinoCurrent::constructSpinInfo
void constructSpinInfo(ParticleVector decay) const
Construct the SpinInfo for the decay products.
Herwig::LeptonNeutrinoCurrent::operator=
LeptonNeutrinoCurrent & operator=(const LeptonNeutrinoCurrent &)=delete
Private and non-existent assignment operator.
Herwig::LeptonNeutrinoCurrent::createMode
virtual bool createMode(int icharge, tcPDPtr resonance, FlavourInfo flavour, unsigned int imode, PhaseSpaceModePtr mode, unsigned int iloc, int ires, PhaseSpaceChannel phase, Energy upp)
Complete the construction of the decay mode for integration.classes inheriting from this one.
Herwig::LeptonNeutrinoCurrent::current
virtual vector< LorentzPolarizationVectorE > current(tcPDPtr resonance, FlavourInfo flavour, const int imode, const int ichan, Energy &scale, const tPDVector &outgoing, const vector< Lorentz5Momentum > &momenta, DecayIntegrator::MEOption meopt) const
Hadronic current.
Herwig::LeptonNeutrinoCurrent::accept
virtual bool accept(vector< int > id)
Accept the decay.
Herwig::LeptonNeutrinoCurrent::decayMode
virtual unsigned int decayMode(vector< int > id)
Returns the decay mode number for a given set of particles in the current.
Herwig::LeptonNeutrinoCurrent::particles
virtual tPDVector particles(int icharge, unsigned int imode, int iq, int ia)
The particles produced by the current.
Herwig::LeptonNeutrinoCurrent::wavebar_
vector< Helicity::LorentzSpinorBar< SqrtEnergy > > wavebar_
barred spinors for the decay products
Definition:
LeptonNeutrinoCurrent.h:177
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:157
Herwig::PhaseSpaceChannel
This class is designed to store the information needed for a given phase-space channel for use by the...
Definition:
PhaseSpaceChannel.h:52
Herwig::WeakCurrent
The WeakCurrent class is the base class for the hadronic currents produced in weak decays.
Definition:
WeakCurrent.h:59
Herwig::WeakCurrent::addDecayMode
void addDecayMode(int iq, int ia)
Add a decay mode to the list.
Definition:
WeakCurrent.h:211
Herwig::WeakCurrent::setInitialModes
void setInitialModes(unsigned int nmodes)
Set initial number of modes.
Definition:
WeakCurrent.h:220
ThePEG::LorentzVector< complex< double > >
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
Herwig::FlavourInfo
Definition:
IsoSpin.h:46
Generated on Thu Jun 20 2024 17:50:52 for Herwig by
1.9.6