BOSS 8.0.0
BESIII Offline Software System
Loading...
Searching...
No Matches
Minor5 Class Reference

#include <minor.h>

Inheritance diagram for Minor5:

Public Types

typedef SPtr< Minor5Ptr

Public Member Functions

ncomplex evalE (int ep)
ncomplex evalE (int ep, int i)
ncomplex evalE (int ep, int i, int j)
ncomplex evalE (int ep, int i, int j, int k)
ncomplex evalE (int ep, int i, int j, int k, int l)
ncomplex evalE (int ep, int i, int j, int k, int l, int m)
ncomplex I4s (int ep, int s)
ncomplex I3st (int ep, int s, int t)
ncomplex I4Ds (int ep, int s)
ncomplex I4Dsi (int ep, int s, int i)
ncomplex I2stu (int ep, int s, int t, int u)
ncomplex I3Dst (int ep, int s, int t)
ncomplex I4D2s (int ep, int s)
ncomplex I4D2si (int ep, int s, int i)
ncomplex I3Dsti (int ep, int s, int t, int i)
ncomplex I3D2st (int ep, int s, int t)
ncomplex I4D3s (int ep, int s)
ncomplex I4D2sij (int ep, int s, int i, int j)
ncomplex I2Dstu (int ep, int s, int t, int u)
ncomplex I3D2sti (int ep, int s, int t, int i)
ncomplex I4D3si (int ep, int s, int i)
ncomplex I4D3sij (int ep, int s, int i, int j)
ncomplex I2Dstui (int ep, int s, int t, int u, int i)
ncomplex I3D2stij (int ep, int s, int t, int i, int j)
ncomplex I4D3sijk (int ep, int s, int i, int j, int k)
ncomplex I4D4s (int ep, int s)
ncomplex I4D4si (int ep, int s, int i)
ncomplex I3D3sti (int ep, int s, int t, int i)
ncomplex I4D4sij (int ep, int s, int i, int j)
ncomplex I2D2stui (int ep, int s, int t, int u, int i)
ncomplex I3D3stij (int ep, int s, int t, int i, int j)
ncomplex I4D4sijk (int ep, int s, int i, int j, int k)
ncomplex I2D2stuij (int ep, int s, int t, int u, int i, int j)
ncomplex I3D3stijk (int ep, int s, int t, int i, int j, int k)
ncomplex I4D4sijkl (int ep, int s, int i, int j, int k, int l)
ncomplex I2D2stu (int ep, int s, int t, int u)
ncomplex I3D3st (int ep, int s, int t)
ncomplex I2D3stu (int ep, int s, int t, int u)
ncomplex I3D4st (int ep, int s, int t)
ncomplex I2D4stu (int ep, int s, int t, int u)
ncomplex I3D5st (int ep, int s, int t)
ncomplex I2D5stu (int ep, int s, int t, int u)
ncomplex I3D6st (int ep, int s, int t)
ncomplex I2D6stu (int ep, int s, int t, int u)
ncomplex I3D7st (int ep, int s, int t)
double M1 (int i, int l) PURE
double M2 (int i, int j, int l, int m) PURE
double M3 (int i, int j, int k, int l, int m, int n) PURE
double gram3 (double p1, double p2, double p3) PURE
Public Member Functions inherited from Minor< 5 >
 Minor ()
double Kay (int i, int j) PURE
Public Member Functions inherited from MinorBase
 MinorBase ()
Public Member Functions inherited from SRefCnt
 SRefCnt ()

Static Public Member Functions

static Ptr create (const Kinem5 &k)
static Ptr create (const Kinem4 &k)
Static Public Member Functions inherited from MinorBase
static int ns (int i, int j) CONST
static int nss (int i, int j) CONST
static int is (int i, int j) CONST
static int is (int i, int j, int k) CONST
static int is (int i, int j, int k, int l) CONST
static int iss (int i, int j) CONST
static int iss (int i, int j, int k) CONST
static int iss (int i, int j, int k, int l) CONST
static int iss (int i, int j, int k, int l, int m) CONST
static double getmeps ()
static int im3 (int i, int j, int k) CONST
static int im2 (int i, int j) CONST
static int signM3ud (int i, int j, int k, int l, int m, int n) CONST
static int signM2ud (int i, int j, int l, int m) CONST
static void freeidxM3 (int set[], int free[])
static void Rescale (double factor)

Friends

class SPtr< Minor5 >

Additional Inherited Members

Protected Attributes inherited from Minor< 5 >
double Cay [(DCay - 1) *(DCay)/2]
Protected Attributes inherited from SRefCnt
int count
Static Protected Attributes inherited from Minor< 5 >
static const int DCay
Static Protected Attributes inherited from MinorBase
static const unsigned char idxtbl [64]
static const double teps = 1e-14
static const double heps = 1e-15
static const double ceps = 5e-2
static const double deps1 = 5e-2
static const double deps2 = 5e-2
static const double deps3 = 5e-2
static const double seps1 = 1e-8
static const double seps2 = 1e-5
static const double epsir1 = 5e-6
static const double epsir2 = 5e-6
static double deps = 1e-14
static double meps = 1e-10
static double m3eps = 1

Detailed Description

Definition at line 189 of file minor.h.

Member Typedef Documentation

◆ Ptr

Definition at line 192 of file minor.h.

Member Function Documentation

◆ create() [1/2]

Ptr Minor5::create ( const Kinem4 & k)
inlinestatic

Definition at line 194 of file minor.h.

194{ return Ptr( new Minor5( k ) ); }
SPtr< Minor5 > Ptr
Definition minor.h:192

◆ create() [2/2]

Ptr Minor5::create ( const Kinem5 & k)
inlinestatic

Definition at line 193 of file minor.h.

193{ return Ptr( new Minor5( k ) ); }

Referenced by getMinorN().

◆ evalE() [1/6]

ncomplex Minor5::evalE ( int ep)

Definition at line 24 of file minoreval.cpp.

24 {
25 ncomplex ivalue = 0;
26 ncomplex sum1 = 0;
27 const double d00 = M1( 0, 0 );
28 for ( int s = 1; s <= 5; s++ ) { sum1 += M1( 0, s ) * I4s( ep, s ); }
29 ivalue = sum1 / d00;
30 return ivalue;
31}
std::complex< double > ncomplex
XmlRpcServer s
ncomplex I4s(int ep, int s)
Definition minor.cpp:834
double M1(int i, int l) PURE
Definition minor.cpp:474
double int * ep
Definition qcdloop1.h:82

Referenced by ICache::getE(), ICache::getE(), ICache::getE(), ICache::getE(), ICache::getE(), and ICache::getE().

◆ evalE() [2/6]

ncomplex Minor5::evalE ( int ep,
int i )

Definition at line 37 of file minoreval.cpp.

37 {
38 ncomplex ivalue = 0;
39 ncomplex sum1 = 0;
40 const double d00 = M1( 0, 0 );
41 for ( int s = 1; s <= 5; s++ ) { sum1 += M2( 0, i, 0, s ) * I4s( ep, s ); }
42 ivalue = -sum1 / d00;
43 return ivalue;
44}
double M2(int i, int j, int l, int m) PURE
Definition minor.cpp:480

◆ evalE() [3/6]

ncomplex Minor5::evalE ( int ep,
int i,
int j )

Definition at line 50 of file minoreval.cpp.

