BOSS 7.1.1
BESIII Offline Software System
Loading...
Searching...
No Matches
eemmg-lib/src/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 "common.h"
12#include "kinem.h"
13#include "cache.h"
14
15// #define USE_ONELOOP 1
16// #define USE_QCDLOOP 1
17
18class Initialize
19{
20 public:
23};
24
29
30#ifdef USE_QCDLOOP
31#define qlprec F77_FUNC(ffprec,FFPREC)
32#define qlflag F77_FUNC(ffflag,FFFLAG)
33# ifdef HAVE_QCDLOOP1_H
34# include <qcdloop1.h>
35# else
36 extern "C" {
37 void F77_FUNC(qlinit,QLINIT)();
38 void F77_FUNC(ffexi,FFEXI)();
39
40#ifdef USE_F2C
41 void F77_FUNC(qli1,QLI1)(std::complex<double> *rslt, double *m1, double *mu2, int *ep);
42 void F77_FUNC(qli2,QLI2)(std::complex<double> *rslt, double *p1, double *m1, double *m2, double *mu2, int *ep);
43 void F77_FUNC(qli3,QLI3)(std::complex<double> *rslt, double *p1, double *p2, double *p3, double *m1, double *m2, double *m3, double *mu2, int *ep);
44 void F77_FUNC(qli4,QLI4)(std::complex<double> *rslt, double *p1, double *p2, double *p3, double *p4, double *s12, double *s23, double *m1, double *m2, double *m3, double *m4, double *mu2, int *ep);
45#else
46 std::complex<double> F77_FUNC(qli1,QLI1)(double *m1, double *mu2, int *ep);
47 std::complex<double> F77_FUNC(qli2,QLI2)(double *p1, double *m1, double *m2, double *mu2, int *ep);
48 std::complex<double> F77_FUNC(qli3,QLI3)(double *p1, double *p2, double *p3, double *m1, double *m2, double *m3, double *mu2, int *ep);
49 std::complex<double> F77_FUNC(qli4,QLI4)(double *p1, double *p2, double *p3, double *p4, double *s12, double *s23, double *m1, double *m2, double *m3, double *m4, double *mu2, int *ep);
50#endif
51
52 extern struct {
53 double xloss,precx,precc,xalogm,xclogm,xalog2,xclog2,reqprc;
54 } qlprec;
55 extern struct {
56 int lwrite,ltest,l4also,ldc3c4,lmem,lwarn,ldot,
57 nevent,ner,id,idsub,nwidth,nschem,onshel,idot;
58 } qlflag;
59 }
60#endif /* HAVE_QCDLOOP1_H */
61#endif /* USE_QCDLOOP */
62
63#ifdef USE_ONELOOP
64 extern "C" {
65 void F77_FUNC_(avh_olo_mu_set,AVH_OLO_MU_SET)(double *mu);
66 void F77_FUNC_(avh_olo_onshell,AVH_OLO_ONSHELL)(double *thrs);
67 void F77_FUNC_(avh_olo_a0m,AVH_OLO_A0M)(std::complex<double> *rslt, double *m1);
68 void F77_FUNC_(avh_olo_b0m,AVH_OLO_B0M)(std::complex<double> *rslt, double *p1, double *m1, double *m2);
69 void F77_FUNC_(avh_olo_c0m,AVH_OLO_C0M)(std::complex<double> *rslt, double *p1, double *p2, double *p3, double *m1, double *m2, double *m3);
70 void F77_FUNC_(avh_olo_d0m,AVH_OLO_D0M)(std::complex<double> *rslt, double *p1, double *p2, double *p3, double *p4, double *p12, double *p23, double *m1, double *m2, double *m3, double *m4);
71 }
72#endif /* USE_ONELOOP */
73
74#endif /* QUL_INTEGRAL_H */
double p1[4]
double p2[4]
idot ** xloss
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 double double double * m3
Definition qcdloop1.h:76
double double double * p4
Definition qcdloop1.h:77
double double double double * s12
Definition qcdloop1.h:77
double double double double double * s23
Definition qcdloop1.h:77
double double double double double double double double double * m4
Definition qcdloop1.h:77
double int * ep
Definition qcdloop1.h:74
double * mu2
Definition qcdloop1.h:74
double * m1
Definition qcdloop1.h:75
double double * p3
Definition qcdloop1.h:76
double double * m2
Definition qcdloop1.h:75