Herwig
7.2.1
|
Here is the documentation of the DensityOperator class. More...
#include <DensityOperator.h>
Public Member Functions | |
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} = -{i,k}{-4*pi*alpha_s/Ti2*V_{ij,k} T_{i,n}M_nT_{k,n}^}, see arXiv:1206.0180 eq. More... | |
double | colourMatrixElementCorrection (const std::tuple< size_t, size_t, long > &ikemission, const cPDVector &particles) |
Calculate the colour matrix element correction. More... | |
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. | |
Standard constructors and destructors. | |
DensityOperator () | |
The default constructor. | |
virtual | ~DensityOperator () |
The destructor. | |
Functions used by the persistent I/O system. | |
void | persistentOutput (PersistentOStream &os) const |
Function used to write out object persistently. More... | |
void | persistentInput (PersistentIStream &is, int version) |
Function used to read in object persistently. More... | |
Public Member Functions inherited from 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 |
void | persistentOutput (PersistentOStream &os) const |
void | persistentInput (PersistentIStream &is, int version) |
Public Member Functions inherited from ThePEG::InterfacedBase | |
string | fullName () const |
string | name () const |
string | path () const |
string | comment () const |
void | setup (istream &is) |
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 |
void | persistentOutput (PersistentOStream &os) const |
void | persistentInput (PersistentIStream &is, int version) |
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 |
void | persistentOutput (PersistentOStream &os) const |
void | persistentInput (PersistentIStream &is, int version) |
Public Member Functions inherited from ThePEG::Base | |
void | debug () 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 |
Static Public Member Functions | |
static void | Init () |
The standard Init function used to initialize the interfaces. More... | |
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 () |
Protected Member Functions | |
Clone Methods. | |
virtual IBPtr | clone () const |
Make a simple clone of this object. More... | |
virtual IBPtr | fullclone () const |
Make a clone of this object, possibly modifying the cloned object to make it sane. More... | |
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 | |
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 &) |
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 &) |
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) |
Private Member Functions | |
double | colourNorm (const cPDPtr particle) |
Normalization of colour charges {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). More... | |
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 &) |
The assignment operator is private and must never be called. More... | |
Private Attributes | |
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. | |
Additional Inherited Members | |
Public Types inherited from ThePEG::InterfacedBase | |
enum | InitState |
Public Types inherited from ThePEG::Pointer::ReferenceCounted | |
typedef unsigned int | CounterType |
Public Attributes inherited from ThePEG::InterfacedBase | |
initializing | |
uninitialized | |
initialized | |
runready | |
Public Attributes inherited from ThePEG::Pointer::ReferenceCounted | |
const unsigned long | uniqueId |
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.
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)
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} = -{i,k}{-4*pi*alpha_s/Ti2*V_{ij,k} T_{i,n}M_nT_{k,n}^}, 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.
|
private |
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. |