50 {
51 ncomplex ivalue = 0;
52 const double d00 = M1( 0, 0 );
53 if ( i == 0 && j == 0 )
54 {
55 ncomplex sum1 = 0;
56 for ( int s = 1; s <= 5; s++ ) { sum1 += M1( 0, s ) * I4Ds( ep, s ); }
57 ivalue = -sum1 / ( 2 * d00 );
58 }
59 else
60 {
61 assert( i != 0 && j != 0 ); // E01, E02, etc do not exist
62 ncomplex sum1 = 0;
63 for ( int s = 1; s <= 5; s++ )
64 {
65 sum1 += M2( 0, i, s, j ) * I4Ds( ep, s );
66 sum1 += M2( 0, s, 0, j ) * I4Dsi( ep, s, i );
67 }
68 // if (i!=j) { // is symmetrization needed?
69 // ncomplex sumX=0;
70 // for (int s=1; s<=5; s++) {
71 // sumX+=M2(0, j, s, i)*I4Ds(ep, s);
72 // sumX+=M2(0, s, 0, i)*I4Dsi(ep, s, j);
73 // }
74 // sum1=0.5*(sum1+sumX);
75 // }
76 ivalue = sum1 / d00;
77 }
78 return ivalue;
79}
ncomplex I4Ds(int ep, int s)
Definition minor.cpp:974
ncomplex I4Dsi(int ep, int s, int i)
Definition minor.cpp:1056

◆ evalE() [4/6]

ncomplex Minor5::evalE ( int ep,
int i,
int j,
int k )

Definition at line 85 of file minoreval.cpp.

85 {
86 ncomplex ivalue = 0;
87 const double d00 = M1( 0, 0 );
88 if ( i == 0 && j == 0 )
89 {
90 assert( i == 0 && j == 0 && k != 0 ); // E000 does not exist, E100 is a wrong syntax
91
92 /* // Fleischer's formula 6.13
93 ncomplex sum1=0;
94 for (int s=1; s<=5; s++) {
95 sum1+=0.5*M2(0, s, 0, k)*I4Ds(ep, s);
96 sum1+=-M1(s, k)*I4D2s(ep, s); // (4-1)/3=1 // NB d-1=3 and d=4
97 }
98 ivalue=sum1/d00;
99 */
100 // This variant looks simpler (does not depend on I4D2s)
101 ncomplex sum1 = 0;
102 for ( int s = 1; s <= 5; s++ )
103 {
104 sum1 += 0.5 * M2( 0, s, 0, k ) * I4Ds( ep, s );
105 sum1 += M1( s, 0 ) * I4D2si( ep, s, k );
106 }
107 ivalue = sum1 / ( 3 * d00 );
108 }
109 else
110 {
111 assert( i != 0 && j != 0 && k != 0 ); // E110, E012, etc do not exist
112 ncomplex sum1 = 0;
113 ncomplex sumX = 0;
114 ncomplex sumY = 0;
115 if ( i == j )
116 {
117 for ( int s = 1; s <= 5; s++ )
118 {
119 sum1 += 2 * M2( 0, j, s, k ) * I4D2si( ep, s, i );
120 sum1 += M2( 0, s, 0, k ) * I4D2sij( ep, s, i, j );
121 }
122 if ( i != k )
123 {
124 for ( int s = 1; s <= 5; s++ )
125 {
126 sumX += M2( 0, j, s, i ) * I4D2si( ep, s, k );
127 sumX += M2( 0, k, s, i ) * I4D2si( ep, s, j );
128 sumX += M2( 0, s, 0, i ) * I4D2sij( ep, s, k, j );
129 }
130 sum1 = ( sum1 + 2. * sumX ) / 3.;
131 }
132 }
133 else
134 { // i!=j
135 for ( int s = 1; s <= 5; s++ )
136 {
137 sum1 += M2( 0, j, s, k ) * I4D2si( ep, s, i );
138 sum1 += M2( 0, i, s, k ) * I4D2si( ep, s, j );
139 sum1 += M2( 0, s, 0, k ) * I4D2sij( ep, s, i, j );
140 }
141 if ( i != k )
142 {
143 for ( int s = 1; s <= 5; s++ )
144 {
145 sumX += M2( 0, j, s, i ) * I4D2si( ep, s, k );
146 sumX += M2( 0, k, s, i ) * I4D2si( ep, s, j );
147 sumX += M2( 0, s, 0, i ) * I4D2sij( ep, s, k, j );
148 }
149 }
150 else { sumX = sum1; }
151 if ( j != k )
152 {
153 for ( int s = 1; s <= 5; s++ )
154 {
155 sumY += M2( 0, k, s, j ) * I4D2si( ep, s, i );
156 sumY += M2( 0, i, s, j ) * I4D2si( ep, s, k );
157 sumY += M2( 0, s, 0, j ) * I4D2sij( ep, s, i, k );
158 }
159 }
160 else { sumY = sum1; }
161 sum1 = ( sum1 + sumX + sumY ) / 3.;
162 }
163 ivalue = -sum1 / d00;
164 }
165 return ivalue;
166}
ncomplex I4D2si(int ep, int s, int i)
Definition minor.cpp:1308
ncomplex I4D2sij(int ep, int s, int i, int j)
Definition minor.cpp:1489

◆ evalE() [5/6]

ncomplex Minor5::evalE ( int ep,
int i,
int j,
int k,
int l )

Definition at line 172 of file minoreval.cpp.

172 {
173 ncomplex ivalue = 0;
174 const double d00 = M1( 0, 0 );
175
176 if ( i == 0 && j == 0 )
177 {
178 if ( k == 0 && l == 0 )
179 {
180 ncomplex sum1 = 0;
181 for ( int s = 1; s <= 5; s++ )
182 {
183#ifndef USE_GOLEM_MODE
184 // Cancel pole and finite part with E00ij - LoopTools-like convention
185 sum1 += M1( s, 0 ) * ( I4D2s( ep, s ) + ( ep == 0 ? ( -1. / 6. + 1. / 4. )
186 : ( ep == 1 ? -1. / 6. : 0. ) ) );
187#else
188 // Golem95 convention
189 sum1 += M1( s, 0 ) * ( I4D2s( ep, s ) + ( ep == 0 ? -1. / 9. : 0. ) );
190#endif
191 }
192 ivalue = 0.25 * sum1 / d00;
193 }
194 else
195 {
196 assert( i == 0 && j == 0 && k != 0 && l != 0 ); // E0001 does not exist, E1200 is a wrong
197 // syntax
198 ncomplex sum1 = 0;
199
200 for ( int s = 1; s <= 5; s++ )
201 {
202#ifndef USE_GOLEM_MODE
203 // Cancel pole and finite part with E0000 - LoopTools-like convention
204 sum1 += 0.5 * ( M2( 0, k, s, l ) + M2( 0, l, s, k ) ) *
205 ( I4D2s( ep, s ) +
206 ( ep == 0 ? ( -1. / 6. + 1. / 4. ) : ( ep == 1 ? -1. / 6. : 0. ) ) );
207#else
208 // Golem95 convention
209 sum1 += 0.5 * ( M2( 0, k, s, l ) + M2( 0, l, s, k ) ) *
210 ( I4D2s( ep, s ) + ( ep == 0 ? -1. / 9. : 0. ) );
211#endif
212 sum1 += 0.5 * ( M2( 0, s, 0, l ) * I4D2si( ep, s, k ) +
213 M2( 0, s, 0, k ) * I4D2si( ep, s, l ) );
214 sum1 += 0.5 * M1( s, 0 ) * ( I4D3sij( ep, s, k, l ) + I4D3sij( ep, s, l, k ) );
215 }
216 ivalue = -0.25 * sum1 / d00;
217 }
218 }
219 else
220 {
221 assert( i != 0 && j != 0 && k != 0 && l != 0 ); // E110, E012, etc do not exist
222 ncomplex sum1234 = 0;
223 for ( int s = 1; s <= 5; s++ )
224 {
225 ncomplex sum1 = M2( 0, k, s, l ) * I4D3sij( ep, s, i, j ) +
226 M2( 0, i, s, l ) * I4D3sij( ep, s, k, j ) +
227 M2( 0, j, s, l ) * I4D3sij( ep, s, i, k ) +
228 M2( 0, s, 0, l ) * I4D3sijk( ep, s, i, j, k );
229 ncomplex sum2 = sum1;
230 if ( l != k )
231 {
232 sum2 = M2( 0, l, s, k ) * I4D3sij( ep, s, i, j ) +
233 M2( 0, i, s, k ) * I4D3sij( ep, s, l, j ) +
234 M2( 0, j, s, k ) * I4D3sij( ep, s, i, l ) +
235 M2( 0, s, 0, k ) * I4D3sijk( ep, s, i, j, l );
236 }
237 ncomplex sum3 = sum1;
238 if ( j == k ) { sum3 = sum2; }
239 else if ( l != j )
240 {
241 sum3 = M2( 0, k, s, j ) * I4D3sij( ep, s, i, l ) +
242 M2( 0, i, s, j ) * I4D3sij( ep, s, k, l ) +
243 M2( 0, l, s, j ) * I4D3sij( ep, s, i, k ) +
244 M2( 0, s, 0, j ) * I4D3sijk( ep, s, i, l, k );
245 }
246 ncomplex sum4 = sum1;
247 if ( i == j ) { sum4 = sum3; }
248 else if ( l != i )
249 {
250 sum4 = M2( 0, k, s, i ) * I4D3sij( ep, s, l, j ) +
251 M2( 0, l, s, i ) * I4D3sij( ep, s, k, j ) +
252 M2( 0, j, s, i ) * I4D3sij( ep, s, l, k ) +
253 M2( 0, s, 0, i ) * I4D3sijk( ep, s, l, j, k );
254 }
255 sum1234 += sum1 + sum2 + sum3 + sum4;
256 }
257 ivalue = sum1234 / ( 4 * d00 );
258 }
259 return ivalue;
260}
ncomplex I4D3sijk(int ep, int s, int i, int j, int k)
Definition minor.cpp:2266
ncomplex I4D3sij(int ep, int s, int i, int j)
Definition minor.cpp:2022
ncomplex I4D2s(int ep, int s)
Definition minor.cpp:1220

