Wrapped the distance between a point and a line calculation in a Helper function.
This commit is contained in:
parent
04b395b6ad
commit
64216d2086
@ -1,12 +1,6 @@
|
|||||||
function ret = calculateLocalSaturationIntensity(~, PeakIntensity, PositionVector, WaveVectorOrigin, WaveVectorEndPoint, BeamRadius, BeamWaist)
|
function ret = calculateLocalSaturationIntensity(~, PeakIntensity, PositionVector, WaveVectorOrigin, WaveVectorEndPoint, BeamRadius, BeamWaist)
|
||||||
WaveVector = WaveVectorEndPoint - WaveVectorOrigin; % Line
|
|
||||||
PositionVectorFromWaveVectorOrigin = PositionVector - WaveVectorOrigin; % Point = PositionVector
|
|
||||||
|
|
||||||
%Height of parallelogram (Distance between point and line) = Area of parallelogram / Base
|
DistanceBetweenAtomAndLaserBeamAxis = Helper.calculateDistanceFromPointToLine(PositionVector, WaveVectorOrigin, WaveVectorEndPoint);
|
||||||
%One side of parallelogram = PositionVectorFromWaveVectorOrigin
|
|
||||||
%Base = Wavevector
|
|
||||||
%Area = One side of parallelogram X Base
|
|
||||||
DistanceBetweenAtomAndLaserBeamAxis = norm(cross(PositionVectorFromWaveVectorOrigin, WaveVector))./ norm(WaveVector);
|
|
||||||
|
|
||||||
if DistanceBetweenAtomAndLaserBeamAxis <= BeamRadius
|
if DistanceBetweenAtomAndLaserBeamAxis <= BeamRadius
|
||||||
ret = PeakIntensity * exp(-2*DistanceBetweenAtomAndLaserBeamAxis^2 / BeamWaist^2);
|
ret = PeakIntensity * exp(-2*DistanceBetweenAtomAndLaserBeamAxis^2 / BeamWaist^2);
|
||||||
|
Loading…
Reference in New Issue
Block a user