libatomprobe
Library for Atom Probe Tomography (APT) computation
|
#include <projection.h>
Public Member Functions | |
ModifiedFocusSphericProjection (float focus) | |
Create a Spheric projection, with a focal point that is moved behind the sphere. More... | |
void | setFocus (float focus) |
Set the focus position of the sphere. 0= sphere centre, 1=sphere end, >1 is outside sphere. More... | |
float | etaToTheta (float eta) const |
Convert the spherical angle to an azimuthal angle. See docs/figures for examples. More... | |
float | thetaToEta (float theta) const |
Convert azimuthal angle to spherical. See etaToTheta for description. More... | |
virtual bool | toAzimuthal (float fx, float fy, float &theta, float &phi) const |
Convert from plane coordinates to stereographic (NOT SPHERICAL) coords. More... | |
virtual bool | toPlanar (float theta, float phi, float &fx, float &fy) const |
Convert from stereographic (NOT SPHERICAL) coordinates to plane. More... | |
virtual void | scaleDown (float flightLength, float detX, float detY, float &scaledX, float &scaledY) const |
Convert from actual detector postion (eg. mm) and flight path to scaled-down transform. More... | |
virtual void | scaleUp (float flightLength, float scaledX, float scaledY, float &realX, float &realY) const |
Convert from scaled-down to actual dimension. More... | |
float | getMaxFOV () const |
Obtain angle spherical angle, eta, (i.e. angle from point of sphere, sphere centre and x axis) of the line that is tangent to the sphere. More... | |
float | getFOVRadius (float eta) const |
Obtain the radius in the XY plane of the sphere-angle (eta) that gives us a given FOV. More... | |
Definition at line 117 of file projection.h.
AtomProbe::ModifiedFocusSphericProjection::ModifiedFocusSphericProjection | ( | float | focus | ) |
Create a Spheric projection, with a focal point that is moved behind the sphere.
Definition at line 219 of file projection.cpp.
float AtomProbe::ModifiedFocusSphericProjection::etaToTheta | ( | float | eta | ) | const |
Convert the spherical angle to an azimuthal angle. See docs/figures for examples.
Definition at line 233 of file projection.cpp.
References ASSERT, and AtomProbe::SphericProjectionParams::focusDist.
float AtomProbe::ModifiedFocusSphericProjection::getFOVRadius | ( | float | eta | ) | const |
Obtain the radius in the XY plane of the sphere-angle (eta) that gives us a given FOV.
Definition at line 305 of file projection.cpp.
References AtomProbe::SphericProjectionParams::focusDist, and AtomProbe::SphericProjectionParams::theta.
float AtomProbe::ModifiedFocusSphericProjection::getMaxFOV | ( | ) | const |
Obtain angle spherical angle, eta, (i.e. angle from point of sphere, sphere centre and x axis) of the line that is tangent to the sphere.
Beyond this there is no intersection, and no solution.
Definition at line 287 of file projection.cpp.
References AtomProbe::SphericProjectionParams::focusDist.
|
virtual |
Convert from actual detector postion (eg. mm) and flight path to scaled-down transform.
Implements AtomProbe::SphericPlaneProjection.
Definition at line 356 of file projection.cpp.
References ASSERT, and AtomProbe::SphericProjectionParams::focusDist.
|
virtual |
Convert from scaled-down to actual dimension.
Implements AtomProbe::SphericPlaneProjection.
Definition at line 367 of file projection.cpp.
References ASSERT, etaToTheta(), AtomProbe::SphericProjectionParams::focusDist, getMaxFOV(), M_PI, TEST, AtomProbe::SphericProjectionParams::theta, thetaToEta(), AtomProbe::GnomonicProjection::toAzimuthal(), toAzimuthal(), AtomProbe::tolEqual(), and AtomProbe::GnomonicProjection::toPlanar().
void AtomProbe::ModifiedFocusSphericProjection::setFocus | ( | float | focus | ) |
Set the focus position of the sphere. 0= sphere centre, 1=sphere end, >1 is outside sphere.
Definition at line 224 of file projection.cpp.
References AtomProbe::SphericProjectionParams::focusDist.
|
virtual |
Convert azimuthal angle to spherical. See etaToTheta for description.
input range is limited to [0,getMaxFOV()]
Implements AtomProbe::SphericPlaneProjection.
Definition at line 242 of file projection.cpp.
References AtomProbe::SphericProjectionParams::focusDist, M_PI, AtomProbe::SphericProjectionEqn(), and AtomProbe::SphericProjectionParams::theta.
Referenced by scaleUp().
|
virtual |
Convert from plane coordinates to stereographic (NOT SPHERICAL) coords.
Implements AtomProbe::SphericPlaneProjection.
Definition at line 341 of file projection.cpp.
References AtomProbe::SphericProjectionParams::focusDist.
Referenced by scaleUp().
|
virtual |
Convert from stereographic (NOT SPHERICAL) coordinates to plane.
Implements AtomProbe::SphericPlaneProjection.
Definition at line 327 of file projection.cpp.
Referenced by main().