◆ evalE() [6/6]

ncomplex Minor5::evalE ( int ep,
int i,
int j,
int k,
int l,
int m )

Definition at line 266 of file minoreval.cpp.

266 {
267 ncomplex ivalue = 0;
268 const double d00 = M1( 0, 0 );
269
270 if ( i == 0 && j == 0 )
271 {
272 if ( k == 0 && l == 0 )
273 {
274 assert( m != 0 ); // E00000 does not exist
275 ncomplex sum1 = 0;
276 for ( int s = 1; s <= 5; s++ )
277 {
278 sum1 += +M2( 0, s, 0, m ) * I4D2s( ep, s ) +
279 M1( s, 0 ) * ( 4. * I4D3si( ep, s, m ) -
280 2. * ( ep < 2 ? I4D3si( ep + 1, s, m ) : 0. ) );
281 }
282 ivalue = -sum1 / ( 20. * d00 );
283 }
284 else
285 {
286 assert( i == 0 && j == 0 && k != 0 && l != 0 && m != 0 ); // E00012 does not exist,
287 // E00100 is a wrong syntax
288 ncomplex sum1 = 0;
289 ncomplex sumX = 0;
290 ncomplex sumY = 0;
291 if ( k == l )
292 {
293 for ( int s = 1; s <= 5; s++ )
294 {
295 sum1 += +2 * M2( 0, k, s, m ) * I4D3si( ep, s, l ) +
296 M2( 0, s, 0, m ) * I4D3sij( ep, s, k, l );
297 }
298 if ( ep == 0 ) sum1 += 1. / 24. * ( M1( k, m ) - M2( 0, k, l, m ) );
299 if ( k != m )
300 {
301 for ( int s = 1; s <= 5; s++ )
302 {
303 sumX += +M2( 0, m, s, k ) * I4D3si( ep, s, l ) +
304 M2( 0, l, s, k ) * I4D3si( ep, s, m ) +
305 M2( 0, s, 0, k ) * I4D3sij( ep, s, m, l );
306 }
307 if ( ep == 0 ) sumX += 1. / 48. * ( M1( m, k ) + M1( l, k ) - M2( 0, l, m, k ) );
308 sum1 = ( sum1 + 2. * sumX ) / 3.;
309 }
310 }
311 else
312 { // k!=l
313 for ( int s = 1; s <= 5; s++ )
314 {
315 sum1 += +M2( 0, k, s, m ) * I4D3si( ep, s, l ) +
316 M2( 0, l, s, m ) * I4D3si( ep, s, k ) +
317 M2( 0, s, 0, m ) * I4D3sij( ep, s, k, l );
318 }
319 if ( ep == 0 )
320 sum1 += 1. / 48. * ( M1( k, m ) + M1( l, m ) - M2( 0, k, l, m ) - M2( 0, l, k, m ) );
321 if ( k != m )
322 {
323 for ( int s = 1; s <= 5; s++ )
324 {
325 sumX += +M2( 0, m, s, k ) * I4D3si( ep, s, l ) +
326 M2( 0, l, s, k ) * I4D3si( ep, s, m ) +
327 M2( 0, s, 0, k ) * I4D3sij( ep, s, m, l );
328 }
329 if ( ep == 0 )
330 sumX +=
331 1. / 48. * ( M1( m, k ) + M1( l, k ) - M2( 0, m, l, k ) - M2( 0, l, m, k ) );
332 }
333 else { sumX = sum1; }
334 if ( l != m )
335 {
336 for ( int s = 1; s <= 5; s++ )
337 {
338 sumY += +M2( 0, k, s, l ) * I4D3si( ep, s, m ) +
339 M2( 0, m, s, l ) * I4D3si( ep, s, k ) +
340 M2( 0, s, 0, l ) * I4D3sij( ep, s, k, m );
341 }
342 if ( ep == 0 )
343 sumY +=
344 1. / 48. * ( M1( k, l ) + M1( m, l ) - M2( 0, k, m, l ) - M2( 0, m, k, l ) );
345 }
346 else { sumY = sum1; }
347 sum1 = ( sum1 + sumX + sumY ) / 3.;
348 }
349 sumX = 0;
350 for ( int s = 1; s <= 5; s++ ) { sumX += M1( s, 0 ) * I4D4sijk( ep, s, k, l, m ); }
351 sum1 = 3. * sum1 + 2. * sumX;
352 ivalue = sum1 / ( 10. * d00 );
353 }
354 }
355 else
356 {
357 assert( i != 0 && j != 0 && k != 0 && l != 0 && m != 0 );
358 ncomplex sum12345 = 0;
359 for ( int s = 1; s <= 5; s++ )
360 {
361 ncomplex sum1 = +M2( 0, l, s, m ) * I4D4sijk( ep, s, i, j, k ) +
362 M2( 0, i, s, m ) * I4D4sijk( ep, s, l, j, k ) +
363 M2( 0, j, s, m ) * I4D4sijk( ep, s, i, l, k ) +
364 M2( 0, k, s, m ) * I4D4sijk( ep, s, i, j, l ) +
365 M2( 0, s, 0, m ) * I4D4sijkl( ep, s, i, j, k, l );
366 ncomplex sum2 = sum1;
367 if ( m != l )
368 {
369 sum2 = +M2( 0, m, s, l ) * I4D4sijk( ep, s, i, j, k ) +
370 M2( 0, i, s, l ) * I4D4sijk( ep, s, m, j, k ) +
371 M2( 0, j, s, l ) * I4D4sijk( ep, s, i, m, k ) +
372 M2( 0, k, s, l ) * I4D4sijk( ep, s, i, j, m ) +
373 M2( 0, s, 0, l ) * I4D4sijkl( ep, s, i, j, k, m );
374 }
375 ncomplex sum3 = sum1;
376 if ( k == l ) { sum3 = sum2; }
377 else if ( m != k )
378 {
379 sum3 = +M2( 0, l, s, k ) * I4D4sijk( ep, s, i, j, m ) +
380 M2( 0, i, s, k ) * I4D4sijk( ep, s, l, j, m ) +
381 M2( 0, j, s, k ) * I4D4sijk( ep, s, i, l, m ) +
382 M2( 0, m, s, k ) * I4D4sijk( ep, s, i, j, l ) +
383 M2( 0, s, 0, k ) * I4D4sijkl( ep, s, i, j, m, l );
384 }
385 ncomplex sum4 = sum1;
386 if ( j == k ) { sum4 = sum3; }
387 else if ( m != j )
388 {
389 sum4 = +M2( 0, l, s, j ) * I4D4sijk( ep, s, i, m, k ) +
390 M2( 0, i, s, j ) * I4D4sijk( ep, s, l, m, k ) +
391 M2( 0, m, s, j ) * I4D4sijk( ep, s, i, l, k ) +
392 M2( 0, k, s, j ) * I4D4sijk( ep, s, i, m, l ) +
393 M2( 0, s, 0, j ) * I4D4sijkl( ep, s, i, m, k, l );
394 }
395 ncomplex sum5 = sum1;
396 if ( i == j ) { sum5 = sum4; }
397 else if ( m != i )
398 {
399 sum5 = +M2( 0, l, s, i ) * I4D4sijk( ep, s, m, j, k ) +
400 M2( 0, m, s, i ) * I4D4sijk( ep, s, l, j, k ) +
401 M2( 0, j, s, i ) * I4D4sijk( ep, s, m, l, k ) +
402 M2( 0, k, s, i ) * I4D4sijk( ep, s, m, j, l ) +
403 M2( 0, s, 0, i ) * I4D4sijkl( ep, s, m, j, k, l );
404 }
405 sum12345 += sum1 + sum2 + sum3 + sum4 + sum5;
406 }
407 ivalue = -sum12345 / ( 5 * d00 );
408 }
409 return ivalue;
410}
ncomplex I4D4sijk(int ep, int s, int i, int j, int k)
Definition minor.cpp:3202
ncomplex I4D3si(int ep, int s, int i)
Definition minor.cpp:1974
ncomplex I4D4sijkl(int ep, int s, int i, int j, int k, int l)
Definition minor.cpp:3521

