diff options
Diffstat (limited to 'faraday')
-rw-r--r-- | faraday/psr_vs_detuning.m | 161 | ||||
-rw-r--r-- | faraday/psr_vs_detuning.ps | 1711 | ||||
-rw-r--r-- | faraday/psr_vs_detuning_combo.m | 149 | ||||
-rw-r--r-- | faraday/psr_vs_power.m | 147 |
4 files changed, 0 insertions, 2168 deletions
diff --git a/faraday/psr_vs_detuning.m b/faraday/psr_vs_detuning.m deleted file mode 100644 index acf7d43..0000000 --- a/faraday/psr_vs_detuning.m +++ /dev/null @@ -1,161 +0,0 @@ -function [psr_rad]=psr_vs_detuning(detuning_freq, Ep, psi_el, B_field, theta, phi) -% calculates psr in rad vs detunings of the probe field -% for given laser probe and B field. -% Probe field defined by field strength (Ep) and ellipticity angle (pse_el) -% Magnetic field defined by magnitude (B_field) and angles theta and phi. -% -% Note: it is expensive to recalculate atom property for each given B_field strength -% so run as many calculation for constant magnetic field as possible - -t0 = clock (); % we will use this latter to calculate elapsed time - - -% load useful functions; -useful_functions; - -% some physical constants -useful_constants; - -basis_transformation; % load subroutines - -% load atom energy levels and decay description -rb87_D1_line; -%four_levels_with_polarization; -%four_levels; -%three_levels; -%two_levels; - -% load EM field description -%field_description; - -%Nfreq=length(modulation_freq); - - - -%tune probe frequency -detuning_p=0; -%detuning_p_min=-B_field*gmg*4; % span +/-4 Zeeman splitting -%detuning_freq=zeros(1,N_detun_steps+1); -N_detun_steps=length(detuning_freq); -kappa_p =zeros(1,N_detun_steps+1); -kappa_m =zeros(1,N_detun_steps+1); -%detun_step=(detuning_p_max-detuning_p_min)/N_detun_steps; - -fprintf (stderr, "calculating atom properties\n"); -fflush (stderr); -pfile='atomic_B_field.mat'; % the parent file where B_field is stored. This is the parameter for calculated L0_and_polarization_submatrices -cfile='L0m_and_polarizability_calculated.mat'; % the child file to which calculated matrices are written -need_update=false; -[s, err_p, msg] = stat (pfile); -if(err_p) - %file does not exist - need_update=true; - else - B_field_cur=B_field; - load (pfile); % loading old B_field value - if (B_field ~= B_field_cur) - % old and current B field are different - B_field=B_field_cur; - need_update=true; - else - need_update=false; - endif -endif - -[s, err, msg] = stat (cfile); -if(err) - %file does not exist - need_update=true; -endif; -if ( !need_update) - % matrices already calculated and up to date, all we need to load them - load(cfile); - else - % calculate E_field independent properties of the atom - % to be used as sub matrix templates for Liouville operator matrix - [L0m, polarizability_m]=L0_and_polarization_submatrices( ... - Nlevels, ... - H0, g_decay, g_dephasing, dipole_elements ... - ); - save(pfile, 'B_field'); - save(cfile, 'L0m', 'polarizability_m'); - endif -elapsed_time = etime (clock (), t0); -fprintf (stderr, "elapsed time so far is %.3f sec\n",elapsed_time); -fflush (stderr); - -global atom_properties; -atom_properties.L0m=L0m; -atom_properties.polarizability_m=polarizability_m; -atom_properties.dipole_elements=dipole_elements; - -%light_positive_freq = [wp]; -E_field_drive = [0 ]; -E_field_probe = [Ep ]; -E_field_zero = [0 ]; -E_field_lab_pos_freq.linear = E_field_zero + (1.00000+0.00000i)*E_field_probe + (1.00000+0.00000i)*E_field_drive; -%E_field_lab_pos_freq.right = E_field_zero + (0.00000+0.00000i)*E_field_probe + (0.00000+0.00000i)*E_field_drive; -%E_field_lab_pos_freq.left = E_field_zero + (0.00000+0.00000i)*E_field_probe + (0.00000+0.00000i)*E_field_drive; - -% phi is angle between linear polarization and axis x -%phi=pi*2/8; -% theta is angle between lab z axis (light propagation direction) and magnetic field axis (z') -%theta=0; -% psi_el is the ellipticity parameter (phase difference between left and right polarization) -%psi_el=-30/180*pi; - -% we define light as linearly polarized -% where phi is angle between light polarization and axis x - % only sign of modulation frequency is important now - % we define actual frequency later on - [E_field_lab_pos_freq.x, E_field_lab_pos_freq.y] = rotXpolarization(phi, E_field_lab_pos_freq.linear); - % we add required ellipticity - E_field_lab_pos_freq.x*=exp(I*psi_el); - E_field_lab_pos_freq.y*=exp(-I*psi_el); - E_field_lab_pos_freq.z=E_field_zero; - - E_field_pos_freq=xyz_lin2atomic_axis_polarization(theta, E_field_lab_pos_freq); - - -fprintf (stderr, "tuning laser in forloop to set conditions vs detuning\n"); -fflush (stderr); -for detuning_p_cntr=1:length(detuning_freq); - wp0=w_pf1-w_sf2; %Fg=2 -> Fe=1 - %wd=w_pf1-w_hpf_ground; - %detuning_p=detuning_p_min+detun_step*(detuning_p_cntr-1); - detuning_p=detuning_freq(detuning_p_cntr); - wp=wp0+detuning_p; - light_positive_freq=[ wp]; - % we calculate dc and negative frequiencies as well as amplitudes - [modulation_freq, E_field] = ... - light_positive_frequencies_and_amplitudes2full_set_of_modulation_frequencies_and_amlitudes(... - light_positive_freq, E_field_pos_freq); - freq_index=freq2index(wp,modulation_freq); - - atom_field_problem.E_field = E_field; - atom_field_problem.modulation_freq = modulation_freq; - atom_field_problem.freq_index = freq_index; - - problems_cell_array{detuning_p_cntr}=atom_field_problem; - - - %kappa_p(detuning_p_cntr)=susceptibility_steady_state_at_freq( atom_field_problem); - %detuning_freq(detuning_p_cntr)=detuning_p; -endfor - -save '/tmp/problem_definition.mat' problems_cell_array atom_properties detuning_freq ; -fprintf (stderr, "now really hard calculations begin\n"); -fflush (stderr); -% once we define all problems the main job is done here -[xi_linear, xi_left, xi_right]=parcellfun(2, @susceptibility_steady_state_at_freq, problems_cell_array); -%[xi_linear, xi_left, xi_right]=cellfun( @susceptibility_steady_state_at_freq, problems_cell_array); - -%save '/tmp/relative_transmission_vs_detuning.mat' detuning_freq relative_transmission_vs_detuning; -save '/tmp/xi_vs_detuning.mat' detuning_freq xi_linear xi_left xi_right E_field_pos_freq E_field_probe B_field psi_el; - -psr_rad=output_psr_results_vs_detuning; - -elapsed_time = etime (clock (), t0) -return - -% vim: ts=2:sw=2:fdm=indent diff --git a/faraday/psr_vs_detuning.ps b/faraday/psr_vs_detuning.ps deleted file mode 100644 index a5695fa..0000000 --- a/faraday/psr_vs_detuning.ps +++ /dev/null @@ -1,1711 +0,0 @@ -%!PS-Adobe-2.0 -%%Title: psr_vs_detuning.ps -%%Creator: gnuplot 4.2 patchlevel 2 -%%CreationDate: Sat Jul 10 11:37:59 2010 -%%DocumentFonts: (atend) -%%BoundingBox: 50 50 612 792 -%%Orientation: Portrait -%%Pages: (atend) -%%EndComments -%%BeginProlog -/gnudict 256 dict def -gnudict begin -% -% The following 6 true/false flags may be edited by hand if required -% The unit line width may also be changed -% -/Color false def -/Blacktext false def -/Solid false def -/Dashlength 1 def -/Landscape false def -/Level1 false def -/Rounded false def -/TransparentPatterns false def -/gnulinewidth 5.000 def -/userlinewidth gnulinewidth def -% -/vshift -46 def -/dl1 { - 10.0 Dashlength mul mul - Rounded { currentlinewidth 0.75 mul sub dup 0 le { pop 0.01 } if } if -} def -/dl2 { - 10.0 Dashlength mul mul - Rounded { currentlinewidth 0.75 mul add } if -} def -/hpt_ 31.5 def -/vpt_ 31.5 def -/hpt hpt_ def -/vpt vpt_ def -Level1 {} { -/SDict 10 dict def -systemdict /pdfmark known not { - userdict /pdfmark systemdict /cleartomark get put -} if -SDict begin [ - /Title (psr_vs_detuning.ps) - /Subject (gnuplot plot) - /Creator (gnuplot 4.2 patchlevel 2 ) - /Author (Eugeniy Mikhailov) -% /Producer (gnuplot) -% /Keywords () - /CreationDate (Sat Jul 10 11:37:59 2010) - /DOCINFO pdfmark -end -} ifelse -% -% Gnuplot Prolog Version 4.2 (August 2006) -% -/M {moveto} bind def -/L {lineto} bind def -/R {rmoveto} bind def -/V {rlineto} bind def -/N {newpath moveto} bind def -/Z {closepath} bind def -/C {setrgbcolor} bind def -/f {rlineto fill} bind def -/vpt2 vpt 2 mul def -/hpt2 hpt 2 mul def -/Lshow {currentpoint stroke M 0 vshift R - Blacktext {gsave 0 setgray show grestore} {show} ifelse} def -/Rshow {currentpoint stroke M dup stringwidth pop neg vshift R - Blacktext {gsave 0 setgray show grestore} {show} ifelse} def -/Cshow {currentpoint stroke M dup stringwidth pop -2 div vshift R - Blacktext {gsave 0 setgray show grestore} {show} ifelse} def -/UP {dup vpt_ mul /vpt exch def hpt_ mul /hpt exch def - /hpt2 hpt 2 mul def /vpt2 vpt 2 mul def} def -/DL {Color {setrgbcolor Solid {pop []} if 0 setdash} - {pop pop pop 0 setgray Solid {pop []} if 0 setdash} ifelse} def -/BL {stroke userlinewidth 2 mul setlinewidth - Rounded {1 setlinejoin 1 setlinecap} if} def -/AL {stroke userlinewidth 2 div setlinewidth - Rounded {1 setlinejoin 1 setlinecap} if} def -/UL {dup gnulinewidth mul /userlinewidth exch def - dup 1 lt {pop 1} if 10 mul /udl exch def} def -/PL {stroke userlinewidth setlinewidth - Rounded {1 setlinejoin 1 setlinecap} if} def -% Default Line colors -/LCw {1 1 1} def -/LCb {0 0 0} def -/LCa {0 0 0} def -/LC0 {1 0 0} def -/LC1 {0 1 0} def -/LC2 {0 0 1} def -/LC3 {1 0 1} def -/LC4 {0 1 1} def -/LC5 {1 1 0} def -/LC6 {0 0 0} def -/LC7 {1 0.3 0} def -/LC8 {0.5 0.5 0.5} def -% Default Line Types -/LTw {PL [] 1 setgray} def -/LTb {BL [] LCb DL} def -/LTa {AL [1 udl mul 2 udl mul] 0 setdash LCa setrgbcolor} def -/LT0 {PL [] LC0 DL} def -/LT1 {PL [4 dl1 2 dl2] LC1 DL} def -/LT2 {PL [2 dl1 3 dl2] LC2 DL} def -/LT3 {PL [1 dl1 1.5 dl2] LC3 DL} def -/LT4 {PL [6 dl1 2 dl2 1 dl1 2 dl2] LC4 DL} def -/LT5 {PL [3 dl1 3 dl2 1 dl1 3 dl2] LC5 DL} def -/LT6 {PL [2 dl1 2 dl2 2 dl1 6 dl2] LC6 DL} def -/LT7 {PL [1 dl1 2 dl2 6 dl1 2 dl2 1 dl1 2 dl2] LC7 DL} def -/LT8 {PL [2 dl1 2 dl2 2 dl1 2 dl2 2 dl1 2 dl2 2 dl1 4 dl2] LC8 DL} def -/Pnt {stroke [] 0 setdash gsave 1 setlinecap M 0 0 V stroke grestore} def -/Dia {stroke [] 0 setdash 2 copy vpt add M - hpt neg vpt neg V hpt vpt neg V - hpt vpt V hpt neg vpt V closepath stroke - Pnt} def -/Pls {stroke [] 0 setdash vpt sub M 0 vpt2 V - currentpoint stroke M - hpt neg vpt neg R hpt2 0 V stroke - } def -/Box {stroke [] 0 setdash 2 copy exch hpt sub exch vpt add M - 0 vpt2 neg V hpt2 0 V 0 vpt2 V - hpt2 neg 0 V closepath stroke - Pnt} def -/Crs {stroke [] 0 setdash exch hpt sub exch vpt add M - hpt2 vpt2 neg V currentpoint stroke M - hpt2 neg 0 R hpt2 vpt2 V stroke} def -/TriU {stroke [] 0 setdash 2 copy vpt 1.12 mul add M - hpt neg vpt -1.62 mul V - hpt 2 mul 0 V - hpt neg vpt 1.62 mul V closepath stroke - Pnt} def -/Star {2 copy Pls Crs} def -/BoxF {stroke [] 0 setdash exch hpt sub exch vpt add M - 0 vpt2 neg V hpt2 0 V 0 vpt2 V - hpt2 neg 0 V closepath fill} def -/TriUF {stroke [] 0 setdash vpt 1.12 mul add M - hpt neg vpt -1.62 mul V - hpt 2 mul 0 V - hpt neg vpt 1.62 mul V closepath fill} def -/TriD {stroke [] 0 setdash 2 copy vpt 1.12 mul sub M - hpt neg vpt 1.62 mul V - hpt 2 mul 0 V - hpt neg vpt -1.62 mul V closepath stroke - Pnt} def -/TriDF {stroke [] 0 setdash vpt 1.12 mul sub M - hpt neg vpt 1.62 mul V - hpt 2 mul 0 V - hpt neg vpt -1.62 mul V closepath fill} def -/DiaF {stroke [] 0 setdash vpt add M - hpt neg vpt neg V hpt vpt neg V - hpt vpt V hpt neg vpt V closepath fill} def -/Pent {stroke [] 0 setdash 2 copy gsave - translate 0 hpt M 4 {72 rotate 0 hpt L} repeat - closepath stroke grestore Pnt} def -/PentF {stroke [] 0 setdash gsave - translate 0 hpt M 4 {72 rotate 0 hpt L} repeat - closepath fill grestore} def -/Circle {stroke [] 0 setdash 2 copy - hpt 0 360 arc stroke Pnt} def -/CircleF {stroke [] 0 setdash hpt 0 360 arc fill} def -/C0 {BL [] 0 setdash 2 copy moveto vpt 90 450 arc} bind def -/C1 {BL [] 0 setdash 2 copy moveto - 2 copy vpt 0 90 arc closepath fill - vpt 0 360 arc closepath} bind def -/C2 {BL [] 0 setdash 2 copy moveto - 2 copy vpt 90 180 arc closepath fill - vpt 0 360 arc closepath} bind def -/C3 {BL [] 0 setdash 2 copy moveto - 2 copy vpt 0 180 arc closepath fill - vpt 0 360 arc closepath} bind def -/C4 {BL [] 0 setdash 2 copy moveto - 2 copy vpt 180 270 arc closepath fill - vpt 0 360 arc closepath} bind def -/C5 {BL [] 0 setdash 2 copy moveto - 2 copy vpt 0 90 arc - 2 copy moveto - 2 copy vpt 180 270 arc closepath fill - vpt 0 360 arc} bind def -/C6 {BL [] 0 setdash 2 copy moveto - 2 copy vpt 90 270 arc closepath fill - vpt 0 360 arc closepath} bind def -/C7 {BL [] 0 setdash 2 copy moveto - 2 copy vpt 0 270 arc closepath fill - vpt 0 360 arc closepath} bind def -/C8 {BL [] 0 setdash 2 copy moveto - 2 copy vpt 270 360 arc closepath fill - vpt 0 360 arc closepath} bind def -/C9 {BL [] 0 setdash 2 copy moveto - 2 copy vpt 270 450 arc closepath fill - vpt 0 360 arc closepath} bind def -/C10 {BL [] 0 setdash 2 copy 2 copy moveto vpt 270 360 arc closepath fill - 2 copy moveto - 2 copy vpt 90 180 arc closepath fill - vpt 0 360 arc closepath} bind def -/C11 {BL [] 0 setdash 2 copy moveto - 2 copy vpt 0 180 arc closepath fill - 2 copy moveto - 2 copy vpt 270 360 arc closepath fill - vpt 0 360 arc closepath} bind def -/C12 {BL [] 0 setdash 2 copy moveto - 2 copy vpt 180 360 arc closepath fill - vpt 0 360 arc closepath} bind def -/C13 {BL [] 0 setdash 2 copy moveto - 2 copy vpt 0 90 arc closepath fill - 2 copy moveto - 2 copy vpt 180 360 arc closepath fill - vpt 0 360 arc closepath} bind def -/C14 {BL [] 0 setdash 2 copy moveto - 2 copy vpt 90 360 arc closepath fill - vpt 0 360 arc} bind def -/C15 {BL [] 0 setdash 2 copy vpt 0 360 arc closepath fill - vpt 0 360 arc closepath} bind def -/Rec {newpath 4 2 roll moveto 1 index 0 rlineto 0 exch rlineto - neg 0 rlineto closepath} bind def -/Square {dup Rec} bind def -/Bsquare {vpt sub exch vpt sub exch vpt2 Square} bind def -/S0 {BL [] 0 setdash 2 copy moveto 0 vpt rlineto BL Bsquare} bind def -/S1 {BL [] 0 setdash 2 copy vpt Square fill Bsquare} bind def -/S2 {BL [] 0 setdash 2 copy exch vpt sub exch vpt Square fill Bsquare} bind def -/S3 {BL [] 0 setdash 2 copy exch vpt sub exch vpt2 vpt Rec fill Bsquare} bind def -/S4 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt Square fill Bsquare} bind def -/S5 {BL [] 0 setdash 2 copy 2 copy vpt Square fill - exch vpt sub exch vpt sub vpt Square fill Bsquare} bind def -/S6 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill Bsquare} bind def -/S7 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill - 2 copy vpt Square fill Bsquare} bind def -/S8 {BL [] 0 setdash 2 copy vpt sub vpt Square fill Bsquare} bind def -/S9 {BL [] 0 setdash 2 copy vpt sub vpt vpt2 Rec fill Bsquare} bind def -/S10 {BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt Square fill - Bsquare} bind def -/S11 {BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt2 vpt Rec fill - Bsquare} bind def -/S12 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill Bsquare} bind def -/S13 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill - 2 copy vpt Square fill Bsquare} bind def -/S14 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill - 2 copy exch vpt sub exch vpt Square fill Bsquare} bind def -/S15 {BL [] 0 setdash 2 copy Bsquare fill Bsquare} bind def -/D0 {gsave translate 45 rotate 0 0 S0 stroke grestore} bind def -/D1 {gsave translate 45 rotate 0 0 S1 stroke grestore} bind def -/D2 {gsave translate 45 rotate 0 0 S2 stroke grestore} bind def -/D3 {gsave translate 45 rotate 0 0 S3 stroke grestore} bind def -/D4 {gsave translate 45 rotate 0 0 S4 stroke grestore} bind def -/D5 {gsave translate 45 rotate 0 0 S5 stroke grestore} bind def -/D6 {gsave translate 45 rotate 0 0 S6 stroke grestore} bind def -/D7 {gsave translate 45 rotate 0 0 S7 stroke grestore} bind def -/D8 {gsave translate 45 rotate 0 0 S8 stroke grestore} bind def -/D9 {gsave translate 45 rotate 0 0 S9 stroke grestore} bind def -/D10 {gsave translate 45 rotate 0 0 S10 stroke grestore} bind def -/D11 {gsave translate 45 rotate 0 0 S11 stroke grestore} bind def -/D12 {gsave translate 45 rotate 0 0 S12 stroke grestore} bind def -/D13 {gsave translate 45 rotate 0 0 S13 stroke grestore} bind def -/D14 {gsave translate 45 rotate 0 0 S14 stroke grestore} bind def -/D15 {gsave translate 45 rotate 0 0 S15 stroke grestore} bind def -/DiaE {stroke [] 0 setdash vpt add M - hpt neg vpt neg V hpt vpt neg V - hpt vpt V hpt neg vpt V closepath stroke} def -/BoxE {stroke [] 0 setdash exch hpt sub exch vpt add M - 0 vpt2 neg V hpt2 0 V 0 vpt2 V - hpt2 neg 0 V closepath stroke} def -/TriUE {stroke [] 0 setdash vpt 1.12 mul add M - hpt neg vpt -1.62 mul V - hpt 2 mul 0 V - hpt neg vpt 1.62 mul V closepath stroke} def -/TriDE {stroke [] 0 setdash vpt 1.12 mul sub M - hpt neg vpt 1.62 mul V - hpt 2 mul 0 V - hpt neg vpt -1.62 mul V closepath stroke} def -/PentE {stroke [] 0 setdash gsave - translate 0 hpt M 4 {72 rotate 0 hpt L} repeat - closepath stroke grestore} def -/CircE {stroke [] 0 setdash - hpt 0 360 arc stroke} def -/Opaque {gsave closepath 1 setgray fill grestore 0 setgray closepath} def -/DiaW {stroke [] 0 setdash vpt add M - hpt neg vpt neg V hpt vpt neg V - hpt vpt V hpt neg vpt V Opaque stroke} def -/BoxW {stroke [] 0 setdash exch hpt sub exch vpt add M - 0 vpt2 neg V hpt2 0 V 0 vpt2 V - hpt2 neg 0 V Opaque stroke} def -/TriUW {stroke [] 0 setdash vpt 1.12 mul add M - hpt neg vpt -1.62 mul V - hpt 2 mul 0 V - hpt neg vpt 1.62 mul V Opaque stroke} def -/TriDW {stroke [] 0 setdash vpt 1.12 mul sub M - hpt neg vpt 1.62 mul V - hpt 2 mul 0 V - hpt neg vpt -1.62 mul V Opaque stroke} def -/PentW {stroke [] 0 setdash gsave - translate 0 hpt M 4 {72 rotate 0 hpt L} repeat - Opaque stroke grestore} def -/CircW {stroke [] 0 setdash - hpt 0 360 arc Opaque stroke} def -/BoxFill {gsave Rec 1 setgray fill grestore} def -/Density { - /Fillden exch def - currentrgbcolor - /ColB exch def /ColG exch def /ColR exch def - /ColR ColR Fillden mul Fillden sub 1 add def - /ColG ColG Fillden mul Fillden sub 1 add def - /ColB ColB Fillden mul Fillden sub 1 add def - ColR ColG ColB setrgbcolor} def -/BoxColFill {gsave Rec PolyFill} def -/PolyFill {gsave Density fill grestore grestore} def -/h {rlineto rlineto rlineto gsave fill grestore} bind def -% -% PostScript Level 1 Pattern Fill routine for rectangles -% Usage: x y w h s a XX PatternFill -% x,y = lower left corner of box to be filled -% w,h = width and height of box -% a = angle in degrees between lines and x-axis -% XX = 0/1 for no/yes cross-hatch -% -/PatternFill {gsave /PFa [ 9 2 roll ] def - PFa 0 get PFa 2 get 2 div add PFa 1 get PFa 3 get 2 div add translate - PFa 2 get -2 div PFa 3 get -2 div PFa 2 get PFa 3 get Rec - gsave 1 setgray fill grestore clip - currentlinewidth 0.5 mul setlinewidth - /PFs PFa 2 get dup mul PFa 3 get dup mul add sqrt def - 0 0 M PFa 5 get rotate PFs -2 div dup translate - 0 1 PFs PFa 4 get div 1 add floor cvi - {PFa 4 get mul 0 M 0 PFs V} for - 0 PFa 6 get ne { - 0 1 PFs PFa 4 get div 1 add floor cvi - {PFa 4 get mul 0 2 1 roll M PFs 0 V} for - } if - stroke grestore} def -% -/languagelevel where - {pop languagelevel} {1} ifelse - 2 lt - {/InterpretLevel1 true def} - {/InterpretLevel1 Level1 def} - ifelse -% -% PostScript level 2 pattern fill definitions -% -/Level2PatternFill { -/Tile8x8 {/PaintType 2 /PatternType 1 /TilingType 1 /BBox [0 0 8 8] /XStep 8 /YStep 8} - bind def -/KeepColor {currentrgbcolor [/Pattern /DeviceRGB] setcolorspace} bind def -<< Tile8x8 - /PaintProc {0.5 setlinewidth pop 0 0 M 8 8 L 0 8 M 8 0 L stroke} ->> matrix makepattern -/Pat1 exch def -<< Tile8x8 - /PaintProc {0.5 setlinewidth pop 0 0 M 8 8 L 0 8 M 8 0 L stroke - 0 4 M 4 8 L 8 4 L 4 0 L 0 4 L stroke} ->> matrix makepattern -/Pat2 exch def -<< Tile8x8 - /PaintProc {0.5 setlinewidth pop 0 0 M 0 8 L - 8 8 L 8 0 L 0 0 L fill} ->> matrix makepattern -/Pat3 exch def -<< Tile8x8 - /PaintProc {0.5 setlinewidth pop -4 8 M 8 -4 L - 0 12 M 12 0 L stroke} ->> matrix makepattern -/Pat4 exch def -<< Tile8x8 - /PaintProc {0.5 setlinewidth pop -4 0 M 8 12 L - 0 -4 M 12 8 L stroke} ->> matrix makepattern -/Pat5 exch def -<< Tile8x8 - /PaintProc {0.5 setlinewidth pop -2 8 M 4 -4 L - 0 12 M 8 -4 L 4 12 M 10 0 L stroke} ->> matrix makepattern -/Pat6 exch def -<< Tile8x8 - /PaintProc {0.5 setlinewidth pop -2 0 M 4 12 L - 0 -4 M 8 12 L 4 -4 M 10 8 L stroke} ->> matrix makepattern -/Pat7 exch def -<< Tile8x8 - /PaintProc {0.5 setlinewidth pop 8 -2 M -4 4 L - 12 0 M -4 8 L 12 4 M 0 10 L stroke} ->> matrix makepattern -/Pat8 exch def -<< Tile8x8 - /PaintProc {0.5 setlinewidth pop 0 -2 M 12 4 L - -4 0 M 12 8 L -4 4 M 8 10 L stroke} ->> matrix makepattern -/Pat9 exch def -/Pattern1 {PatternBgnd KeepColor Pat1 setpattern} bind def -/Pattern2 {PatternBgnd KeepColor Pat2 setpattern} bind def -/Pattern3 {PatternBgnd KeepColor Pat3 setpattern} bind def -/Pattern4 {PatternBgnd KeepColor Landscape {Pat5} {Pat4} ifelse setpattern} bind def -/Pattern5 {PatternBgnd KeepColor Landscape {Pat4} {Pat5} ifelse setpattern} bind def -/Pattern6 {PatternBgnd KeepColor Landscape {Pat9} {Pat6} ifelse setpattern} bind def -/Pattern7 {PatternBgnd KeepColor Landscape {Pat8} {Pat7} ifelse setpattern} bind def -} def -% -% -%End of PostScript Level 2 code -% -/PatternBgnd { - TransparentPatterns {} {gsave 1 setgray fill grestore} ifelse -} def -% -% Substitute for Level 2 pattern fill codes with -% grayscale if Level 2 support is not selected. -% -/Level1PatternFill { -/Pattern1 {0.250 Density} bind def -/Pattern2 {0.500 Density} bind def -/Pattern3 {0.750 Density} bind def -/Pattern4 {0.125 Density} bind def -/Pattern5 {0.375 Density} bind def -/Pattern6 {0.625 Density} bind def -/Pattern7 {0.875 Density} bind def -} def -% -% Now test for support of Level 2 code -% -Level1 {Level1PatternFill} {Level2PatternFill} ifelse -% -/Symbol-Oblique /Symbol findfont [1 0 .167 1 0 0] makefont -dup length dict begin {1 index /FID eq {pop pop} {def} ifelse} forall -currentdict end definefont pop -/MFshow { - { dup 5 get 3 ge - { 5 get 3 eq {gsave} {grestore} ifelse } - {dup dup 0 get findfont exch 1 get scalefont setfont - [ currentpoint ] exch dup 2 get 0 exch R dup 5 get 2 ne {dup dup 6 - get exch 4 get {show} {stringwidth pop 0 R} ifelse }if dup 5 get 0 eq - {dup 3 get {2 get neg 0 exch R pop} {pop aload pop M} ifelse} {dup 5 - get 1 eq {dup 2 get exch dup 3 get exch 6 get stringwidth pop -2 div - dup 0 R} {dup 6 get stringwidth pop -2 div 0 R 6 get - show 2 index {aload pop M neg 3 -1 roll neg R pop pop} {pop pop pop - pop aload pop M} ifelse }ifelse }ifelse } - ifelse } - forall} bind def -/MFwidth {0 exch { dup 5 get 3 ge { 5 get 3 eq { 0 } { pop } ifelse } - {dup 3 get{dup dup 0 get findfont exch 1 get scalefont setfont - 6 get stringwidth pop add} {pop} ifelse} ifelse} forall} bind def -/MLshow { currentpoint stroke M - 0 exch R - Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def -/MRshow { currentpoint stroke M - exch dup MFwidth neg 3 -1 roll R - Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def -/MCshow { currentpoint stroke M - exch dup MFwidth -2 div 3 -1 roll R - Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def -/XYsave { [( ) 1 2 true false 3 ()] } bind def -/XYrestore { [( ) 1 2 true false 4 ()] } bind def -end -%%EndProlog -%%Page: 1 1 -gnudict begin -gsave -50 50 translate -0.100 0.100 scale -0 setgray -newpath -(Helvetica) findfont 140 scalefont setfont -gsave % colour palette begin -/maxcolors 64 def -/HSV2RGB { exch dup 0.0 eq {pop exch pop dup dup} % achromatic gray - { /HSVs exch def /HSVv exch def 6.0 mul dup floor dup 3 1 roll sub - /HSVf exch def /HSVi exch cvi def /HSVp HSVv 1.0 HSVs sub mul def - /HSVq HSVv 1.0 HSVs HSVf mul sub mul def - /HSVt HSVv 1.0 HSVs 1.0 HSVf sub mul sub mul def - /HSVi HSVi 6 mod def 0 HSVi eq {HSVv HSVt HSVp} - {1 HSVi eq {HSVq HSVv HSVp}{2 HSVi eq {HSVp HSVv HSVt} - {3 HSVi eq {HSVp HSVq HSVv}{4 HSVi eq {HSVt HSVp HSVv} - {HSVv HSVp HSVq} ifelse} ifelse} ifelse} ifelse} ifelse - } ifelse} def -/Constrain { - dup 0 lt {0 exch pop}{dup 1 gt {1 exch pop} if} ifelse} def -/YIQ2RGB { - 3 copy -1.702 mul exch -1.105 mul add add Constrain 4 1 roll - 3 copy -0.647 mul exch -0.272 mul add add Constrain 5 1 roll - 0.621 mul exch -0.956 mul add add Constrain 3 1 roll } def -/CMY2RGB { 1 exch sub exch 1 exch sub 3 2 roll 1 exch sub 3 1 roll exch } def -/XYZ2RGB { 3 copy -0.9017 mul exch -0.1187 mul add exch 0.0585 mul exch add - Constrain 4 1 roll 3 copy -0.0279 mul exch 1.999 mul add exch - -0.9844 mul add Constrain 5 1 roll -0.2891 mul exch -0.5338 mul add - exch 1.91 mul exch add Constrain 3 1 roll} def -/SelectSpace {ColorSpace (HSV) eq {HSV2RGB}{ColorSpace (XYZ) eq { - XYZ2RGB}{ColorSpace (CMY) eq {CMY2RGB}{ColorSpace (YIQ) eq {YIQ2RGB} - if} ifelse} ifelse} ifelse} def -/InterpolatedColor true def -/grayindex {/gidx 0 def - {GrayA gidx get grayv ge {exit} if /gidx gidx 1 add def} loop} def -/dgdx {grayv GrayA gidx get sub GrayA gidx 1 sub get - GrayA gidx get sub div} def -/redvalue {RedA gidx get RedA gidx 1 sub get - RedA gidx get sub dgdxval mul add} def -/greenvalue {GreenA gidx get GreenA gidx 1 sub get - GreenA gidx get sub dgdxval mul add} def -/bluevalue {BlueA gidx get BlueA gidx 1 sub get - BlueA gidx get sub dgdxval mul add} def -/interpolate { - grayindex grayv GrayA gidx get sub abs 1e-5 le - {RedA gidx get GreenA gidx get BlueA gidx get} - {/dgdxval dgdx def redvalue greenvalue bluevalue} ifelse} def -/GrayA [0 .0159 .0317 .0476 .0635 .0794 .0952 .1111 .127 .1429 .1587 .1746 - .1905 .2063 .2222 .2381 .254 .2698 .2857 .3016 .3175 .3333 .3492 .3651 - .381 .3968 .4127 .4286 .4444 .4603 .4762 .4921 .5079 .5238 .5397 .5556 - .5714 .5873 .6032 .619 .6349 .6508 .6667 .6825 .6984 .7143 .7302 .746 - .7619 .7778 .7937 .8095 .8254 .8413 .8571 .873 .8889 .9048 .9206 .9365 - .9524 .9683 .9841 1 ] def -/RedA [.057 .0642 .0715 .0787 .086 .0932 .1004 .1077 .1187 .1559 .1932 - .2305 .2677 .305 .3423 .3795 .4168 .4541 .4914 .5286 .5659 .6032 .6404 - .6777 .7054 .7172 .7289 .7406 .7524 .7641 .7759 .7876 .7994 .8111 .8229 - .8346 .8464 .8581 .8698 .8816 .8627 .8254 .7882 .7509 .7136 .6764 .6391 - .6018 .5645 .5273 .49 .4527 .4155 .3782 .3409 .3037 .2824 .2634 .2444 - .2254 .2065 .1875 .1685 .1495 ] def -/GreenA [.057 .0642 .0715 .0787 .086 .0932 .1004 .1077 .1187 .1559 .1932 - .2305 .2677 .305 .3423 .3795 .4168 .4541 .4914 .5286 .5659 .6032 .6404 - .6777 .7054 .7172 .7289 .7406 .7524 .7641 .7759 .7876 .7994 .8111 .8229 - .8346 .8464 .8581 .8698 .8816 .8627 .8254 .7882 .7509 .7136 .6764 .6391 - .6018 .5645 .5273 .49 .4527 .4155 .3782 .3409 .3037 .2824 .2634 .2444 - .2254 .2065 .1875 .1685 .1495 ] def -/BlueA [.057 .0642 .0715 .0787 .086 .0932 .1004 .1077 .1187 .1559 .1932 - .2305 .2677 .305 .3423 .3795 .4168 .4541 .4914 .5286 .5659 .6032 .6404 - .6777 .7054 .7172 .7289 .7406 .7524 .7641 .7759 .7876 .7994 .8111 .8229 - .8346 .8464 .8581 .8698 .8816 .8627 .8254 .7882 .7509 .7136 .6764 .6391 - .6018 .5645 .5273 .49 .4527 .4155 .3782 .3409 .3037 .2824 .2634 .2444 - .2254 .2065 .1875 .1685 .1495 ] def -/pm3dround {maxcolors 0 gt {dup 1 ge - {pop 1} {maxcolors mul floor maxcolors 1 sub div} ifelse} if} def -/pm3dGamma 1.0 1.5 div def -/ColorSpace (RGB) def -Color true and { % COLOUR vs. GRAY map - InterpolatedColor { %% Interpolation vs. RGB-Formula - /g {stroke pm3dround /grayv exch def interpolate - SelectSpace setrgbcolor} bind def - }{ - /g {stroke pm3dround dup cF7 Constrain exch dup cF5 Constrain exch cF15 Constrain - SelectSpace setrgbcolor} bind def - } ifelse -}{ - /g {stroke pm3dround pm3dGamma exp setgray} bind def -} ifelse -0.500 UL -LTb -394 2016 M -88 0 V -4241 0 R --88 0 V -stroke -310 2016 M -[ [(Helvetica) 120.0 0.0 true true 0 (-0.0004)] -] -40.0 MRshow -0.500 UL -LTb -394 2723 M -88 0 V -4241 0 R --88 0 V -stroke -310 2723 M -[ [(Helvetica) 120.0 0.0 true true 0 (-0.0002)] -] -40.0 MRshow -0.500 UL -LTb -394 3429 M -88 0 V -4241 0 R --88 0 V -stroke -310 3429 M -[ [(Helvetica) 120.0 0.0 true true 0 (0)] -] -40.0 MRshow -0.500 UL -LTb -394 4136 M -88 0 V -4241 0 R --88 0 V -stroke -310 4136 M -[ [(Helvetica) 120.0 0.0 true true 0 (0.0002)] -] -40.0 MRshow -0.500 UL -LTb -394 4843 M -88 0 V -4241 0 R --88 0 V -stroke -310 4843 M -[ [(Helvetica) 120.0 0.0 true true 0 (0.0004)] -] -40.0 MRshow -0.500 UL -LTb -394 1663 M -0 88 V -0 3445 R -0 -88 V -stroke -394 1523 M -[ [(Helvetica) 120.0 0.0 true true 0 (-200)] -] -40.0 MCshow -0.500 UL -LTb -1115 1663 M -0 88 V -0 3445 R -0 -88 V -stroke -1115 1523 M -[ [(Helvetica) 120.0 0.0 true true 0 (0)] -] -40.0 MCshow -0.500 UL -LTb -1837 1663 M -0 88 V -0 3445 R -0 -88 V -stroke -1837 1523 M -[ [(Helvetica) 120.0 0.0 true true 0 (200)] -] -40.0 MCshow -0.500 UL -LTb -2558 1663 M -0 88 V -0 3445 R -0 -88 V -stroke -2558 1523 M -[ [(Helvetica) 120.0 0.0 true true 0 (400)] -] -40.0 MCshow -0.500 UL -LTb -3280 1663 M -0 88 V -0 3445 R -0 -88 V -stroke -3280 1523 M -[ [(Helvetica) 120.0 0.0 true true 0 (600)] -] -40.0 MCshow -0.500 UL -LTb -4001 1663 M -0 88 V -0 3445 R -0 -88 V -stroke -4001 1523 M -[ [(Helvetica) 120.0 0.0 true true 0 (800)] -] -40.0 MCshow -0.500 UL -LTb -4723 1663 M -0 88 V -0 3445 R -0 -88 V -stroke -4723 1523 M -[ [(Helvetica) 120.0 0.0 true true 0 (1000)] -] -40.0 MCshow -0.500 UL -LTb -0.500 UL -LTb -394 5196 N -0 -3533 V -4329 0 V -0 3533 V --4329 0 V -Z stroke -LCb setrgbcolor --432 3429 M -currentpoint gsave translate 90 rotate 0 0 moveto -[ [(Helvetica) 120.0 0.0 true true 0 (PSR \(radians\))] -] -40.0 MCshow -grestore -LTb -LCb setrgbcolor -2558 1313 M -[ [(Helvetica) 120.0 0.0 true true 0 (two photon detuning \(MHz\))] -] -40.0 MCshow -LTb -2558 5686 M -[ [(Helvetica) 120.0 0.0 true true 0 (BPD normilized PSR signal at F)] -[(Helvetica) 96.0 -36.0 true true 0 (g)] -[(Helvetica) 120.0 0.0 true true 0 (=2 to F)] -[(Helvetica) 96.0 -36.0 true true 0 (e)] -[(Helvetica) 120.0 0.0 true true 0 (=1,2.)] -] -28.0 MCshow -2558 5566 M -[ [(Helvetica) 120.0 0.0 true true 0 ( Laser Rabi freq normalized to upper state decay 10.000, ellipticity -30.0 degree, )] -] -40.0 MCshow -2558 5446 M -[ [(Helvetica) 120.0 0.0 true true 0 ( B field ground level splitting -1.000 Gauss)] -] -40.0 MCshow -1.000 UP -0.500 UL -LTb -0.500 UL -LT0 -394 3229 M -4 -1 V -5 -1 V -4 -1 V -4 -2 V -5 -1 V -4 -1 V -4 -1 V -5 -1 V -4 -1 V -4 -1 V -5 -1 V -4 -2 V -4 -1 V -5 -1 V -4 -1 V -4 -1 V -5 -1 V -4 -1 V -4 -1 V -5 -2 V -4 -1 V -4 -1 V -5 -1 V -4 -1 V -4 -1 V -5 -2 V -4 -1 V -4 -1 V -5 -1 V -4 -1 V -4 -1 V -5 -1 V -4 -2 V -4 -1 V -5 -1 V -4 -1 V -4 -1 V -5 -1 V -4 -1 V -4 -2 V -5 -1 V -4 -1 V -4 -1 V -5 -1 V -4 -1 V -4 -1 V -5 -1 V -4 -2 V -4 -1 V -5 -1 V -4 -1 V -4 -1 V -5 -1 V -4 -1 V -4 -1 V -5 -1 V -4 -1 V -4 -1 V -5 -1 V -4 -1 V -4 -1 V -5 -1 V -4 -1 V -4 -1 V -5 -1 V -4 0 V -4 -1 V -5 -1 V -4 -1 V -4 -1 V -5 0 V -4 -1 V -4 -1 V -5 -1 V -4 0 V -4 -1 V -5 0 V -4 -1 V -4 0 V -5 -1 V -4 0 V -4 -1 V -5 0 V -4 0 V -4 -1 V -5 0 V -4 0 V -4 0 V -5 0 V -4 0 V -4 0 V -5 0 V -4 0 V -4 0 V -5 0 V -4 1 V -4 0 V -5 0 V -4 1 V -4 1 V -5 0 V -4 1 V -4 1 V -5 1 V -849 3152 L -4 1 V -5 1 V -4 1 V -4 2 V -5 1 V -4 2 V -4 1 V -5 2 V -4 2 V -4 2 V -5 2 V -4 2 V -4 2 V -5 3 V -4 2 V -4 3 V -5 3 V -4 3 V -4 3 V -5 3 V -4 3 V -4 4 V -5 3 V -4 4 V -4 4 V -5 4 V -4 4 V -4 4 V -5 5 V -4 4 V -4 5 V -5 5 V -4 5 V -4 5 V -5 5 V -4 6 V -4 5 V -5 6 V -4 6 V -4 6 V -5 6 V -4 6 V -4 6 V -5 7 V -4 6 V -4 7 V -5 6 V -4 7 V -4 7 V -5 7 V -4 7 V -4 7 V -5 7 V -4 7 V -4 8 V -5 7 V -4 7 V -4 8 V -5 7 V -4 7 V -4 7 V -5 8 V -4 7 V -4 7 V -5 7 V -4 8 V -4 7 V -5 7 V -4 7 V -4 7 V -5 7 V -4 7 V -4 7 V -5 6 V -4 7 V -4 6 V -5 7 V -4 6 V -4 6 V -5 6 V -4 6 V -4 6 V -5 6 V -4 5 V -4 6 V -5 5 V -4 5 V -4 5 V -5 5 V -4 4 V -4 5 V -5 4 V -4 4 V -4 4 V -5 4 V -4 4 V -4 4 V -5 3 V -4 4 V -4 3 V -5 3 V -4 3 V -4 3 V -5 2 V -1304 3666 L -4 2 V -5 3 V -4 2 V -4 2 V -5 2 V -4 2 V -4 1 V -5 2 V -4 1 V -4 2 V -5 1 V -4 1 V -4 1 V -5 1 V -4 1 V -4 1 V -5 1 V -4 0 V -4 1 V -5 0 V -4 1 V -4 0 V -5 0 V -4 0 V -4 0 V -5 0 V -4 0 V -4 0 V -5 0 V -4 0 V -4 0 V -5 -1 V -4 0 V -4 0 V -5 -1 V -4 0 V -4 -1 V -5 0 V -4 -1 V -4 -1 V -5 0 V -4 -1 V -4 -1 V -5 -1 V -4 0 V -4 -1 V -5 -1 V -4 -1 V -4 -1 V -5 -1 V -4 -1 V -4 -1 V -5 -1 V -4 -1 V -4 -1 V -5 -1 V -4 -1 V -4 -1 V -5 -1 V -4 -2 V -4 -1 V -5 -1 V -4 -1 V -4 -1 V -5 -1 V -4 -1 V -4 -2 V -5 -1 V -4 -1 V -4 -1 V -5 -2 V -4 -1 V -4 -1 V -5 -1 V -4 -1 V -4 -2 V -5 -1 V -4 -1 V -4 -1 V -5 -2 V -4 -1 V -4 -1 V -5 -1 V -4 -2 V -4 -1 V -5 -1 V -4 -1 V -4 -2 V -5 -1 V -4 -1 V -4 -1 V -5 -2 V -4 -1 V -4 -1 V -5 -1 V -4 -2 V -4 -1 V -5 -1 V -4 -1 V -4 -2 V -5 -1 V -4 -1 V -4 -1 V -5 -1 V -1759 3615 L -4 -1 V -5 -1 V -4 -1 V -4 -1 V -5 -1 V -4 -2 V -4 -1 V -5 -1 V -4 -1 V -4 -1 V -5 -1 V -4 -2 V -4 -1 V -5 -1 V -4 -1 V -4 -1 V -5 -1 V -4 -1 V -4 -1 V -5 -1 V -4 -1 V -4 -1 V -5 -2 V -4 -1 V -4 -1 V -5 -1 V -4 -1 V -4 -1 V -5 -1 V -4 -1 V -4 -1 V -5 -1 V -4 -1 V -4 -1 V -5 -1 V -4 -1 V -4 -1 V -5 -1 V -4 -1 V -4 -1 V -5 -1 V -4 -1 V -4 0 V -5 -1 V -4 -1 V -4 -1 V -5 -1 V -4 -1 V -4 -1 V -5 -1 V -4 -1 V -4 -1 V -5 0 V -4 -1 V -4 -1 V -5 -1 V -4 -1 V -4 -1 V -5 -1 V -4 0 V -4 -1 V -5 -1 V -4 -1 V -4 -1 V -5 0 V -4 -1 V -4 -1 V -5 -1 V -4 -1 V -4 0 V -5 -1 V -4 -1 V -4 -1 V -5 0 V -4 -1 V -4 -1 V -5 -1 V -4 0 V -4 -1 V -5 -1 V -4 0 V -4 -1 V -5 -1 V -4 -1 V -4 0 V -5 -1 V -4 -1 V -4 0 V -5 -1 V -4 -1 V -4 0 V -5 -1 V -4 -1 V -4 0 V -5 -1 V -4 0 V -4 -1 V -5 -1 V -4 0 V -4 -1 V -5 -1 V -4 0 V -4 -1 V -5 0 V -2214 3523 L -4 -1 V -5 0 V -4 -1 V -4 0 V -5 -1 V -4 0 V -4 -1 V -5 -1 V -4 0 V -4 -1 V -5 0 V -4 -1 V -4 0 V -5 -1 V -4 0 V -4 -1 V -5 0 V -4 -1 V -4 0 V -5 -1 V -4 0 V -4 -1 V -5 0 V -4 -1 V -4 0 V -5 -1 V -4 0 V -4 -1 V -5 0 V -4 -1 V -4 0 V -5 -1 V -4 0 V -4 -1 V -5 0 V -4 -1 V -4 0 V -5 -1 V -4 0 V -4 0 V -5 -1 V -4 0 V -4 -1 V -5 0 V -4 -1 V -4 0 V -5 -1 V -4 0 V -4 0 V -5 -1 V -4 0 V -4 -1 V -5 0 V -4 0 V -4 -1 V -5 0 V -4 -1 V -4 0 V -5 0 V -4 -1 V -4 0 V -5 -1 V -4 0 V -4 0 V -5 -1 V -4 0 V -4 0 V -5 -1 V -4 0 V -4 -1 V -5 0 V -4 0 V -4 -1 V -5 0 V -4 0 V -4 -1 V -5 0 V -4 0 V -4 -1 V -5 0 V -4 0 V -4 -1 V -5 0 V -4 -1 V -4 0 V -5 0 V -4 -1 V -4 0 V -5 0 V -4 -1 V -4 0 V -5 0 V -4 0 V -4 -1 V -5 0 V -4 0 V -4 -1 V -5 0 V -4 0 V -4 -1 V -5 0 V -4 0 V -4 -1 V -5 0 V -2669 3479 L -4 -1 V -5 0 V -4 0 V -4 -1 V -5 0 V -4 0 V -4 0 V -5 -1 V -4 0 V -4 0 V -5 -1 V -4 0 V -4 0 V -5 0 V -4 -1 V -4 0 V -5 0 V -4 -1 V -4 0 V -5 0 V -4 -1 V -4 0 V -5 0 V -4 0 V -4 -1 V -5 0 V -4 0 V -4 -1 V -5 0 V -4 0 V -4 0 V -5 -1 V -4 0 V -4 0 V -5 0 V -4 -1 V -4 0 V -5 0 V -4 -1 V -4 0 V -5 0 V -4 0 V -4 -1 V -5 0 V -4 0 V -4 -1 V -5 0 V -4 0 V -4 0 V -5 -1 V -4 0 V -4 0 V -5 0 V -4 -1 V -4 0 V -5 0 V -4 -1 V -4 0 V -5 0 V -4 0 V -4 -1 V -5 0 V -4 0 V -4 -1 V -5 0 V -4 0 V -4 0 V -5 -1 V -4 0 V -4 0 V -5 -1 V -4 0 V -4 0 V -5 0 V -4 -1 V -4 0 V -5 0 V -4 -1 V -4 0 V -5 0 V -4 0 V -4 -1 V -5 0 V -4 0 V -4 -1 V -5 0 V -4 0 V -4 0 V -5 -1 V -4 0 V -4 0 V -5 -1 V -4 0 V -4 0 V -5 -1 V -4 0 V -4 0 V -5 0 V -4 -1 V -4 0 V -5 0 V -4 -1 V -4 0 V -5 0 V -3124 3448 L -4 0 V -5 0 V -4 -1 V -4 0 V -5 0 V -4 -1 V -4 0 V -5 0 V -4 -1 V -4 0 V -5 0 V -4 -1 V -4 0 V -5 0 V -4 -1 V -4 0 V -5 0 V -4 -1 V -4 0 V -5 0 V -4 -1 V -4 0 V -5 0 V -4 -1 V -4 0 V -5 -1 V -4 0 V -4 0 V -5 -1 V -4 0 V -4 0 V -5 -1 V -4 0 V -4 -1 V -5 0 V -4 0 V -4 -1 V -5 0 V -4 -1 V -4 0 V -5 0 V -4 -1 V -4 0 V -5 -1 V -4 0 V -4 -1 V -5 0 V -4 0 V -4 -1 V -5 0 V -4 -1 V -4 0 V -5 -1 V -4 0 V -4 -1 V -5 0 V -4 0 V -4 -1 V -5 0 V -4 -1 V -4 0 V -5 -1 V -4 0 V -4 -1 V -5 0 V -4 -1 V -4 0 V -5 -1 V -4 0 V -4 -1 V -5 0 V -4 -1 V -4 0 V -5 -1 V -4 0 V -4 -1 V -5 0 V -4 -1 V -4 0 V -5 -1 V -4 0 V -4 -1 V -5 -1 V -4 0 V -4 -1 V -5 0 V -4 -1 V -4 0 V -5 -1 V -4 -1 V -4 0 V -5 -1 V -4 0 V -4 -1 V -5 0 V -4 -1 V -4 -1 V -5 0 V -4 -1 V -4 0 V -5 -1 V -4 -1 V -4 0 V -5 -1 V -3579 3401 L -4 -1 V -5 -1 V -4 0 V -4 -1 V -5 -1 V -4 0 V -4 -1 V -5 0 V -4 -1 V -4 -1 V -5 0 V -4 -1 V -4 -1 V -5 0 V -4 -1 V -4 0 V -5 -1 V -4 -1 V -4 0 V -5 -1 V -4 0 V -4 -1 V -5 -1 V -4 0 V -4 -1 V -5 0 V -4 -1 V -4 -1 V -5 0 V -4 -1 V -4 0 V -5 -1 V -4 0 V -4 -1 V -5 0 V -4 -1 V -4 0 V -5 -1 V -4 0 V -4 -1 V -5 0 V -4 -1 V -4 0 V -5 0 V -4 -1 V -4 0 V -5 0 V -4 -1 V -4 0 V -5 0 V -4 -1 V -4 0 V -5 0 V -4 0 V -4 0 V -5 0 V -4 -1 V -4 0 V -5 0 V -4 0 V -4 0 V -5 1 V -4 0 V -4 0 V -5 0 V -4 0 V -4 0 V -5 1 V -4 0 V -4 1 V -5 0 V -4 1 V -4 0 V -5 1 V -4 0 V -4 1 V -5 1 V -4 1 V -4 0 V -5 1 V -4 1 V -4 1 V -5 1 V -4 1 V -4 2 V -5 1 V -4 1 V -4 1 V -5 2 V -4 1 V -4 2 V -5 1 V -4 2 V -4 2 V -5 1 V -4 2 V -4 2 V -5 2 V -4 2 V -4 2 V -5 2 V -4 2 V -4 2 V -5 2 V -4034 3421 L -4 2 V -5 3 V -4 2 V -4 2 V -5 2 V -4 3 V -4 2 V -5 2 V -4 3 V -4 2 V -5 2 V -4 3 V -4 2 V -5 2 V -4 3 V -4 2 V -5 3 V -4 2 V -4 2 V -5 3 V -4 2 V -4 2 V -5 3 V -4 2 V -4 2 V -5 2 V -4 3 V -4 2 V -5 2 V -4 2 V -4 2 V -5 2 V -4 2 V -4 2 V -5 2 V -4 2 V -4 2 V -5 2 V -4 1 V -4 2 V -5 2 V -4 1 V -4 2 V -5 2 V -4 1 V -4 2 V -5 1 V -4 1 V -4 2 V -5 1 V -4 1 V -4 1 V -5 2 V -4 1 V -4 1 V -5 1 V -4 1 V -4 1 V -5 1 V -4 0 V -4 1 V -5 1 V -4 1 V -4 1 V -5 0 V -4 1 V -4 1 V -5 0 V -4 1 V -4 0 V -5 1 V -4 0 V -4 1 V -5 0 V -4 0 V -4 1 V -5 0 V -4 0 V -4 1 V -5 0 V -4 0 V -4 0 V -5 0 V -4 1 V -4 0 V -5 0 V -4 0 V -4 0 V -5 0 V -4 0 V -4 0 V -5 0 V -4 0 V -4 0 V -5 0 V -4 0 V -4 0 V -5 0 V -4 0 V -4 0 V -5 -1 V -4 0 V -4 0 V -5 0 V -4489 3545 L -4 0 V -5 -1 V -4 0 V -4 0 V -5 0 V -4 0 V -4 -1 V -5 0 V -4 0 V -4 0 V -5 -1 V -4 0 V -4 0 V -5 0 V -4 -1 V -4 0 V -5 0 V -4 -1 V -4 0 V -5 0 V -4 -1 V -4 0 V -5 0 V -4 -1 V -4 0 V -5 0 V -4 -1 V -4 0 V -5 0 V -4 -1 V -4 0 V -5 0 V -4 -1 V -4 0 V -5 -1 V -4 0 V -4 0 V -5 -1 V -4 0 V -4 0 V -5 -1 V -4 0 V -4 -1 V -5 0 V -4 0 V -4 -1 V -5 0 V -4 0 V -4 -1 V -5 0 V -4 -1 V -4 0 V -5 0 V -4 -1 V -1.000 UP -stroke -LTb -stroke -grestore -end -showpage -%%Trailer -%%DocumentFonts: Helvetica -%%Pages: 1 diff --git a/faraday/psr_vs_detuning_combo.m b/faraday/psr_vs_detuning_combo.m deleted file mode 100644 index b2ea9d3..0000000 --- a/faraday/psr_vs_detuning_combo.m +++ /dev/null @@ -1,149 +0,0 @@ -1; - -data_dir='results/'; -output_dir='results/'; -N_detun_steps=1000; -detuning_p_min=-200.0; -%detuning_p_max=-detuning_p_min; -detuning_p_max=1000; -detuning_freq=linspace(detuning_p_min,detuning_p_max,N_detun_steps); - -gmg=.7; % gyro magnetic ration for ground level -zeeman_splitting=+0.000; -B_field=zeeman_splitting/gmg; - -%[psr_rad]=psr_vs_detuning(Ep, psi_el, B_field, theta, phi) - -% phi is angle between linear polarization and axis x -phi=pi/4; -% theta is angle between lab z axis (light propagation direction) and magnetic field axis (z') -theta=0; -% psi_el is the ellipticity parameter (phase difference between left and right polarization) -psi_el=-30/180*pi; - - -figure(6); -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%5 -% zero magnetic field,, 30 degree ellipticity -zeeman_splitting=+0.000; -B_field=zeeman_splitting/gmg; -psi_el=30/180*pi; - -%[psr_rad_tnEp_pos_el, psr_rad_tnEp_neg_el, psr_rad_smEp_pos_el, psr_rad_smEp_neg_el, psr_rad_lgEp_pos_el, psr_rad_lgEp_neg_el, psr_rad_grEp_pos_el, psr_rad_grEp_neg_el] =make_representative_psr_vs_detuning_for_given_B_and_psi_el(detuning_freq, B_field, psi_el, theta, phi); -fname=data_file_name('results/', 'PSR.','mat', B_field, theta,phi,psi_el); -load(fname) -ret=ouput_psr_vs_detuning_combo( ... - psr_rad_tnEp_pos_el, psr_rad_tnEp_neg_el, ... - psr_rad_smEp_pos_el, psr_rad_smEp_neg_el, ... - psr_rad_lgEp_pos_el, psr_rad_lgEp_neg_el, ... - psr_rad_grEp_pos_el, psr_rad_grEp_neg_el ... - , detuning_freq, B_field, theta, phi, psi_el - , output_dir ); - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%5 -% 0.1 G magnetic field,, 30 degree ellipticity - -zeeman_splitting=+0.070; -B_field=zeeman_splitting/gmg; -psi_el=30/180*pi; - -%[psr_rad_tnEp_pos_el, psr_rad_tnEp_neg_el, psr_rad_smEp_pos_el, psr_rad_smEp_neg_el, psr_rad_lgEp_pos_el, psr_rad_lgEp_neg_el, psr_rad_grEp_pos_el, psr_rad_grEp_neg_el] =make_representative_psr_vs_detuning_for_given_B_and_psi_el(detuning_freq, B_field, theta, phi, psi_el); -fname=data_file_name('results/', 'PSR.','mat', B_field, theta,phi,psi_el); -load(fname) -ret=ouput_psr_vs_detuning_combo( ... - psr_rad_tnEp_pos_el, psr_rad_tnEp_neg_el, ... - psr_rad_smEp_pos_el, psr_rad_smEp_neg_el, ... - psr_rad_lgEp_pos_el, psr_rad_lgEp_neg_el, ... - psr_rad_grEp_pos_el, psr_rad_grEp_neg_el ... - , detuning_freq, B_field, theta, phi, psi_el - , output_dir ); - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%5 -% 0.0001 G magnetic field,, 30 degree ellipticity - -zeeman_splitting=+0.000070; -B_field=zeeman_splitting/gmg; -psi_el=30/180*pi; - -%[psr_rad_tnEp_pos_el, psr_rad_tnEp_neg_el, psr_rad_smEp_pos_el, psr_rad_smEp_neg_el, psr_rad_lgEp_pos_el, psr_rad_lgEp_neg_el, psr_rad_grEp_pos_el, psr_rad_grEp_neg_el] =make_representative_psr_vs_detuning_for_given_B_and_psi_el(detuning_freq, B_field, theta, phi, psi_el); -fname=data_file_name('results/', 'PSR.','mat', B_field, theta,phi,psi_el); -load(fname) -ret=ouput_psr_vs_detuning_combo( ... - psr_rad_tnEp_pos_el, psr_rad_tnEp_neg_el, ... - psr_rad_smEp_pos_el, psr_rad_smEp_neg_el, ... - psr_rad_lgEp_pos_el, psr_rad_lgEp_neg_el, ... - psr_rad_grEp_pos_el, psr_rad_grEp_neg_el ... - , detuning_freq, B_field, theta, phi, psi_el ... - , output_dir ); - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%5 -% 1.0 G magnetic field,, 30 degree ellipticity - -zeeman_splitting=+0.70; -B_field=zeeman_splitting/gmg; -psi_el=30/180*pi; - -%[psr_rad_tnEp_pos_el, psr_rad_tnEp_neg_el, psr_rad_smEp_pos_el, psr_rad_smEp_neg_el, psr_rad_lgEp_pos_el, psr_rad_lgEp_neg_el, psr_rad_grEp_pos_el, psr_rad_grEp_neg_el] =make_representative_psr_vs_detuning_for_given_B_and_psi_el(detuning_freq, B_field, theta, phi, psi_el); -fname=data_file_name('results/', 'PSR.','mat', B_field, theta,phi,psi_el); -load(fname) -ret=ouput_psr_vs_detuning_combo( ... - psr_rad_tnEp_pos_el, psr_rad_tnEp_neg_el, ... - psr_rad_smEp_pos_el, psr_rad_smEp_neg_el, ... - psr_rad_lgEp_pos_el, psr_rad_lgEp_neg_el, ... - psr_rad_grEp_pos_el, psr_rad_grEp_neg_el ... - , detuning_freq, B_field, theta, phi, psi_el ... - , output_dir ); - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%5 -% -0.1 G magnetic field,, 30 degree ellipticity - -zeeman_splitting=-0.070; -B_field=zeeman_splitting/gmg; -psi_el=30/180*pi; - -%[psr_rad_tnEp_pos_el, psr_rad_tnEp_neg_el, psr_rad_smEp_pos_el, psr_rad_smEp_neg_el, psr_rad_lgEp_pos_el, psr_rad_lgEp_neg_el, psr_rad_grEp_pos_el, psr_rad_grEp_neg_el] =make_representative_psr_vs_detuning_for_given_B_and_psi_el(detuning_freq, B_field, theta, phi, psi_el); -fname=data_file_name('results/', 'PSR.','mat', B_field, theta,phi,psi_el); -load(fname) -ret=ouput_psr_vs_detuning_combo( ... - psr_rad_tnEp_pos_el, psr_rad_tnEp_neg_el, ... - psr_rad_smEp_pos_el, psr_rad_smEp_neg_el, ... - psr_rad_lgEp_pos_el, psr_rad_lgEp_neg_el, ... - psr_rad_grEp_pos_el, psr_rad_grEp_neg_el ... - , detuning_freq, B_field, theta, phi, psi_el ... - , output_dir ); - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%5 -% -0.0001 G magnetic field,, 30 degree ellipticity - -zeeman_splitting=-0.000070; -B_field=zeeman_splitting/gmg; -psi_el=30/180*pi; - -%[psr_rad_tnEp_pos_el, psr_rad_tnEp_neg_el, psr_rad_smEp_pos_el, psr_rad_smEp_neg_el, psr_rad_lgEp_pos_el, psr_rad_lgEp_neg_el, psr_rad_grEp_pos_el, psr_rad_grEp_neg_el] =make_representative_psr_vs_detuning_for_given_B_and_psi_el(detuning_freq, B_field, theta, phi, psi_el); -fname=data_file_name('results/', 'PSR.','mat', B_field, theta,phi,psi_el); -load(fname) -ret=ouput_psr_vs_detuning_combo( ... - psr_rad_tnEp_pos_el, psr_rad_tnEp_neg_el, ... - psr_rad_smEp_pos_el, psr_rad_smEp_neg_el, ... - psr_rad_lgEp_pos_el, psr_rad_lgEp_neg_el, ... - psr_rad_grEp_pos_el, psr_rad_grEp_neg_el ... - , detuning_freq, B_field, theta, phi, psi_el ... - , output_dir ); - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%5 -% -1.0 G magnetic field,, 30 degree ellipticity - -zeeman_splitting=-0.70; -B_field=zeeman_splitting/gmg; -psi_el=30/180*pi; - -%[psr_rad_tnEp_pos_el, psr_rad_tnEp_neg_el, psr_rad_smEp_pos_el, psr_rad_smEp_neg_el, psr_rad_lgEp_pos_el, psr_rad_lgEp_neg_el, psr_rad_grEp_pos_el, psr_rad_grEp_neg_el] =make_representative_psr_vs_detuning_for_given_B_and_psi_el(detuning_freq, B_field, theta, phi, psi_el); -fname=data_file_name('results/', 'PSR.','mat', B_field, theta,phi,psi_el); -load(fname) -ret=ouput_psr_vs_detuning_combo( ... - psr_rad_tnEp_pos_el, psr_rad_tnEp_neg_el, ... - psr_rad_smEp_pos_el, psr_rad_smEp_neg_el, ... - psr_rad_lgEp_pos_el, psr_rad_lgEp_neg_el, ... - psr_rad_grEp_pos_el, psr_rad_grEp_neg_el ... - , detuning_freq, B_field, theta, phi, psi_el ... - , output_dir ); diff --git a/faraday/psr_vs_power.m b/faraday/psr_vs_power.m deleted file mode 100644 index 97b9fab..0000000 --- a/faraday/psr_vs_power.m +++ /dev/null @@ -1,147 +0,0 @@ -1; -clear all; -t0 = clock (); % we will use this latter to calculate elapsed time - - -% load useful functions; -useful_functions; - -% some physical constants -useful_constants; - -basis_transformation; % load subroutines - -% load atom energy levels and decay description -rb87_D1_line; -%four_levels_with_polarization; -%four_levels; -%three_levels; -%two_levels; - -% load EM field description -field_description; - -%Nfreq=length(modulation_freq); - - - -%tune probe frequency -detuning_p=0; -N_detun_steps=100; -%detuning_p_min=-B_field*gmg*4; % span +/-4 Zeeman splitting -detuning_p_min=-200.0; -detuning_p_max=-detuning_p_min; -detuning_p_max=1000; -detuning_freq=zeros(1,N_detun_steps+1); -kappa_p =zeros(1,N_detun_steps+1); -kappa_m =zeros(1,N_detun_steps+1); -detun_step=(detuning_p_max-detuning_p_min)/N_detun_steps; - -fprintf (stderr, "calculating atom properties\n"); -fflush (stderr); -pfile='rb87_D1_line.m'; % the parent file from which L0_and_polarization_submatrices calculated -cfile='L0m_and_polarizability_calculated.mat'; % the child file to which calculated matrices writen -[s, err, msg] = stat (pfile); -if(err) - %file does not exist - disp('Big troubles are coming, no file to define Hamiltonian)'); - msg=cstrcat('File: ', pfile, ' is missing...exiting'); - disp(msg); - return; -else - pfile_mtime=s.mtime; -endif -[s, err, msg] = stat (cfile); -if(err) - %file does not exist - cfile_mtime=0; -else - cfile_mtime=s.mtime; -endif; -if ( cfile_mtime >= pfile_mtime) - % matrices already calculated and up to date, all we need to load them - load(cfile); - else - % calculate E_field independent properties of the atom - % to be used as sub matrix templates for Liouville operator matrix - [L0m, polarizability_m]=L0_and_polarization_submatrices( ... - Nlevels, ... - H0, g_decay, g_dephasing, dipole_elements ... - ); - save(cfile, 'L0m', 'polarizability_m'); - endif -elapsed_time = etime (clock (), t0); -fprintf (stderr, "elapsed time so far is %.3f sec\n",elapsed_time); -fflush (stderr); - -global atom_properties; -atom_properties.L0m=L0m; -atom_properties.polarizability_m=polarizability_m; -atom_properties.dipole_elements=dipole_elements; - - -% phi is angle between linear polarization and axis x -phi=pi*2/8; -% theta is angle between lab z axis (light propagation direction) and magnetic field axis (z') -theta=0; -% psi_el is the ellipticity parameter (phase difference between left and right polarization) -psi_el=-5/180*pi; - - - -fprintf (stderr, "tuning laser in forloop to set conditions vs detuning\n"); -fflush (stderr); -wp=w_pf1-w_sf2 +80; %Fg=2 -> Fe=1 +80 MHz -Ep=logspace(-2,1,100); -for cntr=1:length(Ep); - - %light_positive_freq = [wp]; - E_field_drive = [0 ]; - E_field_probe = [Ep(cntr) ]; - E_field_zero = [0 ]; - E_field_lab_pos_freq.linear = E_field_zero + (1.00000+0.00000i)*E_field_probe + (1.00000+0.00000i)*E_field_drive; - - % we define light as linearly polarized - % where phi is angle between light polarization and axis x - % only sign of modulation frequency is important now - % we define actual frequency later on - [E_field_lab_pos_freq.x, E_field_lab_pos_freq.y] = rotXpolarization(phi, E_field_lab_pos_freq.linear); - % we add required ellipticity - E_field_lab_pos_freq.x*=exp(I*psi_el); - E_field_lab_pos_freq.y*=exp(-I*psi_el); - E_field_lab_pos_freq.z=E_field_zero; - - E_field_pos_freq=xyz_lin2atomic_axis_polarization(theta, E_field_lab_pos_freq); - - - light_positive_freq=[ wp]; - % we calculate dc and negative frequiencies as well as amplitudes - [modulation_freq, E_field] = ... - light_positive_frequencies_and_amplitudes2full_set_of_modulation_frequencies_and_amlitudes(... - light_positive_freq, E_field_pos_freq); - freq_index=freq2index(wp,modulation_freq); - - atom_field_problem.E_field = E_field; - atom_field_problem.modulation_freq = modulation_freq; - atom_field_problem.freq_index = freq_index; - - problems_cell_array{cntr}=atom_field_problem; - -endfor - -save '/tmp/problem_definition.mat' problems_cell_array atom_properties Ep ; -fprintf (stderr, "now really hard calculations begin\n"); -fflush (stderr); -% once we define all problems the main job is done here -[xi_linear, xi_left, xi_right]=parcellfun(2, @susceptibility_steady_state_at_freq, problems_cell_array); -%[xi_linear, xi_left, xi_right]=cellfun( @susceptibility_steady_state_at_freq, problems_cell_array); - -%save '/tmp/relative_transmission_vs_detuning.mat' detuning_freq relative_transmission_vs_detuning; -save '/tmp/xi_vs_power.mat' Ep xi_linear xi_left xi_right E_field_pos_freq wp; - -%output_psr_results_vs_detuning; -output_psr_results_vs_power; - -elapsed_time = etime (clock (), t0) - -% vim: ts=2:sw=2:fdm=indent |