def __init__ (   self,
  lambda_initial,
  q = None,
  w = None,
  r = None,
  name = None,
  qit = None,
  medium_index = 1.0 
)

build a q tensor from 
        a) another valid inverse q tensor qit, 
        b) a scalar complex q parameter which creates a diagonal q inverse tensor ( (1/q, 0), (0,1/q) )
        c) a vector of two q parameters which creates a diagonal q inverse tensor ( (1/q[0], 0), (0, 1/q[1]) )
        d) a radius of curvature r, wavelength lambda_initial, and medium index, which creates a diagonal tensor.  
If r is general_optics.Infinity, beam is collimated

Definition at line 154 of file general_optics.py.

00154                                                                                                          :
00155                 """build a q tensor from 
00156                         a) another valid inverse q tensor qit, 
00157                         b) a scalar complex q parameter which creates a diagonal q inverse tensor ( (1/q, 0), (0,1/q) )
00158                         c) a vector of two q parameters which creates a diagonal q inverse tensor ( (1/q[0], 0), (0, 1/q[1]) )
00159                         d) a radius of curvature r, wavelength lambda_initial, and medium index, which creates a diagonal tensor.  
00160                                 If r is general_optics.Infinity, beam is collimated
00161                 """
00162                 
00163                 self.name=name                  
00164                 self.lambda0=lambda_initial*medium_index
00165                 self.medium_index=medium_index
00166                 if qit is not None: #we are given a real inverse-q tensor, just use it
00167                         self.qit=qit
00168                 else:
00169                         if q is None:
00170                                 if r is Infinity:
00171                                         rinv=0
00172                                 else:
00173                                         rinv=1.0/r
00174                                 qi=complex(rinv, -self.lambda0 / (self.medium_index*(math.pi*w**2)) )
00175                                 self.qit=Numeric.array(((qi,0),(0,qi)))
00176                         elif isinstance(q, complex):
00177                                 self.qit=Numeric.array(((1.0/q,0),(0,1.0/q)))
00178                         else:
00179                                 self.qit=Numeric.array(((1.0/q[0],0),(0,1.0/q[1])))
00180                                 
        def q_moments(self):


Generated on Wed Nov 21 10:18:32 2007 for analysis by  doxygen 1.5.4