28 bool InitMille(
bool DOF[],
double Sigm[],
int nlay,
int nglo_on_lay
29 ,
int nloc,
double startfact,
int nstd
30 ,
double res_cut,
double res_cut_init);
31 bool MakeGlobalFit(
double par[],
double error[],
double pull[]);
32 bool ParGlo(
int index,
double param);
33 bool ParSig(
int index,
double sigma);
34 bool ConstF(
double dercs[],
double rhs);
35 bool EquLoc(
double dergb[],
double derlc[],
double dernl[],
double rmeas,
double sigma);
36 bool ZerLoc(
double dergb[],
double derlc[],
double dernl[]);
37 bool FitLoc(
int n,
double track_params[],
int single_fit);
47 static const bool m_iteration =
true;
48 static const bool debug_mode =
false;
49 static const bool verbose_mode =
false;
50 static const bool verbose_reject =
false;
54 static const int mglobl = 40;
55 static const int mlocal = 10;
56 static const int mcs = 36;
58 static const int mgl = 100;
67 bool InitUn (
double cutfac);
71 double CorPar(
int i,
int j);
72 int SpmInv(
double v[][mgl],
double b[],
int n,
double diag[],
bool flag[]);
73 int SpmInv(
double v[][mlocal],
double b[],
int n,
double diag[],
bool flag[]);
74 bool SpAVAt(
double v[][mlocal],
double a[][mlocal],
double w[][mglobl],
int n,
int m);
75 bool SpAX(
double a[][mlocal],
double x[],
double y[],
int n,
int m);
76 double chindl(
int n,
int nd);
80 double cgmat[mgl][mgl];
81 double clmat[mlocal][mlocal];
82 double clcmat[mglobl][mlocal];
83 double corrm[mglobl][mglobl];
84 double adercs[mcs][mglobl];
89 double corrv[mglobl], psigm[mglobl], pparm[mglobl], dparm[mglobl];
90 double scdiag[mglobl], blvec[mlocal], arhs[mcs], diag[mgl], bgvec[mgl];
92 int indgb[mglobl], nlnpa[mglobl], indnz[mglobl], indbk[mglobl], indlc[mlocal];
96 std::vector<int> indst;
97 std::vector<double> arest;
98 std::vector<double> arenl;
100 std::vector<int> storeind;
101 std::vector<int> storeplace;
102 std::vector<double> storeare;
103 std::vector<double> storenl;
108 double m_residual_cut_init;
109 double m_residual_cut;
112 double cfactr, cfactref;
114 int itert, nst, nfl, ncs, nstdev;
115 int loctot, locrej, nagb, nglolay, nalc, nrank;
bool InitMille(bool DOF[], double Sigm[], int nlay, int nglo_on_lay, int nloc, double startfact, int nstd, double res_cut, double res_cut_init)