diff --git a/image_analysis/structure_refinement/RefinementGPU.cpp b/image_analysis/structure_refinement/RefinementGPU.cpp
index 9dd72df01..dc886f577 100644
--- a/image_analysis/structure_refinement/RefinementGPU.cpp
+++ b/image_analysis/structure_refinement/RefinementGPU.cpp
@@ -287,6 +287,7 @@ private:
dc.grid.unit_cell = cell_;
dc.grid.spacegroup = &sg_;
dc.blur = blur;
+ dc.cutoff = REFINEMENT_DENSITY_CUTOFF;
return dc;
}
diff --git a/image_analysis/structure_refinement/RefinementXray.cpp b/image_analysis/structure_refinement/RefinementXray.cpp
index b3a014843..faba0a11d 100644
--- a/image_analysis/structure_refinement/RefinementXray.cpp
+++ b/image_analysis/structure_refinement/RefinementXray.cpp
@@ -38,6 +38,7 @@ gemmi::DensityCalculator
Calculator(const gemmi::UnitCell &cell, c
dc.grid.unit_cell = cell;
dc.grid.spacegroup = &sg;
dc.blur = blur;
+ dc.cutoff = REFINEMENT_DENSITY_CUTOFF;
return dc;
}
diff --git a/image_analysis/structure_refinement/RefinementXray.h b/image_analysis/structure_refinement/RefinementXray.h
index 642a54fe0..d7062afbf 100644
--- a/image_analysis/structure_refinement/RefinementXray.h
+++ b/image_analysis/structure_refinement/RefinementXray.h
@@ -159,6 +159,10 @@ private:
uint64_t nvtx_;
};
+// The density an atom is gridded out to, in e/A^3 of its blurred density (DensityCalculator::cutoff, 1e-5 by
+// default): the radius of every atom, and with it the gather and the gradient, follow from it.
+constexpr float REFINEMENT_DENSITY_CUTOFF = 1e-4f;
+
// The blur for a model whose smallest B may go as low as b_floor: DensityCalculator's
// set_refmac_compatible_blur() for that B, on the refinement grid of d_min.
double RefinementBlur(const gemmi::UnitCell &cell, const gemmi::SpaceGroup &sg, double d_min, double b_floor);