diff options
Diffstat (limited to 'psr/dipole_elementRb87D1line.m')
-rw-r--r-- | psr/dipole_elementRb87D1line.m | 177 |
1 files changed, 177 insertions, 0 deletions
diff --git a/psr/dipole_elementRb87D1line.m b/psr/dipole_elementRb87D1line.m new file mode 100644 index 0000000..9235274 --- /dev/null +++ b/psr/dipole_elementRb87D1line.m @@ -0,0 +1,177 @@ +function d=dipole_elementRb87D1line(Fl,ml,Fu,mu) +% Fl, ml are F and m quantum numbers of lower state +% Fu, mu are F and m quantum numbers of upper state +% F is total momentum and m is projection + d.left = 0; %default return value + d.linear = 0; %default return value + d.right = 0; %default return value + if ( mu==(ml+1) ) + % sigma plus polarization + % ------ Fl=2 -> Fu=2 -------- + if ( (ml==-2) & (Fl==2) & (Fu==2) ) + d.right=sqrt(1/6); + endif + if ( (ml==-1) & (Fl==2) & (Fu==2) ) + d.right=sqrt(1/4); + endif + if ( (ml== 0) & (Fl==2) & (Fu==2) ) + d.right=sqrt(1/4); + endif + if ( (ml== 1) & (Fl==2) & (Fu==2) ) + d.right=sqrt(1/6); + endif + if ( (ml== 2) & (Fl==2) & (Fu==2) ) + d.right=0; + endif + % ------ Fl=2 -> Fu=1 -------- + if ( (ml==-2) & (Fl==2) & (Fu==1) ) + d.right=sqrt(1/2); + endif + if ( (ml==-1) & (Fl==2) & (Fu==1) ) + d.right=sqrt(1/4); + endif + if ( (ml== 0) & (Fl==2) & (Fu==1) ) + d.right=sqrt(1/12); + endif + if ( (ml== 1) & (Fl==2) & (Fu==1) ) + d.right=0; + endif + if ( (ml== 2) & (Fl==2) & (Fu==1) ) + d.right=0; + endif + % ------ Fl=1 -> Fu=2 -------- + if ( (ml==-1) & (Fl==1) & (Fu==2) ) + d.right = -sqrt(1/12); + endif + if ( (ml== 0) & (Fl==1) & (Fu==2) ) + d.right = -sqrt(1/4); + endif + if ( (ml== 1) & (Fl==1) & (Fu==2) ) + d.right = -sqrt(1/2); + endif + % ------ Fl=1 -> Fu=1 -------- + if ( (ml==-1) & (Fl==1) & (Fu==1) ) + d.right = -sqrt(1/12); + endif + if ( (ml== 0) & (Fl==1) & (Fu==1) ) + d.right = -sqrt(1/12); + endif + if ( (ml== 1) & (Fl==1) & (Fu==1) ) + d.right = 0; + endif + endif + if ( mu==(ml+0) ) + % pi polarization + % ------ Fl=2 -> Fu=2 -------- + if ( (ml==-2) & (Fl==2) & (Fu==2) ) + d.linear=-sqrt(1/3); + endif + if ( (ml==-1) & (Fl==2) & (Fu==2) ) + d.linear=-sqrt(1/12); + endif + if ( (ml== 0) & (Fl==2) & (Fu==2) ) + d.linear=0; + endif + if ( (ml== 1) & (Fl==2) & (Fu==2) ) + d.linear=sqrt(1/12); + endif + if ( (ml== 2) & (Fl==2) & (Fu==2) ) + d.linear=sqrt(1/3); + endif + % ------ Fl=2 -> Fu=1 -------- + if ( (ml==-2) & (Fl==2) & (Fu==1) ) + d.linear = 0; + endif + if ( (ml==-1) & (Fl==2) & (Fu==1) ) + d.linear=sqrt(1/4); + endif + if ( (ml== 0) & (Fl==2) & (Fu==1) ) + d.linear=sqrt(1/3); + endif + if ( (ml== 1) & (Fl==2) & (Fu==1) ) + d.linear=sqrt(1/4); + endif + if ( (ml== 2) & (Fl==2) & (Fu==1) ) + d.linear = 0; + endif + % ------ Fl=1 -> Fu=2 -------- + if ( (ml==-1) & (Fl==1) & (Fu==2) ) + d.linear = sqrt(1/4); + endif + if ( (ml== 0) & (Fl==1) & (Fu==2) ) + d.linear = sqrt(1/2); + endif + if ( (ml== 1) & (Fl==1) & (Fu==2) ) + d.linear = sqrt(1/4); + endif + % ------ Fl=1 -> Fu=1 -------- + if ( (ml==-1) & (Fl==1) & (Fu==1) ) + d.linear = sqrt(1/12); + endif + if ( (ml== 0) & (Fl==1) & (Fu==1) ) + d.linear = 0; + endif + if ( (ml== 1) & (Fl==1) & (Fu==1) ) + d.linear = -sqrt(1/12); + endif + endif + if ( mu==(ml-1) ) + % sigma minus polarization + % ------ Fl=2 -> Fu=2 -------- + if ( (ml==-2) & (Fl==2) & (Fu==2) ) + d.left = 0; + endif + if ( (ml==-1) & (Fl==2) & (Fu==2) ) + d.left = -sqrt(1/6); + endif + if ( (ml== 0) & (Fl==2) & (Fu==2) ) + d.left = -sqrt(1/4); + endif + if ( (ml== 1) & (Fl==2) & (Fu==2) ) + d.left = -sqrt(1/4); + endif + if ( (ml== 2) & (Fl==2) & (Fu==2) ) + d.left = -sqrt(1/6); + endif + % ------ Fl=2 -> Fu=1 -------- + if ( (ml==-2) & (Fl==2) & (Fu==1) ) + d.left = 0; + endif + if ( (ml==-1) & (Fl==2) & (Fu==1) ) + d.left = 0; + endif + if ( (ml== 0) & (Fl==2) & (Fu==1) ) + d.left = sqrt(1/12); + endif + if ( (ml== 1) & (Fl==2) & (Fu==1) ) + d.left = sqrt(1/4); + endif + if ( (ml== 2) & (Fl==2) & (Fu==1) ) + d.left = sqrt(1/2); + endif + % ------ Fl=1 -> Fu=2 -------- + if ( (ml==-1) & (Fl==1) & (Fu==2) ) + d.left = -sqrt(1/2); + endif + if ( (ml== 0) & (Fl==1) & (Fu==2) ) + d.left = -sqrt(1/4); + endif + if ( (ml== 1) & (Fl==1) & (Fu==2) ) + d.left = -sqrt(1/12); + endif + % ------ Fl=1 -> Fu=1 -------- + if ( (ml==-1) & (Fl==1) & (Fu==1) ) + d.left = 0; + endif + if ( (ml== 0) & (Fl==1) & (Fu==1) ) + d.left = sqrt(1/12); + endif + if ( (ml== 1) & (Fl==1) & (Fu==1) ) + d.left = sqrt(1/12); + endif + endif +endfunction + + + +% vim: ts=2:sw=2:fdm=indent |