aboutsummaryrefslogtreecommitdiff
path: root/src/partialator.c
diff options
context:
space:
mode:
authorThomas White <taw@physics.org>2018-11-30 17:04:13 +0100
committerThomas White <taw@physics.org>2018-11-30 17:04:13 +0100
commita977dfd051fb0483cf27693fc8e950c99e7c88ed (patch)
tree074684efd4bd5310852670e7d8abe1d4e6b515f5 /src/partialator.c
parent6e9655241ff531b300d38d3e2f5a1e5c7d69f7b3 (diff)
Factorise correction of intensity for G, B, p and L
There were no fewer than 8 different places in the code where these factors needed to be applied. They all need to agree on conventions such as whether the intensities in the pattern should be multiplied or divided by G to "correct" them. They were not. This commit reduces the number of places to three: one function (actually two functions, so that the value before partiality can also be calculated consistently), plus log_residual and scale_one_crystal, where slightly different logarithmic versions are used instead.
Diffstat (limited to 'src/partialator.c')
-rw-r--r--src/partialator.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/src/partialator.c b/src/partialator.c
index 10befba8..8cf1dad9 100644
--- a/src/partialator.c
+++ b/src/partialator.c
@@ -638,7 +638,7 @@ static void write_to_pgraph(FILE *fh, RefList *list, RefList *full, Crystal *cr,
{
signed int h, k, l;
double pobs, pcalc;
- double res, corr, Ipart;
+ double res, Ipart;
Reflection *match;
if ( !get_flag(refl) ) continue; /* Not free-flagged */
@@ -660,8 +660,7 @@ static void write_to_pgraph(FILE *fh, RefList *list, RefList *full, Crystal *cr,
pcalc = get_partiality(refl);
/* Observed partiality */
- corr = G * exp(B*res*res) * get_lorentz(refl);
- Ipart = get_intensity(refl) * corr;
+ Ipart = correct_reflection_nopart(refl, G, B, res);
pobs = Ipart / get_intensity(match);
fprintf(fh, "%5i %4i %4i %4i %e %e %8.3f %8.3f %s\n",