17 #include <top/reconstruction/TOPf77fun.h>
36 inline void PointToLocal(
int moduleID,
double X,
double Y,
double Z,
37 double& x,
double& y,
double& z)
40 float r[3] = {(float) X, (
float) Y, (float) Z};
41 float dir[3] = {0, 0, 0};
42 to_local_(r, dir, &moduleID);
43 x = r[0]; y = r[1]; z = r[2];
57 inline void PointToGlobal(
int moduleID,
double X,
double Y,
double Z,
58 double& x,
double& y,
double& z)
61 float r[3] = {(float) X, (
float) Y, (float) Z};
62 float dir[3] = {0, 0, 0};
63 to_global_(r, dir, &moduleID);
64 x = r[0]; y = r[1]; z = r[2];
77 inline void MomentumToLocal(
int moduleID,
double Px,
double Py,
double Pz,
78 double& px,
double& py,
double& pz)
81 float r[3] = {0, 0, 0};
82 float dir[3] = {(float) Px, (
float) Py, (float) Pz};
83 to_local_(r, dir, &moduleID);
84 px = dir[0]; py = dir[1]; pz = dir[2];
97 inline void MomentumToGlobal(
int moduleID,
double Px,
double Py,
double Pz,
98 double& px,
double& py,
double& pz)
101 float r[3] = {0, 0, 0};
102 float dir[3] = {(float) Px, (
float) Py, (float) Pz};
103 to_global_(r, dir, &moduleID);
104 px = dir[0]; py = dir[1]; pz = dir[2];
115 inline bool InsideQbar(
double X,
double Y,
double Z,
int moduleID)
118 float x = (float) X;
float y = (float) Y;
float z = (float) Z;
119 return inside_qbar_(&x, &y, &z, &moduleID) != 0;
130 inline bool InsideExpansionVolume(
double X,
double Y,
double Z,
int moduleID)
133 float x = (float) X;
float y = (float) Y;
float z = (float) Z;
134 return inside_extvol_(&x, &y, &z, &moduleID) != 0;
142 inline double PhaseIndex(
double E)
145 return phase_index_(&e);
152 inline double PhaseIndex()
154 float refind, gruind;
155 get_top_par_(&refind, &gruind);
164 inline double GroupIndex(
double E)
167 return group_index_(&e);
174 inline double GroupIndex()
176 float refind, gruind;
177 get_top_par_(&refind, &gruind);
186 inline double AtenuLength(
double E)
189 return abspt_leng_(&e);
197 inline double MirrorRefl(
double E)
200 return mirror_refl_(&e);
208 inline double QEffi(
double E)
219 inline void QErange(
double& Emin,
double& Emax)
222 qe_range_(&emin, &emax);
223 Emin = emin; Emax = emax;
230 inline double QEmax()
239 inline double Nzero()
251 inline double CerAngle(
double P,
double Mass,
double RefrIndex)
253 float p = (float) P;
float mass = (float) Mass;
254 float refind = (float) RefrIndex;
255 return cher_angle_(&p, &mass, &refind);