◆ gram3()

double Minor5::gram3 ( double p1,
double p2,
double p3 )

Definition at line 548 of file minor.cpp.

548 {
549 double g3;
550 if ( fabs( p1 ) > fabs( p2 ) )
551 {
552 if ( fabs( p1 ) > fabs( p3 ) )
553 {
554 const double diff = ( p1 - p2 - p3 );
555 const double subs = ( -4. ) * p2 * p3;
556 g3 = diff * diff + subs;
557 }
558 else
559 {
560 const double diff = ( p3 - p2 - p1 );
561 const double subs = ( -4. ) * p2 * p1;
562 g3 = diff * diff + subs;
563 }
564 }
565 else
566 {
567 if ( fabs( p2 ) > fabs( p3 ) )
568 {
569 const double diff = ( p2 - p1 - p3 );
570 const double subs = ( -4. ) * p1 * p3;
571 g3 = diff * diff + subs;
572 }
573 else
574 {
575 const double diff = ( p3 - p2 - p1 );
576 const double subs = ( -4. ) * p2 * p1;
577 g3 = diff * diff + subs;
578 }
579 }
580 return g3;
581}
double p2[4]
double p1[4]

◆ I2D2stu()

ncomplex Minor5::I2D2stu ( int ep,
int s,
int t,
int u )

Definition at line 2341 of file minor.cpp.

2341 {
2342 assert( t != u && u != s && s != t );
2343 if ( ep == 2 ) return 0;
2344 if ( not fEval[E_I2D2stu + ep] )
2345 {
2346 I2D2stuEval( 0, ep, 1, 2, 3, 4, 5, kinem.p5() );
2347 I2D2stuEval( 1, ep, 1, 2, 4, 3, 5, kinem.s45() );
2348 I2D2stuEval( 2, ep, 1, 2, 5, 3, 4, kinem.p4() );
2349
2350 I2D2stuEval( 3, ep, 1, 3, 4, 2, 5, kinem.s12() );
2351 I2D2stuEval( 4, ep, 1, 3, 5, 2, 4, kinem.s34() );
2352
2353 I2D2stuEval( 5, ep, 1, 4, 5, 2, 3, kinem.p3() );
2354
2355 if ( smax == 5 )
2356 {
2357 I2D2stuEval( 6, ep, 2, 3, 4, 1, 5, kinem.p1() );
2358 I2D2stuEval( 7, ep, 2, 3, 5, 1, 4, kinem.s15() );
2359
2360 I2D2stuEval( 8, ep, 2, 4, 5, 1, 3, kinem.s23() );
2361
2362 I2D2stuEval( 9, ep, 3, 4, 5, 1, 2, kinem.p2() );
2363 }
2364
2365 fEval[E_I2D2stu + ep] = true;
2366 }
2367 int idx = im3( s, t, u ) - 10;
2368 return pI2D2stu[ep][idx];
2369}
static int im3(int i, int j, int k) CONST
Definition minor.h:599
int t()
Definition t.c:1

◆ I2D2stui()

ncomplex Minor5::I2D2stui ( int ep,
int s,
int t,
int u,
int i )

Definition at line 2930 of file minor.cpp.

2930 {
2931 assert( s != t && t != u && u != s && s != i && t != i && u != i );
2932 if ( ep == 2 ) return 0;
2933 if ( not fEval[E_I2D2stui + ep] )
2934 {
2935 I2D2stuiEval( ep, 1, 4, 5, 2, 3, kinem.p3() );
2936 I2D2stuiEval( ep, 1, 3, 5, 2, 4, kinem.s34() );
2937 I2D2stuiEval( ep, 1, 3, 4, 2, 5, kinem.s12() );
2938 I2D2stuiEval( ep, 1, 4, 5, 3, 2, kinem.p3() );
2939 I2D2stuiEval( ep, 1, 2, 5, 3, 4, kinem.p4() );
2940 I2D2stuiEval( ep, 1, 2, 4, 3, 5, kinem.s45() );
2941 I2D2stuiEval( ep, 1, 3, 5, 4, 2, kinem.s34() );
2942 I2D2stuiEval( ep, 1, 2, 5, 4, 3, kinem.p4() );
2943 I2D2stuiEval( ep, 1, 2, 3, 4, 5, kinem.p5() );
2944#ifdef USE_ZERO_CHORD
2945 I2D2stuiEval( ep, 1, 3, 4, 5, 2, kinem.s12() );
2946 I2D2stuiEval( ep, 1, 2, 4, 5, 3, kinem.s45() );
2947 I2D2stuiEval( ep, 1, 2, 3, 5, 4, kinem.p5() );
2948#endif
2949
2950 if ( smax == 5 )
2951 {
2952 I2D2stuiEval( ep, 3, 4, 5, 1, 2, kinem.p2() );
2953 I2D2stuiEval( ep, 2, 4, 5, 1, 3, kinem.s23() );
2954 I2D2stuiEval( ep, 2, 3, 5, 1, 4, kinem.s15() );
2955 I2D2stuiEval( ep, 2, 3, 4, 1, 5, kinem.p1() );
2956 I2D2stuiEval( ep, 3, 4, 5, 2, 1, kinem.p2() );
2957 I2D2stuiEval( ep, 2, 4, 5, 3, 1, kinem.s23() );
2958 I2D2stuiEval( ep, 2, 3, 5, 4, 1, kinem.s15() );
2959#ifdef USE_ZERO_CHORD
2960 I2D2stuiEval( ep, 2, 3, 4, 5, 1, kinem.p1() );
2961#endif
2962 }
2963
2964 fEval[E_I2D2stui + ep] = true;
2965 }
2966 int ip = 15 - s - t - u - i; // ip
2967 return pI2D2stui[ep][i - 1][ip - 1];
2968}

◆ I2D2stuij()

ncomplex Minor5::I2D2stuij ( int ep,
int s,
int t,
int u,
int i,
int j )

Definition at line 3265 of file minor.cpp.

3265 {
3266 assert( s != t && t != u && u != s && s != i && t != i && u != i && s != j && t != j &&
3267 u != j );
3268 if ( ep == 2 ) return 0;
3269 if ( not fEval[E_I2D2stuij + ep] )
3270 {
3271 I2D2stuijEval( ep, 1, 2, 3, 4, 5, kinem.p5() );
3272 I2D2stuijEval( ep, 1, 2, 4, 3, 5, kinem.s45() );
3273 I2D2stuijEval( ep, 1, 2, 5, 3, 4, kinem.p4() );
3274 I2D2stuijEval( ep, 1, 2, 5, 4, 3, kinem.p4() );
3275
3276 I2D2stuijEval( ep, 1, 3, 4, 2, 5, kinem.s12() );
3277 I2D2stuijEval( ep, 1, 3, 5, 2, 4, kinem.s34() );
3278 I2D2stuijEval( ep, 1, 3, 5, 4, 2, kinem.s34() );
3279
3280 I2D2stuijEval( ep, 1, 4, 5, 2, 3, kinem.p3() );
3281 I2D2stuijEval( ep, 1, 4, 5, 3, 2, kinem.p3() );
3282
3283#ifdef USE_ZERO_CHORD
3284 I2D2stuijEval( ep, 1, 2, 3, 5, 4, kinem.p5() );
3285 I2D2stuijEval( ep, 1, 2, 4, 5, 3, kinem.s45() );
3286 I2D2stuijEval( ep, 1, 3, 4, 5, 2, kinem.s12() );
3287#endif
3288 if ( smax == 5 )
3289 {
3290 I2D2stuijEval( ep, 2, 3, 4, 1, 5, kinem.p1() );
3291 I2D2stuijEval( ep, 2, 3, 5, 1, 4, kinem.s15() );
3292 I2D2stuijEval( ep, 2, 3, 5, 4, 1, kinem.s15() );
3293 I2D2stuijEval( ep, 2, 4, 5, 1, 3, kinem.s23() );
3294 I2D2stuijEval( ep, 2, 4, 5, 3, 1, kinem.s23() );
3295 I2D2stuijEval( ep, 3, 4, 5, 1, 2, kinem.p2() );
3296 I2D2stuijEval( ep, 3, 4, 5, 2, 1, kinem.p2() );
3297#ifdef USE_ZERO_CHORD
3298 I2D2stuijEval( ep, 2, 3, 4, 5, 1, kinem.p1() );
3299#endif
3300 }
3301
3302 fEval[E_I2D2stuij + ep] = true;
3303 }
3304 int ip = 15 - s - t - u - i; // ip
3305 return pI2D2stuij[ep][i - 1][ip - 1][i == j ? 0 : 1];
3306}

◆ I2D3stu()

ncomplex Minor5::I2D3stu ( int ep,
int s,
int t,
int u )

Definition at line 167 of file minorex.cpp.

167 {
168 assert( t != u && u != s && s != t ); // if (t==u || u==s || s==t) return 0;
169 if ( ep == 2 ) return 0;
170 if ( not fEval[E_I2D3stu + ep] )
171 {
172 I2D3stuEval( 0, ep, 1, 2, 3, 4, 5, kinem.p5() );
173 I2D3stuEval( 1, ep, 1, 2, 4, 3, 5, kinem.s45() );
174 I2D3stuEval( 2, ep, 1, 2, 5, 3, 4, kinem.p4() );
175
176 I2D3stuEval( 3, ep, 1, 3, 4, 2, 5, kinem.s12() );
177 I2D3stuEval( 4, ep, 1, 3, 5, 2, 4, kinem.s34() );
178
179 I2D3stuEval( 5, ep, 1, 4, 5, 2, 3, kinem.p3() );
180
181 if ( smax == 5 )
182 {
183 I2D3stuEval( 6, ep, 2, 3, 4, 1, 5, kinem.p1() );
184 I2D3stuEval( 7, ep, 2, 3, 5, 1, 4, kinem.s15() );
185
186 I2D3stuEval( 8, ep, 2, 4, 5, 1, 3, kinem.s23() );
187
188 I2D3stuEval( 9, ep, 3, 4, 5, 1, 2, kinem.p2() );
189 }
190
191 fEval[E_I2D3stu + ep] = true;
192 }
193 int idx = im3( s, t, u ) - 10;
194 return pI2D3stu[ep][idx];
195}

◆ I2D4stu()

ncomplex Minor5::I2D4stu ( int ep,
int s,
int t,
int u )

Definition at line 309 of file minorex.cpp.

309 {
310 assert( t != u && u != s && s != t ); // if (t==u || u==s || s==t) return 0;
311 if ( ep == 2 ) return 0;
312 if ( not fEval[E_I2D4stu + ep] )
313 {
314 I2D4stuEval( 0, ep, 1, 2, 3, 4, 5, kinem.p5() );
315 I2D4stuEval( 1, ep, 1, 2, 4, 3, 5, kinem.s45() );
316 I2D4stuEval( 2, ep, 1, 2, 5, 3, 4, kinem.p4() );
317
318 I2D4stuEval( 3, ep, 1, 3, 4, 2, 5, kinem.s12() );
319 I2D4stuEval( 4, ep, 1, 3, 5, 2, 4, kinem.s34() );
320
321 I2D4stuEval( 5, ep, 1, 4, 5, 2, 3, kinem.p3() );
322
323 if ( smax == 5 )
324 {
325 I2D4stuEval( 6, ep, 2, 3, 4, 1, 5, kinem.p1() );
326 I2D4stuEval( 7, ep, 2, 3, 5, 1, 4, kinem.s15() );
327
328 I2D4stuEval( 8, ep, 2, 4, 5, 1, 3, kinem.s23() );
329
330 I2D4stuEval( 9, ep, 3, 4, 5, 1, 2, kinem.p2() );
331 }
332
333 fEval[E_I2D4stu + ep] = true;
334 }
335 int idx = im3( s, t, u ) - 10;
336 return pI2D4stu[ep][idx];
337}

◆ I2D5stu()

ncomplex Minor5::I2D5stu ( int ep,
int s,
int t,
int u )

Definition at line 463 of file minorex.cpp.

