colorfull is hosted by Hepforge, IPPP Durham
ColorFull  1.1
ColorFull::Col_functions Class Reference

#include <Col_functions.h>

Public Member Functions

 Col_functions ()
 
void set_Nc (double n)
 
void set_TR (double tr)
 
void set_CF (double cf)
 
void set_full_CF (bool is_full)
 
double get_Nc () const
 
double get_TR () const
 
double get_CF () const
 
bool get_full_CF () const
 
int leading_Nc_pow (const Polynomial &Poly) const
 
int leading_Nc_pow (const Poly_vec &Pv) const
 
Polynomial leading (const Polynomial &Poly) const
 
Poly_vec leading (const Poly_vec &Pv) const
 
Poly_matr leading (const Poly_matr &Pm) const
 
cnum cnum_num (const Monomial &Mon) const
 
cnum cnum_num (const Polynomial &Poly) const
 
cvec cnum_num (const Poly_vec &Pv) const
 
cmatr cnum_num (const Poly_matr &Pm) const
 
double double_num (const Monomial &Mon) const
 
double double_num (const Polynomial &Poly) const
 
dvec double_num (const Poly_vec &Pv) const
 
dmatr double_num (const Poly_matr &Pm) const
 
Polynomial Polynomial_cnum_num (const Polynomial &Poly) const
 
Poly_vec Poly_vec_cnum_num (const Poly_vec &Pv) const
 
Poly_matr Poly_matr_cnum_num (const Poly_matr &Pm) const
 
Polynomial scalar_product (const Col_amp &Ca1, const Col_amp &Ca2) const
 
Polynomial scalar_product (const Col_str &Cs1, const Col_str &Cs2) const
 
Col_amp emit_gluon (const Col_str &in_Col_str, int emitter, int g_new) const
 
Col_amp emit_gluon (const Col_amp &Ca_in, int emitter, int g_new) const
 
Col_amp split_gluon (const Col_str &in_Col_str, int g_old, int q_new, int qbar_new) const
 
Col_amp split_gluon (const Col_amp &in_Col_amp, int g_old, int q_new, int qbar_new) const
 
Col_amp exchange_gluon (const Col_str &Cs, int p1, int p2) const
 
Col_amp exchange_gluon (const Col_amp &Ca, int p1, int p2) const
 
Polynomial color_correlator (const Col_amp Ca, int i, int j) const
 
dvec read_in_dvec (std::string filename) const
 
dmatr read_in_dmatr (std::string filename) const
 
void write_out_dvec (const dvec &dv, std::string filename) const
 
void write_out_dmatr (const dmatr &matr, std::string filename) const
 
int factorial (int i) const
 
std::map< int, int > default_parton_numbers (const Col_str &, int g_old, int q_new, int qbar_new) const
 
Col_str rename_partons (const Col_str &, const std::map< int, int > replacements) const
 
Col_amp rename_partons (const Col_amp &, const std::map< int, int > replacements) const
 

Detailed Description

Library class containing functions for index contraction and numerical evaluation. This is where the parameters Nc, TR and CF are contained.

Constructor & Destructor Documentation

◆ Col_functions()

ColorFull::Col_functions::Col_functions ( )
inline

Default constructor.

Member Function Documentation

◆ cnum_num() [1/4]

cnum ColorFull::Col_functions::cnum_num ( const Monomial Mon) const

Numerically evaluates a Monomial using the Nc, TR and CF data members.

◆ cnum_num() [2/4]

cnum ColorFull::Col_functions::cnum_num ( const Polynomial Poly) const

Numerically evaluates a Polynomial, using the Nc, TR and CF data members.

◆ cnum_num() [3/4]

cvec ColorFull::Col_functions::cnum_num ( const Poly_vec Pv) const

Numerically evaluates a Poly_vec (vector of Polynomial), using cnum_num (Polynomial).

◆ cnum_num() [4/4]

cmatr ColorFull::Col_functions::cnum_num ( const Poly_matr Pm) const

Numerically evaluates a Poly_matr (vector of Poly_vec), using cnum_num( Poly_vec ) for each Poly_vec.

◆ color_correlator()

Polynomial ColorFull::Col_functions::color_correlator ( const Col_amp  Ca,
int  i,
int  j 
) const

Calculates < M | T_i T_j | M >, the "color correlator" relevant for coherent gluon emission of gluon g_new from parton i and parton j, or gluon exchange between i and j. The Ca should thus be | M >, and i and j are the partons involved in the emission (exchange). (The incoming amplitude is what it is, there is no special treatment of gluons only cases.)

◆ default_parton_numbers()

