libatomprobe
Library for Atom Probe Tomography (APT) computation
Public Member Functions | List of all members
AtomProbe::ModifiedFocusSphericProjection Class Reference

#include <projection.h>

Inheritance diagram for AtomProbe::ModifiedFocusSphericProjection:
Inheritance graph
[legend]
Collaboration diagram for AtomProbe::ModifiedFocusSphericProjection:
Collaboration graph
[legend]

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...
 

Detailed Description

Definition at line 117 of file projection.h.

Constructor & Destructor Documentation

◆ ModifiedFocusSphericProjection()

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.

Member Function Documentation

◆ etaToTheta()

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.

Referenced by main(), and scaleUp().

◆ getFOVRadius()

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.

◆ getMaxFOV()

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.

Referenced by main(), and scaleUp().

◆ scaleDown()

void AtomProbe::ModifiedFocusSphericProjection::scaleDown ( float  flightLength,
float  detX,
float  detY,
float &  scaledX,
float &  scaledY 
) const
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.

◆ scaleUp()

void AtomProbe::ModifiedFocusSphericProjection::scaleUp ( float  flightLength,
float  scaledX,
float  scaledY,
float &  realX,
float &  realY 
) const
virtual

◆ setFocus()

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.

◆ thetaToEta()

float AtomProbe::ModifiedFocusSphericProjection::thetaToEta ( float  theta) const
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().

Here is the call graph for this function:

◆ toAzimuthal()

bool AtomProbe::ModifiedFocusSphericProjection::toAzimuthal ( float  fx,
float  fy,
float &  theta,
float &  phi 
) const
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().

◆ toPlanar()

bool AtomProbe::ModifiedFocusSphericProjection::toPlanar ( float  theta,
float  phi,
float &  fx,
float &  fy 
) const
virtual

Convert from stereographic (NOT SPHERICAL) coordinates to plane.

Implements AtomProbe::SphericPlaneProjection.

Definition at line 327 of file projection.cpp.

Referenced by main().


The documentation for this class was generated from the following files: