colorfull is hosted by Hepforge, IPPP Durham
ColorFull  1.1

#include <Trace_type_basis.h>

Inheritance diagram for ColorFull::Trace_type_basis:
ColorFull::Col_basis ColorFull::Trace_basis ColorFull::Tree_level_gluon_basis

Public Member Functions

 Trace_type_basis ()
 
Poly_vec decompose (const Col_amp &Ca)
 
std::pair< int, int > new_vector_numbers (const Col_str &Cs, int emitter)
 
std::pair< int, int > new_vector_numbers (int old_num, int emitter, int n_loop) const
 
- Public Member Functions inherited from ColorFull::Col_basis
 Col_basis ()
 
virtual ~Col_basis ()
 
bool is_Trace_basis () const
 
bool is_Orthogonal_basis () const
 
bool is_Tree_level_gluon_basis () const
 
uint size () const
 
const Col_ampat (const int i) const
 
Col_ampat (const int i)
 
bool empty () const
 
void clear ()
 
void append (Col_amp Ca)
 
void append (col_basis cb_in)
 
void scalar_product_matrix ()
 
void scalar_product_matrix_num ()
 
virtual void scalar_product_matrix_no_mem ()
 
void scalar_product_matrix_num_no_mem ()
 
void leading_scalar_product_matrix ()
 
virtual Polynomial scalar_product (const Col_amp &Ca1, const Col_amp &Ca2)
 
virtual cnum scalar_product_num (const Col_amp &Ca1, const Col_amp &Ca2)
 
virtual cnum scalar_product_num (const cvec &v1, const cvec &v2)
 
cnum scalar_product_num_diagonal (const cvec &v1, const cvec &v2)
 
std::string basis_file_name () const
 
std::string spm_file_name (const bool leading, const bool poly) const
 
virtual void read_in_Col_basis (std::string filename)
 
virtual void read_in_Col_basis ()
 
void read_in_d_spm (std::string filename)
 
void read_in_d_spm ()
 
void read_in_leading_d_spm (std::string filename)
 
void read_in_leading_d_spm ()
 
void read_in_P_spm (std::string filename)
 
void read_in_P_spm ()
 
void read_in_leading_P_spm (std::string filename)
 
void read_in_leading_P_spm ()
 
virtual void write_out_Col_basis (std::string filename) const
 
virtual void write_out_Col_basis () const
 
void write_out_d_spm (std::string filename) const
 
void write_out_d_spm () const
 
void write_out_P_spm (std::string filename) const
 
void write_out_P_spm () const
 
void write_out_leading_d_spm (std::string filename) const
 
void write_out_leading_d_spm () const
 
void write_out_leading_P_spm (std::string filename) const
 
void write_out_leading_P_spm () const
 
void simplify ()
 
Col_amp exchange_gluon (uint vec, int p1, int p2)
 
Poly_matr color_gamma (int p1, int p2)
 
int n_quark_check () const
 
int n_gluon_check () const
 
void rename_indices (Col_str &Cs1, Col_str &Cs2) const
 

Protected Member Functions

int new_vector_number (int old_num, std::pair< int, int > place, int n_loop) const
 
std::pair< int, int > find_parton (int parton, int vec_num, int n_quark, int n_gluon, int n_loop) const
 
- Protected Member Functions inherited from ColorFull::Col_basis
virtual void scalar_product_matrix (bool save_P_spm, bool save_d_spm, bool use_mem)
 
virtual Polynomial ij_entry (const int i, const int j) const
 
bool check_diagonal (const dmatr &matr) const
 
bool check_symmetry (const dmatr &matr) const
 
void check_spm () const
 
void Col_basis_of_str (std::string str)
 
virtual std::ostream & write_out_Col_basis_to_stream (std::ostream &out) const
 

Protected Attributes

int max_ql
 
- Protected Attributes inherited from ColorFull::Col_basis
bool trace_basis
 
bool tree_level_gluon_basis
 
bool orthogonal_basis
 

Additional Inherited Members

- Public Attributes inherited from ColorFull::Col_basis
int nq
 
int ng
 
col_basis cb
 
Poly_matr P_spm
 
Poly_matr leading_P_spm
 
dmatr d_spm
 
dmatr leading_d_spm
 