std::map<int, int> ColorFull::Col_functions::default_parton_numbers ( const Col_str ,
int  g_old,
int  q_new,
int  qbar_new 
) const

Function that finds the default parton numbers for a Col_str. The default numbers are 1,...,N_parton, where quarks have the first odd numbers, anti-quarks have the first even numbers, and gluons have subsequent numbers. The intended usage is after gluon splitting, where the gluon g_old has split into q_new and qbar_new, and the parton numbers before splitting are assumed to be default.

◆ double_num() [1/4]

double ColorFull::Col_functions::double_num ( const Monomial Mon) const

Numerically evaluates a Monomial to a double using the Nc, TR and CF data members.

◆ double_num() [2/4]

double ColorFull::Col_functions::double_num ( const Polynomial Poly) const

Numerically evaluates a Polynomial to a double using the Nc, TR and CF data members.

◆ double_num() [3/4]

dvec ColorFull::Col_functions::double_num ( const Poly_vec Pv) const

Numerically evaluates a Poly_vec (vector of Polynomial) using the Nc, TR and CF data members.

◆ double_num() [4/4]

dmatr ColorFull::Col_functions::double_num ( const Poly_matr Pm) const

Numerically evaluates a Poly_matr (vector of Poly_vec), using the Nc, TR and CF data members.

◆ emit_gluon() [1/2]

Col_amp ColorFull::Col_functions::emit_gluon ( const Col_str in_Col_str,
int  emitter,
int  g_new 
) const

Function for emitting a gluon from a Col_str. When the gluon is inserted before the emitter in a Quark_line, the amplitude comes with a minus sign.

◆ emit_gluon() [2/2]

Col_amp ColorFull::Col_functions::emit_gluon ( const Col_amp Ca_in,
int  emitter,
int  g_new 
) const

Function for emitting a gluon from a Col_amp. When the gluon is inserted before the emitter in a Quark_line, the amplitude comes with a minus sign.

◆ exchange_gluon() [1/2]

Col_amp ColorFull::Col_functions::exchange_gluon ( const Col_str Cs,
int  p1,
int  p2 
) const

Function for exchanging a gluon between the partons p1 and p2 in the Col_str Cs. When the gluon is inserted before the emitter in a Quark_line, the amplitude comes with a minus sign.

◆ exchange_gluon() [2/2]

Col_amp ColorFull::Col_functions::exchange_gluon ( const Col_amp Ca,
int  p1,
int  p2 
) const

Function for exchanging a gluon between two partons p1 and p2 in the Col_amp Ca. When the gluon is inserted before the emitter in a Quark_line, the amplitude comes with a minus sign. (There is no special treatment of the glons only cases.)

◆ factorial()

int ColorFull::Col_functions::factorial ( int  i) const

The factorial of an int, 0! is defined as 1.

◆ get_CF()

double ColorFull::Col_functions::get_CF ( ) const
inline

Returns the value of CF.

◆ get_full_CF()

bool ColorFull::Col_functions::get_full_CF ( ) const
inline

Returns true, if full CF is used.

◆ get_Nc()

double ColorFull::Col_functions::get_Nc ( ) const
inline

Returns the number of colors.

◆ get_TR()

double ColorFull::Col_functions::get_TR ( ) const
inline

Returns the normalization of the generators, tr(t^a t^b)=TR*delta^{a,b}.

◆ leading() [1/3]

Polynomial ColorFull::Col_functions::leading ( const Polynomial Poly) const

Takes the leading Nc terms of a Polynonmial, i.e. Monomials with highest power of Nc+CF. If full_CF is false (default), CF is replaced by TR Nc. If full_CF is true CF is replaced by TR(Nc^2-1)/Nc.

◆ leading() [2/3]

Poly_vec ColorFull::Col_functions::leading ( const Poly_vec Pv) const

Take the leading part of a Poly_vec. Keeps only Monomials with maximal power of CF plus Nc, uses leading( const Polynomial & Poly). If full_CF is false (default), CF is replaced by TR Nc. If full_CF is true CF is replaced by TR(Nc^2-1)/Nc. Note that taking the leading terms of a Poly_vec is not the same as taking the leading terms in each Polynomial.

◆ leading() [3/3]

Poly_matr ColorFull::Col_functions::leading ( const Poly_matr Pm) const

Takes the leading part of a matrix of Polynomials, keeping only those with maximal power of CF plus Nc. If full_CF is false (default), CF is replaced by TR Nc. If full_CF is true CF is replaced by TR(Nc^2-1)/Nc. Note that taking the leading terms of a Poly_matr is not the same as taking the leading terms in each Poly_vec.

◆ leading_Nc_pow() [1/2]

