Package theia :: Package optics :: Module beam :: Class GaussianBeam
[hide private]
[frames] | no frames]

Class GaussianBeam

source code




GaussianBeam class.

This class represents general astigmatic Gaussian beams in 3D space.
These are the objects that are intended to interact with the optical
components during the ray tracing and that are rendered in 3D thanks to
FreeCAD.

*=== Attributes ===*
BeamCount: class attribute, counts beams. [integer]
QTens: general astigmatic complex curvature tensor at the origin.
    [np. array of complex]
N: Refraction index of the medium in which the beam is placed. [float]
Wl: Wave-length in vacuum of the beam (frequency never changes). [float]
P: Power of the beam. [float]
Pos: Position in 3D space of the origin of the beam. [3D vector]
Dir: Normalized direction in 3D space of the beam axis. [3D vector]
U: A tuple of unitary vectors which along with Dir form a direct orthonormal
    basis in which the Q tensor is expressed. [tuple of 3D vectors]
Name: Name of the beam if any. [string]
Ref: Reference to the beam. [string]
OptDist: Optical length. [float]
Length: Geometrical length of the beam. [float]
StrayOrder: Number representing the *strayness* of the beam. If the beams
    results from a transmission on a HR surface or a reflection on a AR
    surface, then its StrayOrder is the StrayOrder of the parent beam + 1.
    [integer]
Optic: Ref of optic where the beam departs from (None if laser). [string]
Face: face of the optic where the beam departs from. [string]

Instance Methods [hide private]
 
__init__(self, Q, N, Wl, P, Pos, Dir, Ux, Uy, Name, Ref, OptDist, Length, StrayOrder, Optic, Face)
Beam initializer.
source code
 
__str__(self)
String representation of the beam, when calling print(beam).
source code
 
lines(self)
Returns the list of lines necessary to print the object.
source code
 
Q(self, d=0.0)
Return the Q tensor at a distance d of origin.
source code
 
QParam(self, d=0.0)
Compute the complex parameters q1 and q2 and theta of beam.
source code
 
ROC(self, dist=0.0)
Return the tuple of ROC of the beam.
source code
 
waistPos(self)
Return the tuple of positions of the waists of the beam along Dir.
source code
 
rayleigh(self)
Return the tuple of Rayleigh ranges of the beam.
source code
 
width(self, d=0.0)
Return the tuple of beam widths.
source code
 
waistSize(self)
Return a tuple with the waist sizes in x and y.
source code
 
gouy(self, d=0.0)
Return the tuple of Gouy phases.
source code

Inherited from object: __delattr__, __format__, __getattribute__, __hash__, __new__, __reduce__, __reduce_ex__, __repr__, __setattr__, __sizeof__, __subclasshook__

Class Variables [hide private]
  BeamCount = 0
Properties [hide private]

Inherited from object: __class__

Method Details [hide private]

__init__(self, Q, N, Wl, P, Pos, Dir, Ux, Uy, Name, Ref, OptDist, Length, StrayOrder, Optic, Face)
(Constructor)

source code 

Beam initializer.

This is the initializer used internally for beam creation, for user inputed beams, see class method userGaussianBeam.

Returns a Gaussian beam with attributes as the parameters.

Overrides: object.__init__

__str__(self)
(Informal representation operator)

source code 

String representation of the beam, when calling print(beam).

Overrides: object.__str__

QParam(self, d=0.0)

source code 

Compute the complex parameters q1 and q2 and theta of beam.

Returns a dictionary with keys: '1': q1 [complex] '2': q2 [complex] 'theta': theta [float]