diff --git a/writer/HDF5NXmx.cpp b/writer/HDF5NXmx.cpp index 866aa7d8..0762b05f 100644 --- a/writer/HDF5NXmx.cpp +++ b/writer/HDF5NXmx.cpp @@ -665,8 +665,11 @@ void NXmx::Metrology(const StartMessage &start, const EndMessage &end) { // Jungfraujoch holds the tilt in the PyFAI PONI convention, poni_rot = Rz(-rot3)*Rx(-rot2)*Ry(+rot1) // (DiffractionGeometry::UpdatePoniRotMatrix), written in the internal frame: x along increasing // column, y along increasing row, z along the beam. NXmx uses McStas, which is that frame turned - // 180 degrees about x - a proper rotation, not a mirror - so rotations about y and z reverse sense - // while those about x keep it. Hence the axis vectors below. A depends_on chain applies the + // 180 degrees about z - a proper rotation, not a mirror - so rotations about x and y reverse sense + // while those about z keep it. Hence the axis vectors below: internal +y becomes (0,-1,0), the + // -x of Rx(-rot2) becomes (1,0,0), and the -z of Rz(-rot3) is unchanged. (Do not confuse this + // with the internal-to-imgCIF relation, which IS 180 degrees about x - that is the frame DIALS + // reports in, one step further on.) A depends_on chain applies the // DEEPEST dependency first, so rot3 sits at the root to make the product R_rot3*R_rot2*R_rot1. SaveScalar(transformations, "rot1", rot1)-> Transformation("rad",