BOSS 8.0.0
BESIII Offline Software System
Loading...
Searching...
No Matches
integral.h
Go to the documentation of this file.
1/*
2 * integral.h - scalar integrals
3 *
4 * this file is part of PJFry library
5 * Copyright 2011 Valery Yundin
6 */
7
8#ifndef QUL_INTEGRAL_H
9#define QUL_INTEGRAL_H
10
11#include "cache.h"
12#include "common.h"
13#include "kinem.h"
14
15// #define USE_ONELOOP 1
16// #define USE_QCDLOOP 1
17
19public:
22};
23
28
29#ifdef USE_QCDLOOP
30# define qlprec F77_FUNC( ffprec, FFPREC )
31# define qlflag F77_FUNC( ffflag, FFFLAG )
32# ifdef HAVE_QCDLOOP1_H
33# include <qcdloop1.h>
34# else
35extern "C" {
36void F77_FUNC( qlinit, QLINIT )();
37void F77_FUNC( ffexi, FFEXI )();
38
39# ifdef USE_F2C
40void F77_FUNC( qli1, QLI1 )( std::complex<double>* rslt, double* m1, double* mu2, int* ep );
41void F77_FUNC( qli2, QLI2 )( std::complex<double>* rslt, double* p1, double* m1, double* m2,
42 double* mu2, int* ep );
43void F77_FUNC( qli3, QLI3 )( std::complex<double>* rslt, double* p1, double* p2, double* p3,
44 double* m1, double* m2, double* m3, double* mu2, int* ep );
45void F77_FUNC( qli4, QLI4 )( std::complex<double>* rslt, double* p1, double* p2, double* p3,
46 double* p4, double* s12, double* s23, double* m1, double* m2,
47 double* m3, double* m4, double* mu2, int* ep );
48# else
49std::complex<double> F77_FUNC( qli1, QLI1 )( double* m1, double* mu2, int* ep );
50std::complex<double> F77_FUNC( qli2, QLI2 )( double* p1, double* m1, double* m2, double* mu2,
51 int* ep );
52std::complex<double> F77_FUNC( qli3, QLI3 )( double* p1, double* p2, double* p3, double* m1,
53 double* m2, double* m3, double* mu2, int* ep );
54std::complex<double> F77_FUNC( qli4, QLI4 )( double* p1, double* p2, double* p3, double* p4,
55 double* s12, double* s23, double* m1, double* m2,
56 double* m3, double* m4, double* mu2, int* ep );
57# endif
58
59extern struct {
60 double xloss, precx, precc, xalogm, xclogm, xalog2, xclog2, reqprc;
61} qlprec;
62extern struct {
63 int lwrite, ltest, l4also, ldc3c4, lmem, lwarn, ldot, nevent, ner, id, idsub, nwidth, nschem,
64 onshel, idot;
65} qlflag;
66}
67# endif /* HAVE_QCDLOOP1_H */
68#endif /* USE_QCDLOOP */
69
70#ifdef USE_ONELOOP
71extern "C" {
72void F77_FUNC_( avh_olo_mu_set, AVH_OLO_MU_SET )( double* mu );
73void F77_FUNC_( avh_olo_onshell, AVH_OLO_ONSHELL )( double* thrs );
74void F77_FUNC_( avh_olo_a0m, AVH_OLO_A0M )( std::complex<double>* rslt, double* m1 );
75void F77_FUNC_( avh_olo_b0m, AVH_OLO_B0M )( std::complex<double>* rslt, double* p1, double* m1,
76 double* m2 );
77void F77_FUNC_( avh_olo_c0m, AVH_OLO_C0M )( std::complex<double>* rslt, double* p1, double* p2,
78 double* p3, double* m1, double* m2, double* m3 );
79void F77_FUNC_( avh_olo_d0m, AVH_OLO_D0M )( std::complex<double>* rslt, double* p1, double* p2,
80 double* p3, double* p4, double* p12, double* p23,
81 double* m1, double* m2, double* m3, double* m4 );
82}
83#endif /* USE_ONELOOP */
84
85#endif /* QUL_INTEGRAL_H */
double p2[4]
double p1[4]
Definition kinem.h:93
ICache::Ival qlI1(const Kinem1 &k)
ICache::Ival qlI2(const Kinem2 &k)
ICache::Ival qlI4(const Kinem4 &k)
ICache::Ival qlI3(const Kinem3 &k)
double double * m2
Definition qcdloop1.h:83
double int * ep
Definition qcdloop1.h:82
double * mu2
Definition qcdloop1.h:82
double * m1
Definition qcdloop1.h:83