NXmx: the unit cell's e.s.d.s are saved as /entry/sample/unit_cell_esd
Rugnux measured the cell's e.s.d.s (CellEsd) but they only reached the mmCIF's _cell.*_esd, the .ins's ZERR and the report. They now travel in the END message (EndMessage::unit_cell_esd, CBOR key unit_cell_esd, same layout as unit_cell), are written beside the cell in NXsample as unit_cell_esd (float[6]: a b c alpha beta gamma, A and degrees) and are read back into JFJochReaderDataset::unit_cell_esd. rugnux's _process.h5 and, through AddToEndMessage, the broker's live master file get them. Rotation only; absent on stills and where nothing was measured. Optional CBOR field, no version bump. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_015CeEGgpKdfkCTJb3YNMJcu (cherry picked from commit 6902b5637aa92c27565f22bcf3fe11b5d2536038)
This commit is contained in:
1 parent
d50b3d7034
commit
2461d67e14
12 files changed
+98
No files matched your search
@@ -944,6 +944,8 @@ HDF5MetadataSource::OpenResult HDF5MetadataSource::Open(const std::string &filen
|
||||
.beta = tmp[4],
|
||||
.gamma = tmp[5]
|
||||
});
|
||||
if (const auto e = master_file->ReadOptVector<float>("/entry/sample/unit_cell_esd"); e.size() == 6)
|
||||
dataset->unit_cell_esd = UnitCell{.a = e[0], .b = e[1], .c = e[2], .alpha = e[3], .beta = e[4], .gamma = e[5]};
|
||||
// The name carries the setting, the number cannot ("R 3:R" reads back as "R 3:H"), so the
|
||||
// name is preferred; the number is the fallback for a file written before it was recorded.
|
||||
if (const auto *sg = gemmi::find_spacegroup_by_name(master_file->GetString("/entry/sample/space_group")))
|
||||
|
||||
Reference in new issue
Block a user