Col_functions Col_fun
 

Detailed Description

Trace_type_basis is used for the common features of Trace_basis and Tree_level_gluon_basis which both inherit from Trace_type_basis.

Constructor & Destructor Documentation

◆ Trace_type_basis()

ColorFull::Trace_type_basis::Trace_type_basis ( )
inline

Default constructor.

Member Function Documentation

◆ decompose()

Poly_vec ColorFull::Trace_type_basis::decompose ( const Col_amp Ca)
virtual

A function for decomposing the color amplitude ca in the basis, returning the result as a Polynomial.

Reimplemented from ColorFull::Col_basis.

◆ find_parton()

std::pair<int,int> ColorFull::Trace_type_basis::find_parton ( int  parton,
int  vec_num,
int  n_quark,
int  n_gluon,
int  n_loop 
) const
protected

This function is only intended for special case of: 0 qqbar-pairs and Tree_level_gluon_basis or Trace_basis and 1-2 qqbar-pairs at tree level, i.e. n_loop must be 0. It locates the parton parton in the normal ordered basis, given the number of the vector vec_num, and the number of quarks and gluons in the basis. The function has been explicitly tested for Trace_basis with 1 qqbar-pair and up to 8 gluons and 2 qqbar-pairs and up to 7 gluons, and for Tree_level_gluon_bases with up to 9 gluons. The arguments n_quark and n_gluon has to be provided as it may be desirable to use the function with a different number of quarks and gluons than in the basis itself.

◆ new_vector_number()

int ColorFull::Trace_type_basis::new_vector_number ( int  old_num,
std::pair< int, int >  place,
int  n_loop 
) const
protected

Function for finding the new vector number in the basis with n_p+1 partons (this basis) after inserting a new gluon with larger parton number at the place place. This function is only intended for the special cases of 0 qqbar-pairs and Tree_level_gluon_basis or Trace_basis and 1-2 qqbar-pairs at tree level, i.e. n_loop must be 0. This function doesn't actually use the cb, but only calculates the the basis vector number using find_parton. The old vector has number old_num, and there were, before emission nq quarks (+ nq anti-quarks) and n_g-1 gluons, i.e. n_p=2 nq + n_g-1. The function has been explicitly tested for initial states with 2qqbar-pairs and up to 5 gluons, 1qqbar-pair and up to 7 gluons, 0 qqbar-pairs and up to 8 gluons.

◆ new_vector_numbers() [1/2]

std::pair<int, int> ColorFull::Trace_type_basis::new_vector_numbers ( const Col_str Cs,
int  emitter 
)

Function for finding the new vector numbers in the new basis (this trace basis) after radiating a new gluon from the parton emitter. The old color structure is Cs, and after emission a linear combination of new basis vectors is obtained. For emission from a quark or an anti-quark there is only one resulting color structure, and -1 is returned in the place of the absent color structure. The second vector, where the new gluon is inserted before the emitter, comes with a minus sign in the new total amplitude.

◆ new_vector_numbers() [2/2]

std::pair<int, int> ColorFull::Trace_type_basis::new_vector_numbers ( int  old_num,
int  emitter,
int  n_loop 
) const

This function is intended for tree-level processes with at most 2 qqbar-pairs. It finds the new vector numbers in the basis for n_p+1 partons after radiating a new gluon from the parton emitter. This function does not actually use the cb, but only calculates the basis vector number, which makes it much quicker than the general version. The old vector has number old_num, and there were, before emission, nq quarks (+ nq anti-quarks) and n_g-1 gluons, i.e. n_p=2 nq+ n_g-1. For emission from q or qbar there is only one resulting color structure, and -1 is returned in the place of the absent color structure. The second vector, where the new gluon is inserted before the emitter comes with a minus sign in the new total amplitude. The function has been explicitly tested against its sister function for initial states with 2 qqbar-pairs and up to 5 gluons, 1qqbar-pair and up to 7 gluons and 0 qqbar-pairs and up to 8 gluons.

Member Data Documentation

◆ max_ql

int ColorFull::Trace_type_basis::max_ql
protected

The maximal number of quark-lines allowed in the basis. This is used for constructing bases that only are valid up to a certain order in QCD, such that unused information need not be carried around.


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