43 void ForCFT::prcfit(
long int ntrk,
double *wm,
const double *wmfit,
double bmag,
const double *vrt,
const double *vrte) noexcept
78 this->localbmag = bmag;
80 for (
int i=0;
i<8; ++
i) this->wmfit[
i] = -10000.;
83 for (
int i=0;
i<i__1; ++
i) {
84 this->wm[
i] = std::abs(wm[
i]);
87 if ((*wmfit) > summ) {
92 if (
i < ntrk) {indtrkmc[0][
i] = 1;}
94 this->wmfit[0] = (*wmfit);
97 this->vrt[0] = vrt[0];
98 this->vrt[1] = vrt[1];
99 this->vrt[2] = vrt[2];
100 this->covvrt[0] = vrte[0];
101 this->covvrt[1] = vrte[1];
102 this->covvrt[2] = vrte[2];
103 this->covvrt[3] = vrte[3];
104 this->covvrt[4] = vrte[4];
105 this->covvrt[5] = vrte[5];
107 this->IterationNumber = 50;
108 this->IterationPrecision = 1.e-3;
113 this->useMassCnst = 0;
114 this->usePhiCnst = 0;
115 this->useThetaCnst = 0;
116 this->useAprioriVrt = 0;
117 this->usePointingCnst = 0;
118 this->usePassNear = 0;
143 if (Iter>100) Iter=100;
144 IterationNumber = Iter;
149 if (Prec<1.
e-5) Prec=1.e-5;
150 if (Prec>1.
e-1) Prec=1.e-1;
151 IterationPrecision = Prec;
171 if(
a+
b+
c+
d == 0.){ usePlaneCnst = 0;
172 }
else{ usePlaneCnst = 1; }
173 Ap =
a; Bp =
b; Cp =
c; Dp =
d;
180 if (indextrk==
nullptr)
return;
184 if (nmcnst > 8) return ;
186 indtrkmc[nmcnst-1][
i] = 0;
188 for (
int i = 0;
i < ncnsttrk; ++
i) {
190 indtrkmc[nmcnst-1][indextrk[
i]] = 1;
193 wmfit[nmcnst - 1] = wmcnst;