2021-07-11 06:15:02 +02:00
|
|
|
function ret = accelerationDueToSpontaneousEmissionProcess(this, SaturationParameter, TotalSaturationParameter, Detuning, Linewidth, WaveNumber)
|
2021-06-29 15:44:28 +02:00
|
|
|
Vector = [2*rand(1)-1,2*rand(1)-1,2*rand(1)-1];
|
|
|
|
Vector = Vector./norm(Vector);
|
|
|
|
|
2021-07-11 06:15:02 +02:00
|
|
|
ScatteringRate = (0.5 * SaturationParameter * Linewidth) / (1 + TotalSaturationParameter + (4 * (Detuning / Linewidth)^2));
|
2021-06-29 15:44:28 +02:00
|
|
|
NumberOfScatteringEvents = floor(ScatteringRate * this.TimeStep);
|
|
|
|
|
|
|
|
if NumberOfScatteringEvents > 0
|
2021-07-11 06:15:02 +02:00
|
|
|
ret = Vector.*((Helper.PhysicsConstants.PlanckConstantReduced * WaveNumber) / ...
|
2021-06-29 15:44:28 +02:00
|
|
|
(Helper.PhysicsConstants.Dy164Mass * this.TimeStep)).* sqrt(NumberOfScatteringEvents);
|
|
|
|
else
|
|
|
|
ret = zeros(1,3);
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|