18 #ifndef ATOMPROBE_PROJECTION_H 19 #define ATOMPROBE_PROJECTION_H 43 virtual bool toAzimuthal(
float fx,
float fy,
float &theta,
float &phi)
const = 0;
45 virtual bool toPlanar(
float theta ,
float phi,
float &fx,
float &fy)
const = 0;
48 virtual void scaleDown(
float flightLength,
float detX,
float detY,
49 float &scaledX,
float &scaledY)
const =0;
52 virtual void scaleUp(
float flightLength,
float scaledX,
float scaledY,
53 float &realX,
float &realY)
const=0;
55 virtual float thetaToEta(
float theta)
const = 0;
68 virtual bool toAzimuthal(
float fx,
float fy,
float &theta,
float &phi)
const ;
71 virtual bool toPlanar(
float theta ,
float phi,
float &fx,
float &fy)
const ;
75 virtual void scaleDown(
float flightLength,
float detX,
float detY,
76 float &scaledX,
float &scaledY)
const;
79 virtual void scaleUp(
float flightLength,
float scaledX,
float scaledY,
80 float &realX,
float &realY)
const;
95 virtual bool toAzimuthal(
float fx,
float fy,
float &theta,
float &phi)
const ;
97 virtual bool toPlanar(
float theta ,
float phi,
float &fx,
float &fy)
const ;
100 virtual void scaleDown(
float flightLength,
float detX,
float detY,
101 float &scaledX,
float &scaledY)
const;
104 virtual void scaleUp(
float flightLength,
float scaledX,
float scaledY,
105 float &realX,
float &realY)
const;
125 bool getProjectionPt(
float theta,
float &f)
const;
133 void setFocus(
float focus);
139 float etaToTheta(
float eta)
const;
149 virtual bool toAzimuthal(
float fx,
float fy,
float &theta,
float &phi)
const ;
153 virtual bool toPlanar(
float theta ,
float phi,
float &fx,
float &fy)
const ;
156 virtual void scaleDown(
float flightLength,
float detX,
float detY,
157 float &scaledX,
float &scaledY)
const;
160 virtual void scaleUp(
float flightLength,
float scaledX,
float scaledY,
161 float &realX,
float &realY)
const;
167 float getMaxFOV()
const;
170 float getFOVRadius(
float eta)
const;
176 bool testProjection();
virtual float thetaToEta(float theta) const =0
virtual void scaleUp(float flightLength, float scaledX, float scaledY, float &realX, float &realY) const =0
Convert from scaled-down coordinates to actual size.
virtual bool toAzimuthal(float fx, float fy, float &theta, float &phi) const =0
Convert from plane coordinates to projection coords.
float thetaToEta(float theta) const
virtual bool toPlanar(float theta, float phi, float &fx, float &fy) const =0
Convert from spherical planar coordinates to projection coords.
virtual void scaleDown(float flightLength, float detX, float detY, float &scaledX, float &scaledY) const =0
Convert from actual detector postion (eg. mm) and flight path to scaled-down transform.