463 {
464 assert( t != u && u != s && s != t ); // if (t==u || u==s || s==t) return 0;
465 if ( ep == 2 ) return 0;
466 if ( not fEval[E_I2D5stu + ep] )
467 {
468 I2D5stuEval( 0, ep, 1, 2, 3, 4, 5, kinem.p5() );
469 I2D5stuEval( 1, ep, 1, 2, 4, 3, 5, kinem.s45() );
470 I2D5stuEval( 2, ep, 1, 2, 5, 3, 4, kinem.p4() );
471
472 I2D5stuEval( 3, ep, 1, 3, 4, 2, 5, kinem.s12() );
473 I2D5stuEval( 4, ep, 1, 3, 5, 2, 4, kinem.s34() );
474
475 I2D5stuEval( 5, ep, 1, 4, 5, 2, 3, kinem.p3() );
476
477 if ( smax == 5 )
478 {
479 I2D5stuEval( 6, ep, 2, 3, 4, 1, 5, kinem.p1() );
480 I2D5stuEval( 7, ep, 2, 3, 5, 1, 4, kinem.s15() );
481
482 I2D5stuEval( 8, ep, 2, 4, 5, 1, 3, kinem.s23() );
483
484 I2D5stuEval( 9, ep, 3, 4, 5, 1, 2, kinem.p2() );
485 }
486
487 fEval[E_I2D5stu + ep] = true;
488 }
489 int idx = im3( s, t, u ) - 10;
490 return pI2D5stu[ep][idx];
491}

◆ I2D6stu()

ncomplex Minor5::I2D6stu ( int ep,
int s,
int t,
int u )

Definition at line 619 of file minorex.cpp.

619 {
620 assert( t != u && u != s && s != t ); // if (t==u || u==s || s==t) return 0;
621 if ( ep == 2 ) return 0;
622 if ( not fEval[E_I2D6stu + ep] )
623 {
624 I2D6stuEval( 0, ep, 1, 2, 3, 4, 5, kinem.p5() );
625 I2D6stuEval( 1, ep, 1, 2, 4, 3, 5, kinem.s45() );
626 I2D6stuEval( 2, ep, 1, 2, 5, 3, 4, kinem.p4() );
627
628 I2D6stuEval( 3, ep, 1, 3, 4, 2, 5, kinem.s12() );
629 I2D6stuEval( 4, ep, 1, 3, 5, 2, 4, kinem.s34() );
630
631 I2D6stuEval( 5, ep, 1, 4, 5, 2, 3, kinem.p3() );
632
633 if ( smax == 5 )
634 {
635 I2D6stuEval( 6, ep, 2, 3, 4, 1, 5, kinem.p1() );
636 I2D6stuEval( 7, ep, 2, 3, 5, 1, 4, kinem.s15() );
637
638 I2D6stuEval( 8, ep, 2, 4, 5, 1, 3, kinem.s23() );
639
640 I2D6stuEval( 9, ep, 3, 4, 5, 1, 2, kinem.p2() );
641 }
642
643 fEval[E_I2D6stu + ep] = true;
644 }
645 int idx = im3( s, t, u ) - 10;
646 return pI2D6stu[ep][idx];
647}

◆ I2Dstu()

ncomplex Minor5::I2Dstu ( int ep,
int s,
int t,
int u )

Definition at line 1551 of file minor.cpp.

1551 {
1552 assert( t != u && u != s && s != t );
1553 if ( ep == 2 ) return 0;
1554 if ( not fEval[E_I2Dstu + ep] )
1555 {
1556 I2DstuEval( 0, ep, 1, 2, 3, 4, 5, kinem.p5() );
1557 I2DstuEval( 1, ep, 1, 2, 4, 3, 5, kinem.s45() );
1558 I2DstuEval( 2, ep, 1, 2, 5, 3, 4, kinem.p4() );
1559
1560 I2DstuEval( 3, ep, 1, 3, 4, 2, 5, kinem.s12() );
1561 I2DstuEval( 4, ep, 1, 3, 5, 2, 4, kinem.s34() );
1562
1563 I2DstuEval( 5, ep, 1, 4, 5, 2, 3, kinem.p3() );
1564
1565 if ( smax == 5 )
1566 {
1567 I2DstuEval( 6, ep, 2, 3, 4, 1, 5, kinem.p1() );
1568 I2DstuEval( 7, ep, 2, 3, 5, 1, 4, kinem.s15() );
1569
1570 I2DstuEval( 8, ep, 2, 4, 5, 1, 3, kinem.s23() );
1571
1572 I2DstuEval( 9, ep, 3, 4, 5, 1, 2, kinem.p2() );
1573 }
1574
1575 fEval[E_I2Dstu + ep] = true;
1576 }
1577 int idx = im3( s, t, u ) - 10;
1578 return pI2Dstu[ep][idx];
1579}

◆ I2Dstui()

ncomplex Minor5::I2Dstui ( int ep,
int s,
int t,
int u,
int i )

Definition at line 2077 of file minor.cpp.

2077 {
2078 assert( s != t && t != u && u != s && s != i && t != i && u != i );
2079 // if (ep==1) return -0.5; // not quite true
2080 if ( ep == 2 ) return 0;
2081 if ( not fEval[E_I2Dstui + ep] )
2082 {
2083 I2DstuiEval( ep, 1, 4, 5, 2, 3, kinem.p3() );
2084 I2DstuiEval( ep, 1, 3, 5, 2, 4, kinem.s34() );
2085 I2DstuiEval( ep, 1, 3, 4, 2, 5, kinem.s12() );
2086 I2DstuiEval( ep, 1, 4, 5, 3, 2, kinem.p3() );
2087 I2DstuiEval( ep, 1, 2, 5, 3, 4, kinem.p4() );
2088 I2DstuiEval( ep, 1, 2, 4, 3, 5, kinem.s45() );
2089 I2DstuiEval( ep, 1, 3, 5, 4, 2, kinem.s34() );
2090 I2DstuiEval( ep, 1, 2, 5, 4, 3, kinem.p4() );
2091 I2DstuiEval( ep, 1, 2, 3, 4, 5, kinem.p5() );
2092#ifdef USE_ZERO_CHORD
2093 I2DstuiEval( ep, 1, 3, 4, 5, 2, kinem.s12() );
2094 I2DstuiEval( ep, 1, 2, 4, 5, 3, kinem.s45() );
2095 I2DstuiEval( ep, 1, 2, 3, 5, 4, kinem.p5() );
2096#endif
2097
2098 if ( smax == 5 )
2099 {
2100 I2DstuiEval( ep, 3, 4, 5, 1, 2, kinem.p2() );
2101 I2DstuiEval( ep, 2, 4, 5, 1, 3, kinem.s23() );
2102 I2DstuiEval( ep, 2, 3, 5, 1, 4, kinem.s15() );
2103 I2DstuiEval( ep, 2, 3, 4, 1, 5, kinem.p1() );
2104 I2DstuiEval( ep, 3, 4, 5, 2, 1, kinem.p2() );
2105 I2DstuiEval( ep, 2, 4, 5, 3, 1, kinem.s23() );
2106 I2DstuiEval( ep, 2, 3, 5, 4, 1, kinem.s15() );
2107#ifdef USE_ZERO_CHORD
2108 I2DstuiEval( ep, 2, 3, 4, 5, 1, kinem.p1() );
2109#endif
2110 }
2111
2112 fEval[E_I2Dstui + ep] = true;
2113 }
2114 int ip = 15 - s - t - u - i;
2115 return pI2Dstui[ep][i - 1][ip - 1];
2116}

◆ I2stu()

ncomplex Minor5::I2stu ( int ep,
int s,
int t,
int u )

Definition at line 919 of file minor.cpp.

