diff options
Diffstat (limited to 'libcrystfel/src/predict-refine.c')
-rw-r--r-- | libcrystfel/src/predict-refine.c | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/libcrystfel/src/predict-refine.c b/libcrystfel/src/predict-refine.c index 61ce3629..e702cf33 100644 --- a/libcrystfel/src/predict-refine.c +++ b/libcrystfel/src/predict-refine.c @@ -138,10 +138,12 @@ static void UNUSED write_pairs(const char *filename, struct reflpeak *rps, double write_fs, write_ss; double fs, ss; struct panel *p; + signed int h, k, l; fs = rps[i].peak->fs; ss = rps[i].peak->ss; p = rps[i].panel; + get_indices(rps[i].refl, &h, &k, &l); write_fs = fs + p->orig_min_fs; write_ss = ss + p->orig_min_ss; @@ -152,6 +154,9 @@ static void UNUSED write_pairs(const char *filename, struct reflpeak *rps, x_dev(&rps[i], det), y_dev(&rps[i], det)); + //fprintf(fh, "%4i %4i %4i 0.0 - 0.0 1 %7.2f %7.2f %s\n", + // h, k, l, write_fs, write_ss, p->name); + } fclose(fh); @@ -483,6 +488,18 @@ static int iterate(struct reflpeak *rps, int n, UnitCell *cell, } + int k; + for ( k=0; k<num_params; k++ ) { + double M_curr; + M_curr = gsl_matrix_get(M, k, k); + if ( (rv[k] == GPARAM_DETX) || (rv[k] == GPARAM_DETY) ) { + M_curr += 10.0; + } else { + M_curr += 1e-18; + } + gsl_matrix_set(M, k, k, M_curr); + } + //show_matrix_eqn(M, v); shifts = solve_svd(v, M, NULL, 0); if ( shifts == NULL ) { |