Skip to content

Commit

Permalink
Documentation for BSC classes
Browse files Browse the repository at this point in the history
  • Loading branch information
ilent2 committed Dec 18, 2018
1 parent ef4bdaa commit 0b74fe2
Show file tree
Hide file tree
Showing 3 changed files with 51 additions and 19 deletions.
24 changes: 17 additions & 7 deletions +ott/Bsc.m
Original file line number Diff line number Diff line change
@@ -1,22 +1,32 @@
classdef Bsc
%Bsc abstract class representing beam shape coefficients
%
% Bsc properties:
% Any units can be used for the properties as long as they are
% consistent in all specified properties. Calculated quantities
% will have these units.
%
% Properties
% a Beam shape coefficients a vector
% b Beam shape coefficients b vector
% type Beam type (incoming, outgoing or scattered)
% type Beam type (incident, scattered, total)
% basis VSWF beam basis (incoming, outgoing or regular)
% Nmax Truncation number for VSWF coefficients
% power Power of the beam [M*L^2/S^2]
% Nbeams Number of beams in this Bsc object
% wavelength Wavelength of beam [L]
% speed Speed of beam in medium [L/T]
% omega Angular frequency of beam [2*pi/T]
% k_medium Wavenumber in medium [2*pi/L]
% dz Absolute cumulative distance the beam has moved
%
% Bsc methods:
% Methods
% translateZ Translates the beam along the z axis
% translateXyz Translation to xyz using rotations and z translations
% translateRtp Translation to rtp using rotations and z translations
% farfield Calculate fields in farfield
% emFieldXyz Calculate fields at specified locations
% set.Nmax Resize the beam shape coefficient vectors
% get.Nmax Get the current size of the beam shape coefficient vectors
% getCoefficients Get the beam coefficients [a, b]
% getModeIndices Get the mode indices [n, m]
% power Calculate the power of the beam
%
% Static methods:
% make_beam_vector Convert output of bsc_* functions to beam coefficients
Expand Down Expand Up @@ -46,7 +56,7 @@
end

properties (Dependent)
Nmax % Size of beam vectors
Nmax % Truncation number for VSWF coefficients
power % Power of the beam
Nbeams % Number of beams in this Bsc object

Expand Down
30 changes: 20 additions & 10 deletions +ott/BscPmGauss.m
Original file line number Diff line number Diff line change
@@ -1,15 +1,25 @@
classdef BscPmGauss < ott.BscPointmatch
%BscPmGauss provides HG, LG and IG beams using point matching method
%
% BscPmGauss properties:
% gtype Type of beam ('gaussian', 'lg', 'hg', or 'ig')
% mode Beam modes (2 or 4 element vector)
% polarisation Beam polarisation
% truncation_angle Truncation angle for beam
% offset Offset for original beam calculation
% angle Angle of incoming beam waist
%
% BscPmGauss methods:
% Properties
% gtype Type of beam ('gaussian', 'lg', 'hg', or 'ig')
% mode Beam modes (2 or 4 element vector)
% polarisation Beam polarisation
% truncation_angle Truncation angle for beam [rad]
% offset Offset for original beam calculation
% angle Angle of incoming beam waist
% a (Bsc) Beam shape coefficients a vector
% b (Bsc) Beam shape coefficients b vector
% type (Bsc) Beam type (incident, scattered, total)
% basis (Bsc) VSWF beam basis (incoming, outgoing or regular)
% Nmax (Bsc) Truncation number for VSWF coefficients
% power (Bsc) Power of the beam [M*L^2/S^2]
% Nbeams (Bsc) Number of beams in this Bsc object
% wavelength (Bsc) Wavelength of beam [L]
% speed (Bsc) Speed of beam in medium [L/T]
% omega (Bsc) Angular frequency of beam [2*pi/T]
% k_medium (Bsc) Wavenumber in medium [2*pi/L]
% dz (Bsc) Absolute cumulative distance the beam has moved
%
% This class is based on bsc_pointmatch_farfield.m and
% bsc_pointmatch_focalplane.m from ottv1.
Expand All @@ -21,7 +31,7 @@
gtype % Type of beam ('gaussian', 'lg', 'hg', or 'ig')
mode % Beam modes (2 or 4 element vector)
polarisation % Beam polarisation
truncation_angle % Truncation angle for beam
truncation_angle % Truncation angle for beam [rad]
offset % Offset for original beam calculation
angle % Angle of incoming beam waist
end
Expand Down
16 changes: 14 additions & 2 deletions +ott/BscPointmatch.m
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,21 @@
%BscPointmatch base class for BSC generated using point matching
% Provides support for both farfield and focal plane point matching.
%
% BscPointmatch properties:
% Properties
% a (Bsc) Beam shape coefficients a vector
% b (Bsc) Beam shape coefficients b vector
% type (Bsc) Beam type (incident, scattered, total)
% basis (Bsc) VSWF beam basis (incoming, outgoing or regular)
% Nmax (Bsc) Truncation number for VSWF coefficients
% power (Bsc) Power of the beam [M*L^2/S^2]
% Nbeams (Bsc) Number of beams in this Bsc object
% wavelength (Bsc) Wavelength of beam [L]
% speed (Bsc) Speed of beam in medium [L/T]
% omega (Bsc) Angular frequency of beam [2*pi/T]
% k_medium (Bsc) Wavenumber in medium [2*pi/L]
% dz (Bsc) Absolute cumulative distance the beam has moved
%
% BscPointmatch static methods:
% Static methods
% bsc_farfield Does point matching in the farfield
% bsc_focalplane Does point matching around the focal plane
%
Expand Down

0 comments on commit 0b74fe2

Please sign in to comment.