³ò
³“1Jc           @   s>   d  d k  Z  d  d k Z d  d k Z d e f d „  ƒ  YZ d S(   iÿÿÿÿNt   VPhic           B   sS   e  Z d d  „ Z e d „  ƒ Z e d „  ƒ Z d d „ Z d d „ Z d „  Z	 RS(	   c         C   s(   | |  _  | |  _ | |  _ | |  _ d  S(   N(   t   tt   phit   vt   info(   t   selfR   R   R   R   (    (    s   c:\py\lib\squid.pyt   __init__   s    			c         C   sp   t  i |  d t ƒ\ } } } t i |  ƒ } | d } | d } t i t | ƒ ƒ | i } t	 | | | | ƒ S(   Nt   fullt   channel0t   channel1(
   t   flibt
   loadbinaryt   Truet   scopelogt   getinfot   numpyt   aranget   lent   smplrateR    (   t   filenamet   versiont   headert   dataR   R   R   R   (    (    s   c:\py\lib\squid.pyR      s    

c         C   s@   t  i |  d d d t ƒ\ } } } t | | | t i |  ƒ ƒ S(   Nt   usecolsi    i   i   t   unpack(   i    i   i   (   R
   t	   loadasciiR   R    R   R   (   R   R   R   R   (    (    s   c:\py\lib\squid.pyR      s    $id   c   	      C   sS  t  i t |  i ƒ t |  i ƒ | d ƒ } | d c d 7<t  i t  i | ƒ } t  i t  i | ƒ } t  i t  i | ƒ } t  i | d t ƒ} x¥ t | ƒ D]— } |  i | | j |  i | | d j  @} t	 | ƒ o\ t  i
 |  i | ƒ | | <t  i |  i | ƒ | | <t  i |  i | ƒ | | <t | | <qŸ qŸ W| | | | | | f S(   Ni   iÿÿÿÿgš™™™™™¹?t   dtype(   R   t   linspacet   minR   t   maxt   NaNt   zerost   boolt   ranget   anyt   meanR   R   (	   R   t   nbinst   phi_binsR   t   vmint   vmaxt   maskt   it   ii(    (    s   c:\py\lib\squid.pyt	   histogram   s    + (iÐ  c         C   s&   |  i  | 9_  |  i d | 9_ d S(   sµ   
        Modify V(Phi) in situ to represent voltage across the SQUID (uV) vs magnetic flux (Phi0).
        flux_span - modulation of flux (in Phi0),
        gain - XXF gain
        g    €„.AN(   R   R   (   R   t	   flux_spant   gain(    (    s   c:\py\lib\squid.pyt   scale-   s    c         O   s)   d d k  l } | |  i |  i | | Ž S(   Niÿÿÿÿ(   t   plot(   t   pylabR/   R   R   (   R   t   argst   vargsR/   (    (    s   c:\py\lib\squid.pyR/   6   s    N(
   t   __name__t
   __module__t   NoneR   t   staticmethodR   R   R+   R.   R/   (    (    (    s   c:\py\lib\squid.pyR       s   		(   R   R
   R   t   objectR    (    (    (    s   c:\py\lib\squid.pys   <module>   s   