v1.0.0-rc.50
This commit is contained in:
@@ -157,20 +157,20 @@ TEST_CASE("DiffractionGeometry_AngleFromEwaldSphere") {
|
||||
// Center of Ewald sphere == (0,0,-1)
|
||||
|
||||
// Points on Ewald sphere
|
||||
REQUIRE(geom.AngleFromEwaldSphere(Coord(1,0,-1)) == 0.0f);
|
||||
REQUIRE(geom.AngleFromEwaldSphere(Coord(1.0f/sqrtf(2.0f),1.0f/sqrtf(2.0f),-1)) == 0.0f);
|
||||
REQUIRE(geom.AngleFromEwaldSphere_deg(Coord(1, 0, -1)) == 0.0f);
|
||||
REQUIRE(geom.AngleFromEwaldSphere_deg(Coord(1.0f / sqrtf(2.0f), 1.0f / sqrtf(2.0f), -1)) == 0.0f);
|
||||
|
||||
REQUIRE(geom.AngleFromEwaldSphere(Coord(1,0,1)) == Catch::Approx(90.0f));
|
||||
REQUIRE(geom.AngleFromEwaldSphere(Coord(-sqrtf(2.0f),0,0)) == Catch::Approx(45.0f));
|
||||
REQUIRE(geom.AngleFromEwaldSphere(Coord(-sqrtf(3.0f),0,0)) == Catch::Approx(60.0f));
|
||||
REQUIRE(geom.AngleFromEwaldSphere_deg(Coord(1, 0, 1)) == Catch::Approx(90.0f));
|
||||
REQUIRE(geom.AngleFromEwaldSphere_deg(Coord(-sqrtf(2.0f), 0, 0)) == Catch::Approx(45.0f));
|
||||
REQUIRE(geom.AngleFromEwaldSphere_deg(Coord(-sqrtf(3.0f), 0, 0)) == Catch::Approx(60.0f));
|
||||
|
||||
float cos_1deg = cosf(1.0f * M_PI / 180.0f);
|
||||
float sin_1deg = sinf(1.0f * M_PI / 180.0f);
|
||||
|
||||
REQUIRE(fabsf(geom.AngleFromEwaldSphere((Coord(cos_1deg - sin_1deg, 0, -(cos_1deg + sin_1deg)))) - 1.0f) < 0.0005);
|
||||
REQUIRE(fabsf(geom.AngleFromEwaldSphere_deg((Coord(cos_1deg - sin_1deg, 0, -(cos_1deg + sin_1deg)))) - 1.0f) < 0.0005);
|
||||
|
||||
// Cannot be rotated to fit into the Ewald sphere
|
||||
REQUIRE(isnanf(geom.AngleFromEwaldSphere(Coord(0,0,1))));
|
||||
REQUIRE(isnanf(geom.AngleFromEwaldSphere_deg(Coord(0, 0, 1))));
|
||||
}
|
||||
|
||||
TEST_CASE("DiffractionGeometry_DirectBeam") {
|
||||
|
||||
Reference in New Issue
Block a user