ó
x™xTc        B   @   s5  d  d l  m Z d  d l Z dT dU dV dW dX dY dZ d[ d\ d] d^ d_ d` da db dc dd de df dg dh di dj dk dl dm dn do dp dq dr ds dt du dv dw dx dy dz d{ d| d} d~ d d€ d� d‚ dƒ d„ d… d† d‡ dˆ d‰ dŠ d‹ dŒ d� dŽ d� d� d‘ d’ d“ g@ Z dP e f dQ „  ƒ  YZ e dR k r1e dS ƒ Z e j	 ƒ  e j
 ƒ  e j ƒ  n  d S(”   iÿÿÿÿ(   t   divisionNt   Devicei
   t   st   Versiont   Crystali   t   CrystalSystemi   i   t
   SpaceGroupt   mosaic1i   s   !ft   memoiP   t   reserve1iT   t   datet   operatornamet   targett
   wavelengtht   monotypet
   mono2thetat
   collimatort   filtert   distancet   Kvt   mAt   focust   Xmemot   cyls   !ii<   t   Spindlet	   Xray_axist   phidatumt   phistartt   phiendt   noscillationst   minutest   beampixels_xt   beampixels_yt   omegat   chit   twothetat   Mut   ScanTemplateiÌ   t   nFastt   nSlowt   sizeFastt   sizeSlowt   record_lengtht   number_recordst
   Read_startt   IP_numt   Ratiot   Fading_startt
   Fading_endt   computert
   plate_typet   Drt   Dxt   Dzt   PixShiftOddt   IntRatioOddt   MagicNumt
   NumGonAxest   a5x3fGonVecss   !ffffffffffffffft   a5fGonStarts   !ffffft	   a5fGonEndt   a5fGonOffsett   ScanAxisNumt	   AxesNamesi(   t   Raxisc           B   s/   e  Z d  „  Z d d „ Z d „  Z d „  Z RS(   c         C   s   | |  _  d  S(   N(   t   file(   t   selfRA   (    (    sG   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/iotbx/detectors/raxisbase.pyt   __init__H   s    i    c         C   så  t  |  j d ƒ |  _ i  |  _ d } xºt D]²} | d d  k rX |  j j | d ƒ nw| d d k r¸ |  j j | d ƒ d | d !|  j | d <| rÏ| d G|  j | d GHqÏnt | d ƒ d k rN|  j j | d ƒ } t | ƒ t j	 | d ƒ k s	t
 ‚ t j | d | ƒ |  j | d <| rÏ| d G|  j | d GHqÏn� |  j j | d ƒ } t | ƒ t j	 | d ƒ k s‰t
 ‚ t j | d | ƒ d |  j | d <| rÏ| d G|  j | d GHn  | | d 7} q+ Wd  S(   Nt   rbi    i   i   R   (   t   openRA   t   Ft   headt   header_structt   Nonet   readt   lent   structt   calcsizet   AssertionErrort   unpack(   RB   t   verboset   seekt   itemt   rawdata(    (    sG   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/iotbx/detectors/raxisbase.pyt
   readHeaderK   s,    	, %! %% c         C   sÌ   |  j  j |  j d ƒ |  j d } |  j d } |  j d } | d } | | } d | k r€ | | } |  j  j | ƒ |  _ nH | | } |  j  j | ƒ } d d l m } | | |  j d | ƒ |  _ d  S(   NR*   R&   R+   i   i    iÿÿÿÿ(   t   unpad_raxis(   RF   RQ   RG   RJ   t   CharTempt   iotbx.detectorsRU   (   RB   t   Dim0t   ToReadt	   ReadLinest   BytesPerLinet   Padt	   temporaryRU   (    (    sG   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/iotbx/detectors/raxisbase.pyt   dataa   s    



c         C   s…   d } xx t  d t t ƒ d ƒ D]^ } t j d |  j | | d !ƒ d } | d k rc t | ƒ GHq t | ƒ d |  j d GHq Wd  S(   Ni    i   s   !Hiÿ  g      à@R.   (   t   xrangeRK   RV   RL   RO   t   floatRG   (   RB   t   ptrt   xt   unsigned_int(    (    sG   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/iotbx/detectors/raxisbase.pyt   dumpy   s    $(   t   __name__t
   __module__RC   RT   R^   Rd   (    (    (    sG   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/iotbx/detectors/raxisbase.pyR@   G   s   		t   __main__s   H-x071_0001.osc(   R   i
   R   (   R   i
   R   (   R   i   R   (   R   i   R   (   Ni   (   R   i   R   (   R   i   s   !f(   R   iP   R   (   R	   iT   R   (   R
   i   R   (   R   i   R   (   R   i   R   (   R   i   s   !f(   R   i   R   (   R   i   s   !f(   R   i   R   (   s   filteri   R   (   R   i   s   !f(   R   i   s   !f(   R   i   s   !f(   R   i   R   (   R   iP   R   (   R   i   s   !i(   Ni<   (   R   i   R   (   R   i   R   (   R   i   s   !f(   R   i   s   !f(   R   i   s   !f(   R   i   s   !i(   R   i   s   !f(   R   i   s   !f(   R    i   s   !f(   R!   i   s   !f(   R"   i   s   !f(   R#   i   s   !f(   R$   i   s   !f(   R%   iÌ   R   (   s   nFasti   s   !i(   R'   i   s   !i(   R(   i   s   !f(   R)   i   s   !f(   s   record_lengthi   s   !i(   s   number_recordsi   s   !i(   R,   i   s   !i(   R-   i   s   !i(   s   Ratioi   s   !f(   R/   i   s   !f(   R0   i   s   !f(   R1   i
   R   (   R2   i
   R   (   R3   i   s   !i(   R4   i   s   !i(   R5   i   s   !i(   R6   i   s   !f(   R7   i   s   !f(   R8   i   s   !i(   R9   i   s   !i(   R:   i<   s   !fffffffffffffff(   R;   i   s   !fffff(   R<   i   s   !fffff(   R=   i   s   !fffff(   R>   i   s   !i(   R?   i(   R   (   t
   __future__R    RL   RI   RH   t   objectR@   Re   t   RRT   R^   Rd   (    (    (    sG   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/iotbx/detectors/raxisbase.pyt   <module>   sŽ   	;

