XtalOptimizer: Use rotation angle from spot (so it should work for centroid angles)
Some checks failed
Build Packages / build:rpm (ubuntu2404) (push) Has been cancelled
Build Packages / Generate python client (push) Has been cancelled
Build Packages / Build documentation (push) Has been cancelled
Build Packages / Unit tests (push) Has been cancelled
Build Packages / Create release (push) Has been cancelled
Build Packages / build:rpm (rocky9) (push) Has been cancelled
Build Packages / build:rpm (ubuntu2204) (push) Has been cancelled
Build Packages / build:rpm (rocky8) (push) Has been cancelled
Build Packages / build:rpm (rocky8_sls9) (push) Has been cancelled
Build Packages / build:rpm (ubuntu2404_nocuda) (push) Has been cancelled
Build Packages / build:rpm (ubuntu2204_nocuda) (push) Has been cancelled
Build Packages / build:rpm (rocky9_nocuda) (push) Has been cancelled
Build Packages / build:rpm (rocky8_nocuda) (push) Has been cancelled

This commit is contained in:
2026-02-05 11:21:17 +01:00
parent f9cc99f3c0
commit e2ab97c09b

View File

@@ -450,20 +450,13 @@ bool XtalOptimizerInternal(XtalOptimizerData &data,
if (!data.index_ice_rings && pt.ice_ring)
continue;
Eigen::Matrix3d gonio_back_rot = Eigen::Matrix3d::Identity();
Coord axis = Coord(1,0,0);
float angle_rad = 0.0;
Coord recip = data.geom.DetectorToRecip(pt.x, pt.y);
Coord recip = pt.ReciprocalCoord(data.geom);
if (data.axis) {
const float angle_deg = data.axis->GetAngle_deg(pt.image) + data.axis->GetWedge_deg() / 2.0f;
auto rot = data.axis->GetTransformationAngle(angle_deg);
recip = rot * recip;
angle_rad = angle_deg * M_PI / 180.0;
axis = data.axis->GetAxis();
recip = data.axis->GetTransformationAngle(pt.phi) * recip;
angle_rad = pt.phi * M_PI / 180.0;
}
double h_fp = recip * vec0;