int ColorFull::Col_functions::leading_Nc_pow ( const Polynomial Poly) const

Function for finding the leading power of Nc in a Poly_vec, i.e., the power of Nc plus the power of CF.

◆ leading_Nc_pow() [2/2]

int ColorFull::Col_functions::leading_Nc_pow ( const Poly_vec Pv) const

Function for finding the leading power of Nc in a Poly_vec.

◆ Poly_matr_cnum_num()

Poly_matr ColorFull::Col_functions::Poly_matr_cnum_num ( const Poly_matr Pm) const

Numerically evaluates a Poly_matr (vector of Poly_vec) and stores in the form of a Poly_matr.

◆ Poly_vec_cnum_num()

Poly_vec ColorFull::Col_functions::Poly_vec_cnum_num ( const Poly_vec Pv) const

Numerically evaluates a Poly_vec (vector of Polynomial) and stores in the form of a Poly_vec, uses polynomial_cnum_num( Pv.at( p ) ). for each Polynomial.

◆ Polynomial_cnum_num()

Polynomial ColorFull::Col_functions::Polynomial_cnum_num ( const Polynomial Poly) const

Numerically evaluates a Polynomial using the value of the data member Nc, and stores in the format of a Polynomial with only one term with only a numerical part.

◆ read_in_dmatr()

dmatr ColorFull::Col_functions::read_in_dmatr ( std::string  filename) const

Reads in a numerical matrix and save it as a double matrix, dmatr. The file should be of the format {{d11,...,d1n}, ..., {dn1,...,dnn}}, and may contain comment lines starting with # at the top.

◆ read_in_dvec()

dvec ColorFull::Col_functions::read_in_dvec ( std::string  filename) const

Reads in a numerical vector and save it as a double vector, dvec. The file should be of the format {d11,...,d1n}, and may contain comment lines starting with # at the top.

◆ rename_partons() [1/2]

Col_str ColorFull::Col_functions::rename_partons ( const Col_str ,
const std::map< int, int >  replacements 
) const

Function that renames the partons in a Col_str using a map where, in each pair, the first number is to be replaced by the second. (The Col_functions member function default_parton_numbers returns a map where the partons are given default numbers.)

◆ rename_partons() [2/2]

Col_amp ColorFull::Col_functions::rename_partons ( const Col_amp ,
const std::map< int, int >  replacements 
) const

Function that renames the partons in a Col_amp using a map where, in each pair, the first number is to be replaced by the second. (The Col_functions member function default_parton_numbers returns a map where the partons are given default numbers.)

◆ scalar_product() [1/2]

Polynomial ColorFull::Col_functions::scalar_product ( const Col_amp Ca1,
const Col_amp Ca2 
) const

Function for calculating the scalar products between Col_amps. Does not add implicit state in the gluons only case.

◆ scalar_product() [2/2]

Polynomial ColorFull::Col_functions::scalar_product ( const Col_str Cs1,
const Col_str Cs2 
) const

Function for calculating the scalar product between two Col_strs. Does not add implicit state in the gluons only case.

◆ set_CF()

void ColorFull::Col_functions::set_CF ( double  cf)
inline

Set the value of CF. The value of Nc is NOT adjusted accordingly.

◆ set_full_CF()

void ColorFull::Col_functions::set_full_CF ( bool  is_full)
inline

Switch on/off full_CF.

◆ set_Nc()

void ColorFull::Col_functions::set_Nc ( double  n)
inline

Set the number of colors. The value of CF is adjusted accordingly.

◆ set_TR()

void ColorFull::Col_functions::set_TR ( double  tr)
inline

Set the normalization of the generators. The value of CF is adjusted accordingly.

◆ split_gluon() [1/2]

Col_amp ColorFull::Col_functions::split_gluon ( const Col_str in_Col_str,
int  g_old,
int  q_new,
int  qbar_new 
) const

Function for splitting the gluon g_old in a Col_str to a qqbar pair.

◆ split_gluon() [2/2]

Col_amp ColorFull::Col_functions::split_gluon ( const Col_amp in_Col_amp,
int  g_old,
int  q_new,
int  qbar_new 
) const

Function for splitting the gluon g_old in a Col_amp to a qqbar pair.

◆ write_out_dmatr()

void ColorFull::Col_functions::write_out_dmatr ( const dmatr matr,
std::string  filename 
) const

Writes out the double version of a (scalar product) matrix to the file filename.

◆ write_out_dvec()

void ColorFull::Col_functions::write_out_dvec ( const dvec dv,
std::string  filename 
) const

Function for writing out a numerical vector, to the file filename.


The documentation for this class was generated from the following file: