BOSS 8.0.0
BESIII Offline Software System
Loading...
Searching...
No Matches
pjfry.h
Go to the documentation of this file.
1/*
2 * pjfry.h - interface header
3 *
4 * this file is part of PJFry library
5 * Copyright 2011 Valery Yundin
6 */
7
8#ifndef QUL_PJFRY_H
9#define QUL_PJFRY_H
10
11/* if language is C++ use standard complex template type */
12#ifdef __cplusplus
13# include <complex>
14# define QUL_DEFINE_COMPLEX( R, C ) typedef std::complex<R> C
15#else
16/* if <complex.h> is included, use the C99 complex type.
17 * else define a type bit-compatible with C99 complex */
18# if defined( _Complex_I ) && defined( complex ) && defined( I )
19# define QUL_DEFINE_COMPLEX( R, C ) typedef R _Complex C
20# else
21# define QUL_DEFINE_COMPLEX( R, C ) \
22 typedef struct { \
23 R re, im; \
24 } C
25# endif
26#endif
27
28QUL_DEFINE_COMPLEX( double, pj_complex );
29
30#ifdef __cplusplus
31namespace PJFry {
32 // Functions without explicit epsilon default to eps=0
33 pj_complex E0v0( double p1, double p2, double p3, double p4, double p5, double s12,
34 double s23, double s34, double s45, double s15, double m1, double m2,
35 double m3, double m4, double m5 );
36 pj_complex E0v1( int i, double p1, double p2, double p3, double p4, double p5, double s12,
37 double s23, double s34, double s45, double s15, double m1, double m2,
38 double m3, double m4, double m5 );
39 pj_complex E0v2( int i, int j, double p1, double p2, double p3, double p4, double p5,
40 double s12, double s23, double s34, double s45, double s15, double m1,
41 double m2, double m3, double m4, double m5 );
42 pj_complex E0v3( int i, int j, int k, double p1, double p2, double p3, double p4, double p5,
43 double s12, double s23, double s34, double s45, double s15, double m1,
44 double m2, double m3, double m4, double m5 );
45 pj_complex E0v4( int i, int j, int k, int l, double p1, double p2, double p3, double p4,
46 double p5, double s12, double s23, double s34, double s45, double s15,
47 double m1, double m2, double m3, double m4, double m5 );
48 pj_complex E0v5( int i, int j, int k, int l, int m, double p1, double p2, double p3,
49 double p4, double p5, double s12, double s23, double s34, double s45,
50 double s15, double m1, double m2, double m3, double m4, double m5 );
51
52 pj_complex E0v0( double p1, double p2, double p3, double p4, double p5, double s12,
53 double s23, double s34, double s45, double s15, double m1, double m2,
54 double m3, double m4, double m5, int ep );
55 pj_complex E0v1( int i, double p1, double p2, double p3, double p4, double p5, double s12,
56 double s23, double s34, double s45, double s15, double m1, double m2,
57 double m3, double m4, double m5, int ep );
58 pj_complex E0v2( int i, int j, double p1, double p2, double p3, double p4, double p5,
59 double s12, double s23, double s34, double s45, double s15, double m1,
60 double m2, double m3, double m4, double m5, int ep );
61 pj_complex E0v3( int i, int j, int k, double p1, double p2, double p3, double p4, double p5,
62 double s12, double s23, double s34, double s45, double s15, double m1,
63 double m2, double m3, double m4, double m5, int ep );
64 pj_complex E0v4( int i, int j, int k, int l, double p1, double p2, double p3, double p4,
65 double p5, double s12, double s23, double s34, double s45, double s15,
66 double m1, double m2, double m3, double m4, double m5, int ep );
67 pj_complex E0v5( int i, int j, int k, int l, int m, double p1, double p2, double p3,
68 double p4, double p5, double s12, double s23, double s34, double s45,
69 double s15, double m1, double m2, double m3, double m4, double m5, int ep );
70
71 pj_complex D0v0( double p1, double p2, double p3, double p4, double s12, double s23,
72 double m1, double m2, double m3, double m4 );
73 pj_complex D0v1( int i, double p1, double p2, double p3, double p4, double s12, double s23,
74 double m1, double m2, double m3, double m4 );
75 pj_complex D0v2( int i, int j, double p1, double p2, double p3, double p4, double s12,
76 double s23, double m1, double m2, double m3, double m4 );
77 pj_complex D0v3( int i, int j, int k, double p1, double p2, double p3, double p4, double s12,
78 double s23, double m1, double m2, double m3, double m4 );
79 pj_complex D0v4( int i, int j, int k, int l, double p1, double p2, double p3, double p4,
80 double s12, double s23, double m1, double m2, double m3, double m4 );
81
82 pj_complex D0v0( double p1, double p2, double p3, double p4, double s12, double s23,
83 double m1, double m2, double m3, double m4, int ep );
84 pj_complex D0v1( int i, double p1, double p2, double p3, double p4, double s12, double s23,
85 double m1, double m2, double m3, double m4, int ep );
86 pj_complex D0v2( int i, int j, double p1, double p2, double p3, double p4, double s12,
87 double s23, double m1, double m2, double m3, double m4, int ep );
88 pj_complex D0v3( int i, int j, int k, double p1, double p2, double p3, double p4, double s12,
89 double s23, double m1, double m2, double m3, double m4, int ep );
90 pj_complex D0v4( int i, int j, int k, int l, double p1, double p2, double p3, double p4,
91 double s12, double s23, double m1, double m2, double m3, double m4,
92 int ep );
93
94 pj_complex C0v0( double p1, double p2, double p3, double m1, double m2, double m3 );
95 pj_complex C0v1( int i, double p1, double p2, double p3, double m1, double m2, double m3 );
96 pj_complex C0v2( int i, int j, double p1, double p2, double p3, double m1, double m2,
97 double m3 );
98 pj_complex C0v3( int i, int j, int k, double p1, double p2, double p3, double m1, double m2,
99 double m3 );
100
101 pj_complex C0v0( double p1, double p2, double p3, double m1, double m2, double m3, int ep );
102 pj_complex C0v1( int i, double p1, double p2, double p3, double m1, double m2, double m3,
103 int ep );
104 pj_complex C0v2( int i, int j, double p1, double p2, double p3, double m1, double m2,
105 double m3, int ep );
106 pj_complex C0v3( int i, int j, int k, double p1, double p2, double p3, double m1, double m2,
107 double m3, int ep );
108
109 pj_complex B0v0( double p1, double m1, double m2 );
110 pj_complex B0v1( int i, double p1, double m1, double m2 );
111 pj_complex B0v2( int i, int j, double p1, double m1, double m2 );
112 pj_complex B0v3( int i, int j, int k, double p1, double m1, double m2 );
113
114 pj_complex B0v0( double p1, double m1, double m2, int ep );
115 pj_complex B0v1( int i, double p1, double m1, double m2, int ep );
116 pj_complex B0v2( int i, int j, double p1, double m1, double m2, int ep );
117 pj_complex B0v3( int i, int j, int k, double p1, double m1, double m2, int ep );
118
119 pj_complex A0v0( double m1 );
120 pj_complex A0v0( double m1, int ep );
121
122 double GetMu2();
123 double SetMu2( double newmu2 );
124 void ClearCache();
125} // namespace PJFry
126#endif /* __cplusplus */
127
128#ifdef __cplusplus
129extern "C" {
130#endif /* __cplusplus */
131
132double pgetmusq_();
133void psetmusq_( double* mu2 );
134void pclearcache_();
135
136#ifdef USE_F2C
137// f2c,g77,ifort calling convention section (result is the first parameter)
138void pa0_( pj_complex* rslt, double* m1, int* ep );
139
140void pb0_( pj_complex* rslt, double* p1, double* m1, double* m2, int* ep );
141void pb0i_( pj_complex* rslt, int* i, double* p1, double* m1, double* m2, int* ep );
142void pb0ij_( pj_complex* rslt, int* i, int* j, double* p1, double* m1, double* m2, int* ep );
143
144void pc0_( pj_complex* rslt, double* p1, double* p2, double* p3, double* m1, double* m2,
145 double* m3, int* ep );
146void pc0i_( pj_complex* rslt, int* i, double* p1, double* p2, double* p3, double* m1,
147 double* m2, double* m3, int* ep );
148void pc0ij_( pj_complex* rslt, int* i, int* j, double* p1, double* p2, double* p3, double* m1,
149 double* m2, double* m3, int* ep );
150void pc0ijk_( pj_complex* rslt, int* i, int* j, int* k, double* p1, double* p2, double* p3,
151 double* m1, double* m2, double* m3, int* ep );
152
153void pd0_( pj_complex* rslt, double* p1, double* p2, double* p3, double* p4, double* s12,
154 double* s23, double* m1, double* m2, double* m3, double* m4, int* ep );
155void pd0i_( pj_complex* rslt, int* i, double* p1, double* p2, double* p3, double* p4,
156 double* s12, double* s23, double* m1, double* m2, double* m3, double* m4,
157 int* ep );
158void pd0ij_( pj_complex* rslt, int* i, int* j, double* p1, double* p2, double* p3, double* p4,
159 double* s12, double* s23, double* m1, double* m2, double* m3, double* m4,
160 int* ep );
161void pd0ijk_( pj_complex* rslt, int* i, int* j, int* k, double* p1, double* p2, double* p3,
162 double* p4, double* s12, double* s23, double* m1, double* m2, double* m3,
163 double* m4, int* ep );
164void pd0ijkl_( pj_complex* rslt, int* i, int* j, int* k, int* l, double* p1, double* p2,
165 double* p3, double* p4, double* s12, double* s23, double* m1, double* m2,
166 double* m3, double* m4, int* ep );
167
168void pe0_( pj_complex* rslt, double* p1, double* p2, double* p3, double* p4, double* p5,
169 double* s12, double* s23, double* s34, double* s45, double* s15, double* m1,
170 double* m2, double* m3, double* m4, double* m5, int* ep );
171void pe0i_( pj_complex* rslt, int* i, double* p1, double* p2, double* p3, double* p4,
172 double* p5, double* s12, double* s23, double* s34, double* s45, double* s15,
173 double* m1, double* m2, double* m3, double* m4, double* m5, int* ep );
174void pe0ij_( pj_complex* rslt, int* i, int* j, double* p1, double* p2, double* p3, double* p4,
175 double* p5, double* s12, double* s23, double* s34, double* s45, double* s15,
176 double* m1, double* m2, double* m3, double* m4, double* m5, int* ep );
177void pe0ijk_( pj_complex* rslt, int* i, int* j, int* k, double* p1, double* p2, double* p3,
178 double* p4, double* p5, double* s12, double* s23, double* s34, double* s45,
179 double* s15, double* m1, double* m2, double* m3, double* m4, double* m5,
180 int* ep );
181void pe0ijkl_( pj_complex* rslt, int* i, int* j, int* k, int* l, double* p1, double* p2,
182 double* p3, double* p4, double* p5, double* s12, double* s23, double* s34,
183 double* s45, double* s15, double* m1, double* m2, double* m3, double* m4,
184 double* m5, int* ep );
185void pe0ijklm_( pj_complex* rslt, int* i, int* j, int* k, int* l, int* m, double* p1,
186 double* p2, double* p3, double* p4, double* p5, double* s12, double* s23,
187 double* s34, double* s45, double* s15, double* m1, double* m2, double* m3,
188 double* m4, double* m5, int* ep );
189#else
190// GNU calling convention section (result is a complex return value)
191pj_complex pa0_( double* m1, int* ep );
192
193pj_complex pb0_( double* p1, double* m1, double* m2, int* ep );
194pj_complex pb0i_( int* i, double* p1, double* m1, double* m2, int* ep );
195pj_complex pb0ij_( int* i, int* j, double* p1, double* m1, double* m2, int* ep );
196
197pj_complex pc0_( double* p1, double* p2, double* p3, double* m1, double* m2, double* m3,
198 int* ep );
199pj_complex pc0i_( int* i, double* p1, double* p2, double* p3, double* m1, double* m2,
200 double* m3, int* ep );
201pj_complex pc0ij_( int* i, int* j, double* p1, double* p2, double* p3, double* m1, double* m2,
202 double* m3, int* ep );
203pj_complex pc0ijk_( int* i, int* j, int* k, double* p1, double* p2, double* p3, double* m1,
204 double* m2, double* m3, int* ep );
205
206pj_complex pd0_( double* p1, double* p2, double* p3, double* p4, double* s12, double* s23,
207 double* m1, double* m2, double* m3, double* m4, int* ep );
208pj_complex pd0i_( int* i, double* p1, double* p2, double* p3, double* p4, double* s12,
209 double* s23, double* m1, double* m2, double* m3, double* m4, int* ep );
210pj_complex pd0ij_( int* i, int* j, double* p1, double* p2, double* p3, double* p4, double* s12,
211 double* s23, double* m1, double* m2, double* m3, double* m4, int* ep );
212pj_complex pd0ijk_( int* i, int* j, int* k, double* p1, double* p2, double* p3, double* p4,
213 double* s12, double* s23, double* m1, double* m2, double* m3, double* m4,
214 int* ep );
215pj_complex pd0ijkl_( int* i, int* j, int* k, int* l, double* p1, double* p2, double* p3,
216 double* p4, double* s12, double* s23, double* m1, double* m2, double* m3,
217 double* m4, int* ep );
218
219pj_complex pe0_( double* p1, double* p2, double* p3, double* p4, double* p5, double* s12,
220 double* s23, double* s34, double* s45, double* s15, double* m1, double* m2,
221 double* m3, double* m4, double* m5, int* ep );
222pj_complex pe0i_( int* i, double* p1, double* p2, double* p3, double* p4, double* p5,
223 double* s12, double* s23, double* s34, double* s45, double* s15, double* m1,
224 double* m2, double* m3, double* m4, double* m5, int* ep );
225pj_complex pe0ij_( int* i, int* j, double* p1, double* p2, double* p3, double* p4, double* p5,
226 double* s12, double* s23, double* s34, double* s45, double* s15, double* m1,
227 double* m2, double* m3, double* m4, double* m5, int* ep );
228pj_complex pe0ijk_( int* i, int* j, int* k, double* p1, double* p2, double* p3, double* p4,
229 double* p5, double* s12, double* s23, double* s34, double* s45,
230 double* s15, double* m1, double* m2, double* m3, double* m4, double* m5,
231 int* ep );
232pj_complex pe0ijkl_( int* i, int* j, int* k, int* l, double* p1, double* p2, double* p3,
233 double* p4, double* p5, double* s12, double* s23, double* s34,
234 double* s45, double* s15, double* m1, double* m2, double* m3, double* m4,
235 double* m5, int* ep );
236pj_complex pe0ijklm_( int* i, int* j, int* k, int* l, int* m, double* p1, double* p2,
237 double* p3, double* p4, double* p5, double* s12, double* s23,
238 double* s34, double* s45, double* s15, double* m1, double* m2,
239 double* m3, double* m4, double* m5, int* ep );
240#endif
241
242#ifdef USE_GOLEM_MODE
243double pggetmusq_();
244void pgsetmusq_( double* mu2 );
245
246void pginitgolem95_( int* n );
247double pggetmat_( int* i, int* j );
248void pgpreparesmatrix_();
249void pgsetmat_( int* i, int* j, double* val );
250
251// 5 point base
252pj_complex pga50_( int* s, int* ep );
253pj_complex pga51_( int* i, int* s, int* ep );
254pj_complex pga52_( int* i, int* j, int* s, int* ep );
255pj_complex pgb52_( int* s, int* ep );
256pj_complex pga53_( int* i, int* j, int* k, int* s, int* ep );
257pj_complex pgb53_( int* i, int* s, int* ep );
258pj_complex pga54_( int* i, int* j, int* k, int* l, int* s, int* ep );
259pj_complex pgb54_( int* i, int* j, int* s, int* ep );
260pj_complex pgc54_( int* s, int* ep );
261pj_complex pga55_( int* i, int* j, int* k, int* l, int* m, int* s, int* ep );
262pj_complex pgb55_( int* i, int* j, int* k, int* s, int* ep );
263pj_complex pgc55_( int* i, int* s, int* ep );
264
265pj_complex pga40_( int* s, int* ep );
266pj_complex pga41_( int* i, int* s, int* ep );
267pj_complex pga42_( int* i, int* j, int* s, int* ep );
268pj_complex pgb42_( int* s, int* ep );
269pj_complex pga43_( int* i, int* j, int* k, int* s, int* ep );
270pj_complex pgb43_( int* i, int* s, int* ep );
271pj_complex pga44_( int* i, int* j, int* k, int* l, int* s, int* ep );
272pj_complex pgb44_( int* i, int* j, int* s, int* ep );
273pj_complex pgc44_( int* s, int* ep );
274
275pj_complex pga30_( int* s, int* ep );
276pj_complex pga31_( int* i, int* s, int* ep );
277pj_complex pga32_( int* i, int* j, int* s, int* ep );
278pj_complex pgb32_( int* s, int* ep );
279pj_complex pga33_( int* i, int* j, int* k, int* s, int* ep );
280pj_complex pgb33_( int* i, int* s, int* ep );
281
282pj_complex pga20_( int* s, int* ep );
283pj_complex pga21_( int* i, int* s, int* ep );
284pj_complex pga22_( int* i, int* j, int* s, int* ep );
285pj_complex pgb22_( int* s, int* ep );
286
287#endif /* USE_GOLEM_MODE */
288
289#ifdef __cplusplus
290}
291#endif
292
293#endif /* QUL_PJFRY_H */
double p2[4]
double p1[4]
const Int_t n
XmlRpcServer s
pj_complex pc0_(double *p1, double *p2, double *p3, double *m1, double *m2, double *m3, int *ep)
Definition pjfry.cpp:544
pj_complex pb0ij_(int *i, int *j, double *p1, double *m1, double *m2, int *ep)
Definition pjfry.cpp:572
pj_complex pd0i_(int *i, double *p1, double *p2, double *p3, double *p4, double *s12, double *s23, double *m1, double *m2, double *m3, double *m4, int *ep)
Definition pjfry.cpp:521
pj_complex pe0ijklm_(int *i, int *j, int *k, int *l, int *m, double *p1, double *p2, double *p3, double *p4, double *p5, double *s12, double *s23, double *s34, double *s45, double *s15, double *m1, double *m2, double *m3, double *m4, double *m5, int *ep)
Definition pjfry.cpp:508
pj_complex pc0i_(int *i, double *p1, double *p2, double *p3, double *m1, double *m2, double *m3, int *ep)
Definition pjfry.cpp:549
double pgetmusq_()
Definition pjfry.cpp:353
pj_complex pb0_(double *p1, double *m1, double *m2, int *ep)
Definition pjfry.cpp:564
#define QUL_DEFINE_COMPLEX(R, C)
Definition pjfry.h:21
pj_complex pc0ij_(int *i, int *j, double *p1, double *p2, double *p3, double *m1, double *m2, double *m3, int *ep)
Definition pjfry.cpp:554
pj_complex pd0ijkl_(int *i, int *j, int *k, int *l, double *p1, double *p2, double *p3, double *p4, double *s12, double *s23, double *m1, double *m2, double *m3, double *m4, int *ep)
Definition pjfry.cpp:537
void pclearcache_()
Definition pjfry.cpp:357
pj_complex pc0ijk_(int *i, int *j, int *k, double *p1, double *p2, double *p3, double *m1, double *m2, double *m3, int *ep)
Definition pjfry.cpp:559
pj_complex pd0ijk_(int *i, int *j, int *k, double *p1, double *p2, double *p3, double *p4, double *s12, double *s23, double *m1, double *m2, double *m3, double *m4, int *ep)
Definition pjfry.cpp:531
pj_complex pa0_(double *m1, int *ep)
Definition pjfry.cpp:576
pj_complex pe0ijkl_(int *i, int *j, int *k, int *l, double *p1, double *p2, double *p3, double *p4, double *p5, double *s12, double *s23, double *s34, double *s45, double *s15, double *m1, double *m2, double *m3, double *m4, double *m5, int *ep)
Definition pjfry.cpp:500
void psetmusq_(double *mu2)
Definition pjfry.cpp:355
pj_complex pe0i_(int *i, double *p1, double *p2, double *p3, double *p4, double *p5, double *s12, double *s23, double *s34, double *s45, double *s15, double *m1, double *m2, double *m3, double *m4, double *m5, int *ep)
Definition pjfry.cpp:478
pj_complex pe0ij_(int *i, int *j, double *p1, double *p2, double *p3, double *p4, double *p5, double *s12, double *s23, double *s34, double *s45, double *s15, double *m1, double *m2, double *m3, double *m4, double *m5, int *ep)
Definition pjfry.cpp:485
pj_complex pe0_(double *p1, double *p2, double *p3, double *p4, double *p5, double *s12, double *s23, double *s34, double *s45, double *s15, double *m1, double *m2, double *m3, double *m4, double *m5, int *ep)
Definition pjfry.cpp:471
pj_complex pd0_(double *p1, double *p2, double *p3, double *p4, double *s12, double *s23, double *m1, double *m2, double *m3, double *m4, int *ep)
Definition pjfry.cpp:516
pj_complex pe0ijk_(int *i, int *j, int *k, double *p1, double *p2, double *p3, double *p4, double *p5, double *s12, double *s23, double *s34, double *s45, double *s15, double *m1, double *m2, double *m3, double *m4, double *m5, int *ep)
Definition pjfry.cpp:492
pj_complex pb0i_(int *i, double *p1, double *m1, double *m2, int *ep)
Definition pjfry.cpp:568
pj_complex pd0ij_(int *i, int *j, double *p1, double *p2, double *p3, double *p4, double *s12, double *s23, double *m1, double *m2, double *m3, double *m4, int *ep)
Definition pjfry.cpp:526
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