|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectoptics.Optics
optics.ParaxialMatrix
public class ParaxialMatrix
Class to implement a ParaxialMatrix
for propagation between input and output planes.
The ParaxialMatrix
consists of four matrix elements
plus a thickness.
Field Summary | |
---|---|
protected double |
A
The A matrix element. |
protected double |
B
The B matrix element. |
protected double |
C
The C matrix element. |
protected double |
D
The D matrix element. |
protected double |
thickness
The thickness, so distance between input and output planes. |
Fields inherited from class optics.Optics |
---|
DEFAULT_WAVELENGTH, errorStream, fmt, MICRONS |
Constructor Summary | |
---|---|
ParaxialMatrix()
Default constructor to create an Paraxial Matrix with elements set to Unit Matrix of thickness zero. |
|
ParaxialMatrix(double a,
double b,
double c,
double d)
Create a ParaxialMatrix setting elements to
specified values and thickness to zero. |
|
ParaxialMatrix(double a,
double b,
double c,
double d,
double t)
Create ParaxialMatrix and setting elements and thickness
to specified values. |
|
ParaxialMatrix(ParaxialMatrix m)
Constructor to form ParaxialMatrix with values taken
from specified ParaxialMatrix . |
Method Summary | |
---|---|
static ParaxialMatrix |
cavity(double leftCurvature,
double d,
double rightCurvature)
Static to form system matrix for a laser cavity with two mirrors and specified separation. |
ParaxialMatrix |
clone()
Method to return a clone (copy) of the current ParaxialMatrix |
double |
determinant()
Method to calculate the determinant. |
static ParaxialMatrix |
dielectric(double n0,
double n1)
Static method to return the ParaxialMatrix
for a flat dielectric interface between two refractive indices. |
static ParaxialMatrix |
dielectric(double n0,
double n1,
double c)
Static method to return the ParaxialMatrix
for a spherical dielectric interface between two refractive indices. |
static ParaxialMatrix |
doublet(double fc,
double fn,
double ft,
double mc,
double sn,
double st,
double bc)
Static Method to return the ParaxialMatrix
for a doublet |
void |
edit()
Method to invoke the ParaxialMatrixEditor of type MATRIX to directly edit the matrix elements. |
void |
edit(int type)
Method to invoke the ParaxialMatrixEditor to specified
type to edit the matrix. |
static ParaxialMatrix |
fromGroup(OpticalGroup g)
Static method for form the ParaxialMatrix from
an OpticalGroup at the
DEFAULT_WAVELENGTH . |
static ParaxialMatrix |
fromGroup(OpticalGroup g,
double lambda)
Static method to form a ParaxialMatrix from a Optical Group at a specified wavelength. |
static ParaxialMatrix |
fromGroup(OpticalGroup g,
double lambda,
int first,
int last)
Static to form a ParaxialMatrix from an
OpticalGroup at specified wavelength |
static ParaxialMatrix |
fromPlanes(double frontPrincipal,
double backPrincipal,
double focalLength,
double thickness)
Static method to form a system matrix from focal length, principal planes and thickness. |
double |
getA()
Method to return top-left or A matrix element. |
double |
getB()
Method to return top-right or B matrix element. |
double |
getBackFocal()
Return location of back focal plane relative to the output plane. |
double |
getBackFocalLength()
Return the back focal length. |
double |
getBackPower()
Return the back power. |
double |
getBackPrincipal()
Return the position of the back principal plane relative to the output plane. |
double |
getC()
Method to return lower-left or C matrix element. |
double |
getD()
Method to return lower-right or D matrix element. |
double |
getFrontFocal()
Return location of front focal plane relative to the input plane. |
double |
getFrontFocalLength()
Return the front focal length. |
double |
getFrontPower()
Return the front power. |
double |
getFrontPrincipal()
Return the position of the front principal plane relative to the input plane. |
double |
getThickness()
Method to return the thickness being distance from input to output plane. |
void |
inverse()
Forms the inverse of the current in place where the current values are overwritten. |
static ParaxialMatrix |
mirror(double c)
Static method to return the ParaxialMatrix for spherical mirror
of specified curcature. |
ParaxialMatrix |
mult(ParaxialMatrix p)
Method to pre-multiply the current ParaxialMatrix
by the specified ParaxialMatrix
and return a new ParaxialMatrix . |
void |
multBy(ParaxialMatrix p)
Method to pre-multiply the current ParaxialMatrix
by the specified ParaxialMatrix . |
static ParaxialMatrix |
propagation(double d)
Static method to return the propagation ParaxialMatrix for specifided distance. |
void |
scale(double a)
Method to scale the current ParaxialMatrix
by a constant. |
void |
setBackFocalLength(double f)
Set the back focal length to specified by scaling the matrix. |
void |
setElements(double a,
double b,
double c,
double d,
double t)
Method to set (or re-set) the elements of the ParaxialMatrix . |
void |
setElements(ParaxialMatrix m)
Method to set (or re-set) the elements of an ParaxialMatrix
with specified ParaxialMatrix . |
void |
setFrontFocalLength(double f)
Set the front focal length to specified value by scaling the matrix. |
static ParaxialMatrix |
thickLens(double fc,
double n,
double thick,
double bc)
Static method to return the ParaxialMatrix
for a thick lens with two specified radii and a thickness. |
static ParaxialMatrix |
thinLens(double f)
Static method to return the ParaxialMatrix for a thin lens
of specified focal length. |
static ParaxialMatrix |
thinLens(double fc,
double n,
double bc)
Static method to return the ParaxialMatrix for a thin lens
with two specified radii and refractive index. |
java.lang.String |
toString()
toString method to format ParaxialMatrix to
a string using current format string. |
double |
trace()
Method to calculate the trace. |
Methods inherited from class optics.Optics |
---|
getDefaultWaveLength, getErrorStream, getFormatString, getName, getStaticName, getVersion, printError, setDefaultWaveLength, setErrorStream, setFormatString, setMicrons |
Methods inherited from class java.lang.Object |
---|
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
protected double A
protected double B
protected double C
protected double D
protected double thickness
Constructor Detail |
---|
public ParaxialMatrix()
public ParaxialMatrix(double a, double b, double c, double d)
ParaxialMatrix
setting elements to
specified values and thickness to zero.
a
- top-left matrix elementb
- top-right matrix elementc
- lower-left matrix elementd
- lower-right matrix elementpublic ParaxialMatrix(double a, double b, double c, double d, double t)
ParaxialMatrix
and setting elements and thickness
to specified values.
a
- top-left matrix elementb
- top-right matrix elementc
- lower-left matrix elementd
- lower-right matrix elementt
- thicknesspublic ParaxialMatrix(ParaxialMatrix m)
ParaxialMatrix
with values taken
from specified ParaxialMatrix
.
m
- the specifying ParaxialMatrix
Method Detail |
---|
public ParaxialMatrix clone()
ParaxialMatrix
clone
in class java.lang.Object
ParaxialMatrix
clone of current matrixpublic void setElements(double a, double b, double c, double d, double t)
ParaxialMatrix
.
a
- top-left matrix elementb
- top-right matrix elementc
- lower-left matrix elementd
- lower-right matrix elementt
- thicknesspublic void setElements(ParaxialMatrix m)
ParaxialMatrix
with specified ParaxialMatrix
.
m
- specifying ParaxialMatrixpublic double getA()
double
being the A matrix element.public double getB()
double
being the B matrix element.public double getC()
double
being the C matrix element.public double getD()
double
being the D matrix element.public double getThickness()
double
the thickness.public void scale(double a)
ParaxialMatrix
by a constant. Element B and thickness are multiplied by
a
, element C is divided by a
and the
other two elements are unchanged.
a
- the scaling constantpublic java.lang.String toString()
ParaxialMatrix
to
a string using current format string.
toString
in class java.lang.Object
String
being formatted matrix.Optics.setFormatString(java.lang.String)
public ParaxialMatrix mult(ParaxialMatrix p)
ParaxialMatrix
by the specified ParaxialMatrix
and return a new ParaxialMatrix
. Neither the current
of specifying matrix are altered.
p
- to pre-multiply the current.
ParaxialMatrix
the resulting new
ParaxialMatrix
.public void multBy(ParaxialMatrix p)
ParaxialMatrix
by the specified ParaxialMatrix
.
The current ParaxialMatrix
is overwritten with the updated one.
p
- to pre-multiply the current.public double determinant()
double
the determinant.public double trace()
double
the tracepublic void inverse()
public double getBackFocalLength()
double
The focal length.public double getBackPower()
double
the back power.public double getBackFocal()
double
position of back focal planepublic double getBackPrincipal()
double
position of back principal plane.public double getFrontFocalLength()
double
the front focal length.public double getFrontPower()
double
The focal length.public double getFrontFocal()
double
position of front focal planepublic double getFrontPrincipal()
double
position of front principal plane.public void setBackFocalLength(double f)
f
- the new focal lengthpublic void setFrontFocalLength(double f)
f
- the new focal lengthpublic void edit(int type)
ParaxialMatrixEditor
to specified
type to edit the matrix.
type
- editor typeParaxialMatrixEditor
public void edit()
public static ParaxialMatrix propagation(double d)
ParaxialMatrix
for specifided distance.
d
- the propagation distance.
ParaxialMatrix
for propagationpublic static ParaxialMatrix thinLens(double f)
ParaxialMatrix
for a thin lens
of specified focal length.
f
- the focal length in mm.
ParaxialMatrix
of a thin lenspublic static ParaxialMatrix mirror(double c)
ParaxialMatrix
for spherical mirror
of specified curcature.
c
- curvature to the mirror.
ParaxialMatrix
of a spherical mirrorpublic static ParaxialMatrix dielectric(double n0, double n1)
ParaxialMatrix
for a flat dielectric interface between two refractive indices.
n0
- the first refractive indexn1
- the second refractive index
ParaxialMatrix
for flat dielectricpublic static ParaxialMatrix dielectric(double n0, double n1, double c)
ParaxialMatrix
for a spherical dielectric interface between two refractive indices.
n0
- the first refractive indexn1
- the second refractive indexc
- curvature of the surface.
ParaxialMatrix
of spherical dielectric.public static ParaxialMatrix thickLens(double fc, double n, double thick, double bc)
ParaxialMatrix
for a thick lens with two specified radii and a thickness.
fc
- curvature of frontn
- the refractive indexthick
- thicknessbc
- curvature of back surface.
ParaxialMatrix
of a thick lenspublic static ParaxialMatrix thinLens(double fc, double n, double bc)
ParaxialMatrix
for a thin lens
with two specified radii and refractive index.
fc
- curvature of front surfacen
- refractive indexbc
- curvature of back surface
ParaxialMatrix
of thin lens.public static ParaxialMatrix doublet(double fc, double fn, double ft, double mc, double sn, double st, double bc)
ParaxialMatrix
for a doublet
fc
- front surface curvature.fn
- first refractive index.ft
- first thicknessmc
- middle curvaturesn
- second refractive indexst
- second thicknessbc
- back surface curvature.
ParaxialMatrix
of a doublet.public static ParaxialMatrix cavity(double leftCurvature, double d, double rightCurvature)
leftCurvature
- curvature of left mirrord
- distance to second mirrorrightCurvature
- curvature of right mirrorpublic static ParaxialMatrix fromPlanes(double frontPrincipal, double backPrincipal, double focalLength, double thickness)
frontPrincipal
- front principal, relative to inputbackPrincipal
- back principal, relative to output planefocalLength
- system focal length (back and front equal)thickness
- distance between input and output planes.
ParaxialMatrix
from principal planes.public static ParaxialMatrix fromGroup(OpticalGroup g, double lambda)
g
- the OpticalGrouplambda
- The wavelength in micronspublic static ParaxialMatrix fromGroup(OpticalGroup g)
ParaxialMatrix
from
an OpticalGroup
at the
DEFAULT_WAVELENGTH
.
g
- the OpticalGroup.public static ParaxialMatrix fromGroup(OpticalGroup g, double lambda, int first, int last)
ParaxialMatrix
from an
OpticalGroup
at specified wavelength
g
- the OpticalGrouplambda
- The wavelength in micronsfirst
- the first surface to be includedlast
- the last surface to be included
(zero for last
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |