}\r
}\r
\r
-double inline dist2(double b, double d, double t, double v, double d1, double d2,\r
- double d3) {\r
- double dis1= 0,dis2 = 0;\r
+double inline dist2(double b, double d, double t, double v, double d1,\r
+ double d2, double d3) {\r
+ double dis1 = 0, dis2 = 0;\r
if (d1 < 0)\r
dis1 = -d1 - t;\r
else\r
if (dis2 < 0)\r
dis2 = 0;\r
\r
- return dis1*dis1+dis2*dis2+d3*d3;\r
+ return dis1 * dis1 + dis2 * dis2 + d3 * d3;\r
}\r
-\r
double inline dist(double b, double d, double t, double v, double d1, double d2,\r
double d3) {\r
return sqrt(dist2(b, d, t, v, d1, d2, d3));\r
}\r
\r
+double inline dist_s2(double b, double t, double d1) {\r
+ double dis1 = 0;\r
+ if (d1 < 0)\r
+ dis1 = -d1 - t;\r
+ else\r
+ dis1 = d1 - b;\r
+ if (dis1 < 0)\r
+ dis1 = 0;\r
+\r
+ return dis1 * dis1;\r
+}\r
+double inline dist_s(double b, double t, double d1) {\r
+ return sqrt(dist_s2(b, t, d1));\r
+}\r
+\r
double inline f_A(double x1, double x2, double y1, double y2, double l) {\r
return 1. / sqrt((x1 - y1) * (x1 - y1) + (x2 - y2) * (x2 - y2) + l * l);\r
}\r
//kurze Seite nach vorn\r
switch_site(b, d, t, v, d1, d2);\r
\r
- if ((t * t + v * v) < zeta[0] * dist2(b, d, t, v, d1, d2, d3)) {\r
+ if ((t * t + v * v) < zeta[0] * dist2(b, d, t, v, d1, d2, d3))\r
return calcParIntQ(b, d, t, v, d1, d2, d3);\r
- } else {\r
- return calcParIntA(b, d, t, v, d1, d2, d3);\r
- }\r
\r
- return 0;\r
+ return calcParIntA(b, d, t, v, d1, d2, d3);\r
}\r
\r
double cParO3(double b, double d, double t, double v, double d1, double d2,\r
//kurze Seite nach vorn\r
switch_site(b, d, t, v, d1, d2);\r
\r
- if ((b * b + d * d) < zeta[0] * dist2(b, d, t, v, d1, d2, d3)) {\r
-// cout << "E";\r
- return calcParIntQX1X2(b, d, t, v, d1, d2, d3);\r
- } else {\r
- return calcParIntA(b, d, t, v, d1, d2, d3);\r
- }\r
+ //kurze Achse nach vorn\r
+ switch_dim(b, d, t, v, d1, d2);\r
+\r
+ if ((t * t + v * v) < zeta[0] * dist2(b, d, t, v, d1, d2, d3))\r
+ return calcParIntQ(b, d, t, v, d1, d2, d3);\r
+\r
+ if ((b * b + d * d) < zeta[0] * dist_s2(b, t, d1))\r
+ return calcParIntQY1X1(b, d, t, v, d1, d2, d3);\r
\r
- return 0;\r
+ return calcParIntA(b, d, t, v, d1, d2, d3);\r
}\r
\r
double cParO4(double b, double d, double t, double v, double d1, double d2,\r
double d3, double* zeta) {\r
\r
double tmp = 0;\r
- double dist = dist2(b, d, t, v, d1, d2, d3);\r
\r
//kurze Seite nach vorn\r
switch_site(b, d, t, v, d1, d2);\r
\r
- if ((t * t + v * v) < zeta[1] * dist) {\r
-\r
- if ((b * b + d * d) < zeta[0] * dist) {\r
- return calcParIntQX1X2(b, d, t, v, d1, d2, d3);\r
- } else {\r
- return calcParIntA(b, d, t, v, d1, d2, d3);\r
- }\r
- } else {\r
+ if ((t * t + v * v) < zeta[0] * dist2(b, d, t, v, d1, d2, d3))\r
return calcParIntQ(b, d, t, v, d1, d2, d3);\r
- }\r
\r
- return 0;\r
+ if ((b * b + d * d) < zeta[0] * dist2(b, d, t, v, d1, d2, d3))\r
+ return calcParIntQX1X2(b, d, t, v, d1, d2, d3);\r
+\r
+ return calcParIntA(b, d, t, v, d1, d2, d3);\r
}\r