IndexAndRefine: For the moment - symmetry is enforced only if space group and unit cell are both provided
Some checks are pending
Build Packages / build:rpm (rocky8_nocuda) (push) Waiting to run
Build Packages / build:rpm (rocky9_nocuda) (push) Waiting to run
Build Packages / build:rpm (ubuntu2204_nocuda) (push) Waiting to run
Build Packages / build:rpm (ubuntu2404_nocuda) (push) Waiting to run
Build Packages / build:rpm (rocky8_sls9) (push) Waiting to run
Build Packages / build:rpm (rocky9_sls9) (push) Waiting to run
Build Packages / build:rpm (rocky8) (push) Waiting to run
Build Packages / build:rpm (rocky9) (push) Waiting to run
Build Packages / build:rpm (ubuntu2204) (push) Waiting to run
Build Packages / build:rpm (ubuntu2404) (push) Waiting to run
Build Packages / Generate python client (push) Waiting to run
Build Packages / Build documentation (push) Waiting to run
Build Packages / Unit tests (push) Waiting to run
Build Packages / Create release (push) Waiting to run

This commit is contained in:
2026-02-20 18:15:17 +01:00
parent 745755184a
commit 5527fd0aa2

View File

@@ -65,17 +65,14 @@ IndexAndRefine::IndexingOutcome IndexAndRefine::DetermineLatticeAndSymmetry(Data
auto latt = indexer_result.lattice[0];
auto sg = experiment.GetGemmiSpaceGroup();
// If space group provided => always enforce symmetry in refinement
// If space group and cell provided => always enforce symmetry in refinement
// If space group not provided => guess symmetry
if (sg) {
// If space group provided but no unit cell fixed, it is better to keep triclinic for now
if (experiment.GetUnitCell()) {
outcome.symmetry = LatticeMessage{
.centering = sg->centring_type(),
.niggli_class = 0,
.crystal_system = sg->crystal_system()
};
}
if (sg && experiment.GetUnitCell()) {
outcome.symmetry = LatticeMessage{
.centering = sg->centring_type(),
.niggli_class = 0,
.crystal_system = sg->crystal_system()
};
outcome.lattice_candidate = latt;
} else {
auto sym_result = LatticeSearch(latt);