herwig
is hosted by
Hepforge
,
IPPP Durham
Herwig
7.3.0
Decay
VectorMeson
PseudoVectorMesonVectorVectorDecayer.h
1
// -*- C++ -*-
2
//
3
// PseudoVectorMesonVectorVectorDecayer.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_PseudoVectorMesonVectorVectorDecayer_H
10
#define HERWIG_PseudoVectorMesonVectorVectorDecayer_H
11
//
12
// This is the declaration of the PseudoVectorMesonVectorVectorDecayer class.
13
//
14
#include "Herwig/Decay/DecayIntegrator.h"
15
#include "Herwig/Decay/PhaseSpaceMode.h"
16
#include "ThePEG/Helicity/LorentzPolarizationVector.h"
17
18
namespace
Herwig
{
19
using namespace
ThePEG
;
20
48
class
PseudoVectorMesonVectorVectorDecayer:
public
DecayIntegrator {
49
50
public
:
51
55
PseudoVectorMesonVectorVectorDecayer();
56
63
virtual
int
modeNumber(
bool
& cc,
tcPDPtr
parent,
64
const
tPDVector
& children)
const
;
65
74
bool
twoBodyMEcode(
const
DecayMode
& dm,
int
& mecode,
double
& coupling)
const
;
75
85
double
me2(
const
int
ichan,
const
Particle
& part,
86
const
tPDVector
& outgoing,
87
const
vector<Lorentz5Momentum> & momenta,
88
MEOption meopt)
const
;
89
93
virtual
void
constructSpinInfo(
const
Particle
& part,
94
ParticleVector
outgoing)
const
;
95
101
virtual
void
dataBaseOutput(ofstream & os,
bool
header)
const
;
102
103
public
:
104
111
void
persistentOutput(
PersistentOStream
& os)
const
;
112
118
void
persistentInput(
PersistentIStream
& is,
int
version);
120
124
static
void
Init();
125
126
protected
:
127
134
virtual
IBPtr
clone()
const
{
return
new_ptr
(*
this
);}
135
140
virtual
IBPtr
fullclone()
const
{
return
new_ptr
(*
this
);}
142
143
protected
:
144
152
virtual
void
doinit();
153
157
virtual
void
doinitrun();
159
160
private
:
161
165
PseudoVectorMesonVectorVectorDecayer & operator=(
const
PseudoVectorMesonVectorVectorDecayer &) =
delete
;
166
167
public
:
168
172
string
setUpDecayMode(
string
arg);
173
174
private
:
175
179
vector<double> coupling_;
180
184
vector<int> incoming_;
185
189
vector<pair<long,long> > outgoing_;
190
194
vector<double> maxWeight_;
195
199
mutable
RhoDMatrix
rho_;
200
204
mutable
vector<Helicity::LorentzPolarizationVector> vectors_[3];
205
206
};
207
208
}
209
210
211
#endif
/* HERWIG_PseudoVectorMesonVectorVectorDecayer_H */
ThePEG::DecayMode
ThePEG::Particle
ThePEG::PersistentIStream
ThePEG::PersistentOStream
ThePEG::RhoDMatrix
Herwig
-*- C++ -*-
Definition:
BasicConsistency.h:17
ThePEG::Pointer::new_ptr
Ptr< T >::pointer new_ptr()
ThePEG
IBPtr
ThePEG::Ptr< InterfacedBase >::pointer IBPtr
tPDVector
vector< tPDPtr > tPDVector
ParticleVector
vector< PPtr > ParticleVector
tcPDPtr
ThePEG::Ptr< ParticleData >::transient_const_pointer tcPDPtr
Generated on Thu Jun 20 2024 17:50:52 for Herwig by
1.9.6