919 {
920 assert( t != u && u != s && s != t );
921 if ( ep >= 2 ) return 0;
922
923 if ( not fEval[E_I2stu + ep] ) { I2stuEval( ep ); }
924 int idx = im3( s, t, u ) - 10;
925 return pI2stu[ep][idx];
926}

◆ I3D2st()

ncomplex Minor5::I3D2st ( int ep,
int s,
int t )

Definition at line 1636 of file minor.cpp.

1636 {
1637 assert( s != t );
1638 if ( ep == 2 ) return 0;
1639 if ( not fEval[E_I3D2st + ep] ) { I3D2stEval( ep ); }
1640 int idx = im2( s, t ) - 5;
1641 return pI3D2st[ep][idx];
1642}
static int im2(int i, int j) CONST
Definition minor.h:604

◆ I3D2sti()

ncomplex Minor5::I3D2sti ( int ep,
int s,
int t,
int i )

Definition at line 1860 of file minor.cpp.

1860 {
1861 assert( s != t && s != i && t != i );
1862 if ( ep == 1 ) return 1. / 6.;
1863 else if ( ep == 2 ) return 0.;
1864 if ( not fEval[E_I3D2sti + ep] ) { I3D2stiEval( ep ); }
1865 int idx = im2( s, t ) - 5;
1866 return pI3D2sti[ep][i - 1][idx];
1867}

◆ I3D2stij()

ncomplex Minor5::I3D2stij ( int ep,
int s,
int t,
int i,
int j )

Definition at line 2167 of file minor.cpp.

2168{
2169 assert( s != t && s != i && s != j && t != i && t != j );
2170 if ( not fEval[E_I3D2stij + ep] ) { I3D2stijEval( ep ); }
2171 int idx = im2( s, t ) - 5;
2172 return pI3D2stij[ep][is( i - 1, j - 1 )][idx];
2173}
static int is(int i, int j) CONST
Definition minor.h:83

◆ I3D3st()

ncomplex Minor5::I3D3st ( int ep,
int s,
int t )

Definition at line 2430 of file minor.cpp.

2430 {
2431 assert( s != t );
2432 if ( ep == 2 ) return 0;
2433 if ( not fEval[E_I3D3st + ep] ) { I3D3stEval( ep ); }
2434 int idx = im2( s, t ) - 5;
2435 return pI3D3st[ep][idx];
2436}

◆ I3D3sti()

ncomplex Minor5::I3D3sti ( int ep,
int s,
int t,
int i )

Definition at line 2745 of file minor.cpp.

2745 {
2746 assert( s != t && s != i && t != i );
2747 if ( ep == 2 ) return 0.;
2748 if ( not fEval[E_I3D3sti + ep] ) { I3D3stiEval( ep ); }
2749 int idx = im2( s, t ) - 5;
2750 return pI3D3sti[ep][i - 1][idx];
2751}

◆ I3D3stij()

ncomplex Minor5::I3D3stij ( int ep,
int s,
int t,
int i,
int j )

Definition at line 3015 of file minor.cpp.

3015 {
3016 assert( s != t && s != i && s != j && t != i && t != j );
3017 if ( ep == 1 ) return ( i == j ? -1. / 12. : -1. / 24. ); // -1/12 == -2/24
3018 else if ( ep == 2 ) return 0;
3019 if ( not fEval[E_I3D3stij + ep] ) { I3D3stijEval( ep ); }
3020 int idx = im2( s, t ) - 5;
3021 return pI3D3stij[ep][is( i - 1, j - 1 )][idx];
3022}

◆ I3D3stijk()

ncomplex Minor5::I3D3stijk ( int ep,
int s,
int t,
int i,
int j,
int k )

Definition at line 3384 of file minor.cpp.

3385{
3386 assert( s != t && s != i && s != j && s != k && t != i && t != j && t != k );
3387 if ( not fEval[E_I3D3stijk + ep] ) { I3D3stijkEval( ep ); }
3388 int idx = im2( s, t ) - 5;
3389 return pI3D3stijk[ep][is( i - 1, j - 1, k - 1 )][idx];
3390}

◆ I3D4st()

ncomplex Minor5::I3D4st ( int ep,
int s,
int t )

Definition at line 260 of file minorex.cpp.

260 {
261 assert( s != t ); // if (s==t) return 0;
262 if ( ep == 2 ) return 0;
263 if ( not fEval[E_I3D4st + ep] ) { I3D4stEval( ep ); }
264 int idx = im2( s, t ) - 5;
265 return pI3D4st[ep][idx];
266}

◆ I3D5st()

ncomplex Minor5::I3D5st ( int ep,
int s,
int t )

Definition at line 414 of file minorex.cpp.

414 {
415 assert( s != t ); // if (s==t) return 0;
416 if ( ep == 2 ) return 0;
417 if ( not fEval[E_I3D5st + ep] ) { I3D5stEval( ep ); }
418 int idx = im2( s, t ) - 5;
419 return pI3D5st[ep][idx];
420}

◆ I3D6st()

ncomplex Minor5::I3D6st ( int ep,
int s,
int t )

Definition at line 570 of file minorex.cpp.

570 {
571 assert( s != t ); // if (s==t) return 0;
572 if ( ep == 2 ) return 0;
573 if ( not fEval[E_I3D6st + ep] ) { I3D6stEval( ep ); }
574 int idx = im2( s, t ) - 5;
575 return pI3D6st[ep][idx];
576}

◆ I3D7st()

ncomplex Minor5::I3D7st ( int ep,
int s,
int t )

Definition at line 729 of file minorex.cpp.

729 {
730 assert( s != t ); // if (s==t) return 0;
731 if ( ep == 2 ) return 0;
732 if ( not fEval[E_I3D7st + ep] ) { I3D7stEval( ep ); }
733 int idx = im2( s, t ) - 5;
734 return pI3D7st[ep][idx];
735}

◆ I3Dst()

ncomplex Minor5::I3Dst ( int ep,
int s,
int t )

Definition at line 1111 of file minor.cpp.

1111 {
1112 assert( s != t );
1113 if ( ep == 1 ) return -0.5;
1114 else if ( ep == 2 ) return 0;
1115 if ( not fEval[E_I3Dst + ep] ) { I3DstEval( ep ); }
1116 int idx = im2( s, t ) - 5;
1117 return pI3Dst[ep][idx];
1118}

◆ I3Dsti()

ncomplex Minor5::I3Dsti ( int ep,
int s,
int t,
int i )

Definition at line 1367 of file minor.cpp.

1368{
1369 assert( s != t && s != i && t != i );
1370 if ( not fEval[E_I3Dsti + ep] ) { I3DstiEval( ep ); }
1371 int idx = im2( s, t ) - 5;
1372 return pI3Dsti[ep][i - 1][idx];
1373}

◆ I3st()

ncomplex Minor5::I3st ( int ep,
int s,
int t )

Definition at line 872 of file minor.cpp.

873{
874 assert( s != t );
875 if ( not fEval[E_I3st + ep] ) { I3stEval( ep ); }
876 int idx = im2( s, t ) - 5;
877 return pI3st[ep][idx];
878}

◆ I4D2s()

ncomplex Minor5::I4D2s ( int ep,
int s )

Definition at line 1220 of file minor.cpp.

1220 {
1221 if ( ep == 1 ) return 1. / 6.;
1222 else if ( ep == 2 ) return 0;
1223 if ( not fEval[E_I4D2s + ep] ) { I4D2sEval( ep ); }
1224 return pI4D2s[ep][s - 1];
1225}

Referenced by evalE(), and evalE().

◆ I4D2si()

ncomplex Minor5::I4D2si ( int ep,
int s,
int i )

Definition at line 1308 of file minor.cpp.

