Herwig 7.3.0
|
Here is the documentation of the DensityOperator class. More...
#include <DensityOperator.h>
Public Member Functions | |
DensityOperator () | |
The default constructor. | |
void | clear () |
Clears theDensityOperatorMap. | |
void | prepare (const cPDVector &) |
Prepare for the given sub process. | |
void | fill (const Ptr< MatchboxXComb >::ptr, const cPDVector &, const vector< Lorentz5Momentum > &momenta) |
Fill the density operator for the given hard subprocess, summing over all helicity configurations. | |
void | evolve (const map< pair< size_t, size_t >, Complex > &Vijk, const cPDVector &before, const cPDVector &after, const map< std::tuple< size_t, size_t, size_t >, map< size_t, size_t > > &emissionsMap, const bool splitAGluon, const bool initialGluonSplitting) |
Evolve the density operator, by M_{n+1} = -\sum_{i,k}{-4*pi*alpha_s/Ti2*V_{ij,k} T_{i,n}M_nT_{k,n}^\dag}, see arXiv:1206.0180 eq. | |
double | colourMatrixElementCorrection (const std::tuple< size_t, size_t, long > &ikemission, const cPDVector &particles) |
Calculate the colour matrix element correction. | |
void | colourConservation (const cPDVector &particles) |
Checking colour conservation for the colour matrix element corrections. | |
Ptr< ColourBasis >::tptr | colourBasis () |
Get the colour basis. | |
const Ptr< ColourBasis >::tptr | colourBasis () const |
Get the colour basis. | |
void | colourBasis (Ptr< ColourBasis >::ptr ptr) |
Set the colour basis. | |
const map< pair< vector< PDT::Colour >, pair< size_t, size_t > >, double > & | correlatorMap () const |
Get the correlator map. | |
Public Member Functions inherited from ThePEG::HandlerBaseT< UseRandom > | |
double | rnd () const |
double | rnd (double xu) const |
double | rnd (double xl, double xu) const |
bool | rndbool () const |
bool | rndbool (double p) const |
bool | rndbool (double p1, double p2) const |
int | rndsign (double p1, double p2, double p3) const |
int | rnd2 (double p0, double p1) const |
int | rnd3 (double p0, double p1, double p2) const |
int | rnd4 (double p0, double p1, double p2, double p3) const |
long | irnd (long xu=2) const |
long | irnd (long xl, long xu) const |
const StandardModelBase & | SM () const |
tSMPtr | standardModel () const |
Public Member Functions inherited from ThePEG::Interfaced | |
virtual bool | defaultInit () |
PPtr | getParticle (PID) const |
PDPtr | getParticleData (PID) const |
bool | used () const |
void | useMe () const |
tEGPtr | generator () const |
void | persistentOutput (PersistentOStream &os) const |
void | persistentInput (PersistentIStream &is, int version) |
PPtr | getParticle (PID) const |
PDPtr | getParticleData (PID) const |
bool | used () const |
void | useMe () const |
tEGPtr | generator () const |
Public Member Functions inherited from ThePEG::InterfacedBase | |
string | fullName () const |
string | name () const |
string | path () const |
string | comment () const |
void | setup (istream &is) |
void | update () |
void | init () |
virtual bool | preInitialize () const |
void | initrun () |
void | finish () |
void | touch () |
void | reset () |
void | clear () |
InitState | state () const |
bool | locked () const |
bool | touched () const |
virtual IBPtr | fullclone () const |
void | persistentOutput (PersistentOStream &os) const |
void | persistentInput (PersistentIStream &is, int version) |
virtual void | debugme () const |
void | update () |
void | init () |
virtual bool | preInitialize () const |
void | initrun () |
void | finish () |
void | touch () |
void | reset () |
void | clear () |
InitState | state () const |
bool | locked () const |
bool | touched () const |
virtual IBPtr | fullclone () const |
Public Member Functions inherited from ThePEG::Base | |
void | debug () const |
virtual void | debugme () const |
Public Member Functions inherited from ThePEG::Pointer::ReferenceCounted | |
CounterType | referenceCount () const |
Public Member Functions inherited from ThePEG::Named | |
Named (const string &newName=string()) | |
Named (const Named &)=default | |
const string & | name () const |
bool | operator== (const Named &other) const |
bool | operator< (const Named &other) const |
Clone Methods. | |
double | Nc |
Number of colours used in colourNorm. | |
double | TR |
QCD vertex normalization. | |
map< vector< PDT::Colour >, matrix< Complex > > | theDensityOperatorMap |
Mapping of colour structures to density operator matrices. | |
map< pair< vector< PDT::Colour >, pair< size_t, size_t > >, double > | theCorrelatorMap |
Mapping of colour structures and legs to colour correlators. | |
map< cPDVector, map< size_t, size_t > > | theColourBasisToColourBasisMap |
A map from the hard subprocess particles to a map of amplitude colour basis order to the normal ordered colour basis. | |
Ptr< ColourBasis >::ptr | theColourBasis |
Colour basis used. | |
virtual IBPtr | clone () const |
Make a simple clone of this object. | |
virtual IBPtr | fullclone () const |
Make a clone of this object, possibly modifying the cloned object to make it sane. | |
double | colourNorm (const cPDPtr particle) |
Normalization of colour charges \mathbf{T}_{ij}^2. | |
matrix< Complex > | prodSparseDense (const compressed_matrix< double > &, const matrix< Complex > &) |
Fast evaluation of Tij*Mn, where a Tij is the matrix from ColourBasis::charge, which is a sparse matrix, and Mn is the density operator, a dense matrix. | |
matrix< Complex > | prodDenseSparse (const matrix< Complex > &, const compressed_matrix< double > &) |
Fast evaluation of TijMn*Tkdagger, where a TijMn is the result from the method prodSparseDense, a dense matrix, and Tkdagger is the transponse conjugate of the matrix from ColourBasis::charge, a sparse matrix. | |
vector< Lorentz5Momentum > | boostToRestFrame (const vector< Lorentz5Momentum > &momenta) |
Boosts a vector of momenta to the rest frame of the initial pair of particles (the first 2 elements of the argument vector). | |
bool | compareMomentum (const Lorentz5Momentum &p, const Lorentz5Momentum &q) |
Boosts a vector of momenta to the rest frame of the initial pair. | |
DensityOperator & | operator= (const DensityOperator &)=delete |
The assignment operator is private and must never be called. | |
Functions used by the persistent I/O system. | |
void | persistentOutput (PersistentOStream &os) const |
Function used to write out object persistently. | |
void | persistentInput (PersistentIStream &is, int version) |
Function used to read in object persistently. | |
static void | Init () |
The standard Init function used to initialize the interfaces. | |
Additional Inherited Members | |
Public Types inherited from ThePEG::InterfacedBase | |
enum | InitState |
Public Types inherited from ThePEG::Pointer::ReferenceCounted | |
typedef unsigned int | CounterType |
Static Public Member Functions inherited from ThePEG::HandlerBase | |
static void | Init () |
Static Public Member Functions inherited from ThePEG::Interfaced | |
static void | Init () |
Static Public Member Functions inherited from ThePEG::InterfacedBase | |
static void | Init () |
Static Public Member Functions inherited from ThePEG::Base | |
static void | Init () |
Public Attributes inherited from ThePEG::InterfacedBase | |
initializing | |
uninitialized | |
initialized | |
runready | |
Public Attributes inherited from ThePEG::Pointer::ReferenceCounted | |
const unsigned long | uniqueId |
Protected Member Functions inherited from ThePEG::Interfaced | |
void | reporeg (IBPtr object, string name) const |
bool | setDefaultReference (PtrT &ptr, string classname, string objectname) |
Interfaced (const string &newName) | |
Interfaced (const Interfaced &i) | |
void | setGenerator (tEGPtr generator) |
Protected Member Functions inherited from ThePEG::InterfacedBase | |
virtual void | readSetup (istream &is) |
virtual void | doupdate () |
virtual void | doinit () |
virtual void | doinitrun () |
virtual void | dofinish () |
virtual IVector | getReferences () |
virtual void | rebind (const TranslationMap &) |
virtual IBPtr | clone () const=0 |
InterfacedBase (string newName) | |
InterfacedBase (const InterfacedBase &i) | |
virtual void | readSetup (istream &is) |
virtual void | doupdate () |
virtual void | doinit () |
virtual void | doinitrun () |
virtual void | dofinish () |
virtual IVector | getReferences () |
virtual void | rebind (const TranslationMap &) |
Protected Member Functions inherited from ThePEG::Pointer::ReferenceCounted | |
ReferenceCounted (const ReferenceCounted &) | |
ReferenceCounted & | operator= (const ReferenceCounted &) |
Protected Member Functions inherited from ThePEG::Named | |
const Named & | operator= (const Named &other) |
const string & | name (const string &newName) |
Static Protected Member Functions inherited from ThePEG::Interfaced | |
static void | registerRepository (IBPtr) |
static void | registerRepository (IBPtr, string newName) |
Here is the documentation of the DensityOperator class.
Definition at line 37 of file DensityOperator.h.
|
private |
Boosts a vector of momenta to the rest frame of the initial pair of particles (the first 2 elements of the argument vector).
Returns the boosted vectors
|
protectedvirtual |
Make a simple clone of this object.
Implements ThePEG::InterfacedBase.
|
inline |
Get the colour basis.
Definition at line 98 of file DensityOperator.h.
References theColourBasis.
Referenced by Herwig::DipoleShowerHandler::colourBasis().
|
inline |
|
inline |
double Herwig::DensityOperator::colourMatrixElementCorrection | ( | const std::tuple< size_t, size_t, long > & | ikemission, |
const cPDVector & | particles | ||
) |
Calculate the colour matrix element correction.
-(1+delta(i,gluon))/Ti^2 Tr(Sn+1 Ti Mn Tk^dagger)/Tr(Sn Mn) where the bracket in front compensates for the gluon symmetry factor, Ti^2 is C_f or C_a, Sn+1 is the matrix of scalar products, and Ti is the radiation matrix. The first arg contains (emitter index, spectator index, emission pid)
|
inline |
Get the correlator map.
Definition at line 113 of file DensityOperator.h.
References theCorrelatorMap.
Referenced by Herwig::DipoleShowerHandler::correlatorMap().
void Herwig::DensityOperator::evolve | ( | const map< pair< size_t, size_t >, Complex > & | Vijk, |
const cPDVector & | before, | ||
const cPDVector & | after, | ||
const map< std::tuple< size_t, size_t, size_t >, map< size_t, size_t > > & | emissionsMap, | ||
const bool | splitAGluon, | ||
const bool | initialGluonSplitting | ||
) |
Evolve the density operator, by M_{n+1} = -\sum_{i,k}{-4*pi*alpha_s/Ti2*V_{ij,k} T_{i,n}M_nT_{k,n}^\dag}, see arXiv:1206.0180 eq.
(5), note that the pi*pj factor is assumed to be included in V_{ij,k}.
|
protectedvirtual |
Make a clone of this object, possibly modifying the cloned object to make it sane.
Reimplemented from ThePEG::InterfacedBase.
|
static |
The standard Init function used to initialize the interfaces.
Called exactly once for each class by the class description system before the main function starts or when this class is dynamically loaded.
|
privatedelete |
The assignment operator is private and must never be called.
In fact, it should not even be implemented.
void Herwig::DensityOperator::persistentInput | ( | PersistentIStream & | is, |
int | version | ||
) |
Function used to read in object persistently.
is | the persistent input stream read from. |
version | the version number of the object when written. |
void Herwig::DensityOperator::persistentOutput | ( | PersistentOStream & | os | ) | const |
Function used to write out object persistently.
os | the persistent output stream written to. |
|
private |
Number of colours used in colourNorm.
Definition at line 168 of file DensityOperator.h.
|
private |
|
private |
A map from the hard subprocess particles to a map of amplitude colour basis order to the normal ordered colour basis.
Definition at line 223 of file DensityOperator.h.
|
private |
Mapping of colour structures and legs to colour correlators.
Definition at line 217 of file DensityOperator.h.
Referenced by correlatorMap().
|
private |
Mapping of colour structures to density operator matrices.
Definition at line 212 of file DensityOperator.h.
|
private |
QCD vertex normalization.
Definition at line 173 of file DensityOperator.h.