Added option to switch between Bootstrap and Jackknife error estimation methods, changed sideband beam flag name, removed zeeman slower beam flag which can be added later following development of the ThreeDimensionalMOT class and functionalities.

This commit is contained in:
Karthik 2021-07-16 15:49:02 +02:00
parent 2628e7c8bc
commit 0238e5d312

View File

@ -5,12 +5,12 @@ classdef MOTCaptureProcess < handle & matlab.mixin.Copyable
TimeStep; TimeStep;
SimulationTime; SimulationTime;
NumberOfAtoms; NumberOfAtoms;
ErrorEstimationMethod;
%Flags %Flags
SpontaneousEmission; SpontaneousEmission;
Sideband; SidebandBeam;
PushBeam; PushBeam;
ZeemanSlowerBeam;
Gravity; Gravity;
BackgroundCollision; BackgroundCollision;
@ -34,6 +34,8 @@ classdef MOTCaptureProcess < handle & matlab.mixin.Copyable
p.KeepUnmatched = true; p.KeepUnmatched = true;
addParameter(p, 'SimulationMode', '2D',... addParameter(p, 'SimulationMode', '2D',...
@(x) any(strcmpi(x,{'2D','3D', 'Full'}))); @(x) any(strcmpi(x,{'2D','3D', 'Full'})));
addParameter(p, 'ErrorEstimationMethod', 'jackknife',...
@(x) any(strcmpi(x,{'jackknife','bootstrap'})));
addParameter(p, 'NumberOfAtoms', 5000,... addParameter(p, 'NumberOfAtoms', 5000,...
@(x) assert(isnumeric(x) && isscalar(x) && (x > 0))); @(x) assert(isnumeric(x) && isscalar(x) && (x > 0)));
addParameter(p, 'TimeStep', 10e-06,... addParameter(p, 'TimeStep', 10e-06,...
@ -42,12 +44,10 @@ classdef MOTCaptureProcess < handle & matlab.mixin.Copyable
@(x) assert(isnumeric(x) && isscalar(x) && (x > 0))); @(x) assert(isnumeric(x) && isscalar(x) && (x > 0)));
addParameter(p, 'SpontaneousEmission', false,... addParameter(p, 'SpontaneousEmission', false,...
@islogical); @islogical);
addParameter(p, 'Sideband', false,... addParameter(p, 'SidebandBeam', false,...
@islogical); @islogical);
addParameter(p, 'PushBeam', false,... addParameter(p, 'PushBeam', false,...
@islogical); @islogical);
addParameter(p, 'ZeemanSlowerBeam', false,...
@islogical);
addParameter(p, 'Gravity', false,... addParameter(p, 'Gravity', false,...
@islogical); @islogical);
addParameter(p, 'BackgroundCollision', false,... addParameter(p, 'BackgroundCollision', false,...
@ -62,15 +62,15 @@ classdef MOTCaptureProcess < handle & matlab.mixin.Copyable
p.parse(varargin{:}); p.parse(varargin{:});
this.SimulationMode = p.Results.SimulationMode; this.SimulationMode = p.Results.SimulationMode;
this.ErrorEstimationMethod= p.Results.ErrorEstimationMethod;
this.NumberOfAtoms = p.Results.NumberOfAtoms; this.NumberOfAtoms = p.Results.NumberOfAtoms;
this.TimeStep = p.Results.TimeStep; this.TimeStep = p.Results.TimeStep;
this.SimulationTime = p.Results.SimulationTime; this.SimulationTime = p.Results.SimulationTime;
this.SpontaneousEmission = p.Results.SpontaneousEmission; this.SpontaneousEmission = p.Results.SpontaneousEmission;
this.Sideband = p.Results.Sideband; this.SidebandBeam = p.Results.SidebandBeam;
this.PushBeam = p.Results.PushBeam; this.PushBeam = p.Results.PushBeam;
this.ZeemanSlowerBeam = p.Results.ZeemanSlowerBeam;
this.Gravity = p.Results.Gravity; this.Gravity = p.Results.Gravity;
this.BackgroundCollision = p.Results.BackgroundCollision; this.BackgroundCollision = p.Results.BackgroundCollision;