1308 {
1309 if ( s == i ) return 0;
1310 if ( ep != 0 ) return 0; // I4D2si is finite
1311 if ( not fEval[E_I4D2si + ep] ) { I4D2siEval( ep ); }
1312 return pI4D2si[ep][i - 1][s - 1];
1313}

Referenced by evalE(), and evalE().

◆ I4D2sij()

ncomplex Minor5::I4D2sij ( int ep,
int s,
int i,
int j )

Definition at line 1489 of file minor.cpp.

1490{
1491 if ( s == i || s == j ) return 0;
1492 if ( not fEval[E_I4D2sij + ep] ) { I4D2sijEval( ep ); }
1493 return pI4D2sij[ep][is( i - 1, j - 1 )][s - 1];
1494}

Referenced by evalE().

◆ I4D3s()

ncomplex Minor5::I4D3s ( int ep,
int s )

Definition at line 1761 of file minor.cpp.

1761 {
1762 if ( ep == 2 ) return 0;
1763 if ( not fEval[E_I4D3s + ep] ) { I4D3sEval( ep ); }
1764 return pI4D3s[ep][s - 1];
1765}

◆ I4D3si()

ncomplex Minor5::I4D3si ( int ep,
int s,
int i )

Definition at line 1974 of file minor.cpp.

1974 {
1975 if ( s == i ) return 0;
1976 if ( ep == 1 ) return -1. / 24.;
1977 else if ( ep == 2 ) return 0;
1978 if ( not fEval[E_I4D3si + ep] ) { I4D3siEval( ep ); }
1979 return pI4D3si[ep][i - 1][s - 1];
1980}

Referenced by evalE().

◆ I4D3sij()

ncomplex Minor5::I4D3sij ( int ep,
int s,
int i,
int j )

Definition at line 2022 of file minor.cpp.

2022 {
2023 if ( s == i || s == j ) return 0;
2024 else if ( ep != 0 ) return 0; // I4D3sij is finite
2025 if ( not fEval[E_I4D3sij + ep] ) { I4D3sijEval( ep ); }
2026 return pI4D3sij[ep][is( i - 1, j - 1 )][s - 1];
2027}

Referenced by evalE(), and evalE().

◆ I4D3sijk()

ncomplex Minor5::I4D3sijk ( int ep,
int s,
int i,
int j,
int k )

Definition at line 2266 of file minor.cpp.

2267{
2268 if ( s == i || s == j || s == k ) return 0;
2269 if ( not fEval[E_I4D3sijk + ep] ) { I4D3sijkEval( ep ); }
2270 return pI4D3sijk[ep][is( i - 1, j - 1, k - 1 )][s - 1];
2271}

Referenced by evalE().

◆ I4D4s()

ncomplex Minor5::I4D4s ( int ep,
int s )

Definition at line 2565 of file minor.cpp.

2565 {
2566 if ( ep == 2 ) return 0;
2567 if ( not fEval[E_I4D4s + ep] ) { I4D4sEval( ep ); }
2568 return pI4D4s[ep][s - 1];
2569}

◆ I4D4si()

ncomplex Minor5::I4D4si ( int ep,
int s,
int i )

Definition at line 2677 of file minor.cpp.

2677 {
2678 if ( s == i ) return 0;
2679 if ( ep == 2 ) return 0;
2680 if ( not fEval[E_I4D4si + ep] ) { I4D4siEval( ep ); }
2681 return pI4D4si[ep][i - 1][s - 1];
2682}

◆ I4D4sij()

ncomplex Minor5::I4D4sij ( int ep,
int s,
int i,
int j )

Definition at line 2873 of file minor.cpp.

2873 {
2874 if ( s == i || s == j ) return 0;
2875 if ( ep == 1 ) return ( i == j ? 1. / 60. : 1. / 120. );
2876 else if ( ep == 2 ) return 0;
2877 if ( not fEval[E_I4D4sij + ep] ) { I4D4sijEval( ep ); }
2878 return pI4D4sij[ep][is( i - 1, j - 1 )][s - 1];
2879}

◆ I4D4sijk()

ncomplex Minor5::I4D4sijk ( int ep,
int s,
int i,
int j,
int k )

Definition at line 3202 of file minor.cpp.

3202 {
3203 if ( s == i || s == j || s == k ) return 0;
3204 if ( ep == 2 ) return 0; // I4D4sijk finite
3205 if ( not fEval[E_I4D4sijk + ep] ) { I4D4sijkEval( ep ); }
3206 return pI4D4sijk[ep][is( i - 1, j - 1, k - 1 )][s - 1];
3207}

Referenced by evalE().

◆ I4D4sijkl()

ncomplex Minor5::I4D4sijkl ( int ep,
int s,
int i,
int j,
int k,
int l )

Definition at line 3521 of file minor.cpp.

3522{
3523 if ( s == i || s == j || s == k || s == l ) return 0;
3524 if ( not fEval[E_I4D4sijkl + ep] ) { I4D4sijklEval( ep ); }
3525 return pI4D4sijkl[ep][is( i - 1, j - 1, k - 1, l - 1 )][s - 1];
3526}

Referenced by evalE().

◆ I4Ds()

ncomplex Minor5::I4Ds ( int ep,
int s )

Definition at line 974 of file minor.cpp.

974 {
975 if ( ep != 0 ) return 0; // I4Ds is finite
976 if ( not fEval[E_I4Ds + ep] ) { I4DsEval( ep ); }
977 return pI4Ds[ep][s - 1];
978}

Referenced by evalE(), and evalE().

◆ I4Dsi()

ncomplex Minor5::I4Dsi ( int ep,
int s,
int i )

Definition at line 1056 of file minor.cpp.

1057{
1058 if ( s == i ) return 0;
1059 if ( not fEval[E_I4Dsi + ep] ) { I4DsiEval( ep ); }
1060 return pI4Dsi[ep][i - 1][s - 1];
1061}

Referenced by evalE().

◆ I4s()

ncomplex Minor5::I4s ( int ep,
int s )

Definition at line 834 of file minor.cpp.

834 {
835 if ( not fEval[E_I4s + ep] ) { I4sEval( ep ); }
836 return pI4s[ep][s - 1];
837}

Referenced by evalE(), and evalE().

◆ M1()

double Minor5::M1 ( int i,
int l )

Definition at line 474 of file minor.cpp.

474{ return pM1[is( i, l )]; }

Referenced by evalE(), evalE(), evalE(), evalE(), evalE(), and evalE().

◆ M2()

double Minor5::M2 ( int i,
int j,
int l,
int m )

Definition at line 480 of file minor.cpp.

480 {
481 int sign = signM2ud( i, j, l, m );
482 if ( sign == 0 ) return 0;
483
484 int uidx = im2( i, j );
485 int lidx = im2( l, m );
486
487 return pM2[is( uidx, lidx )] * sign;
488}
static int signM2ud(int i, int j, int l, int m) CONST
Definition minor.h:613

Referenced by evalE(), evalE(), evalE(), evalE(), and evalE().

◆ M3()

double Minor5::M3 ( int i,
int j,
int k,
int l,
int m,
int n )

Definition at line 494 of file minor.cpp.

494 {
495 int sign = signM3ud( i, j, k, l, m, n );
496 if ( sign == 0 ) return 0;
497
498 int uidx = im3( i, j, k );
499 int lidx = im3( l, m, n );
500
501 return pM3[is( uidx, lidx )] * sign;
502}
const Int_t n
static int signM3ud(int i, int j, int k, int l, int m, int n) CONST
Definition minor.h:607

◆ SPtr< Minor5 >

friend class SPtr< Minor5 >
friend

Definition at line 186 of file minor.h.


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