ó
ö™xTc           @   s•   d  d l  m Z d d d „  ƒ  YZ d d d „  ƒ  YZ d d d „  ƒ  YZ d d d	 „  ƒ  YZ d
 d d „  ƒ  YZ e d k r‘ e ƒ  Z e j	 ƒ  n  d S(   iÿÿÿÿ(   t   divisiont   TestBeamc           B   s   e  Z d  „  Z RS(   c         C   ss   d d l  m } | d d d d d	 d
 d d
 d d d d ƒ } | j ƒ  } | j | ƒ } | | k sj t ‚ d GHd  S(   Niÿÿÿÿ(   t   Beamt	   directioni   i   i   t
   wavelengthgš™™™™™ñ?t
   divergenceg{®Gáz„?t   sigma_divergencet   polarization_normali   i   i   t   polarization_fractiongÍÌÌÌÌÌì?t   OK(   i   i   i   (   i   i   i   (   t   dxtbx.modelR   t   to_dictt	   from_dictt   AssertionError(   t   selfR   t   b1t   dt   b2(    (    sP   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/dxtbx/tests/model/tst_to_from_dict.pyt   __call__   s    	(   t   __name__t
   __module__R   (    (    (    sP   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/dxtbx/tests/model/tst_to_from_dict.pyR      s   t	   TestGonioc           B   s   e  Z d  „  Z RS(   c         C   s[   d d l  m } | d d d d ƒ } | j ƒ  } | j | ƒ } | | k sR t ‚ d GHd  S(   Niÿÿÿÿ(   t
   Goniometert   rotation_axisi   i   i   t   fixed_rotation_matrixi   i   i   i   i   i	   R	   (   i   i   i   (	   i   i   i   i   i   i   i   i   i	   (   R
   R   R   R   R   (   R   R   t   g1R   t   g2(    (    sP   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/dxtbx/tests/model/tst_to_from_dict.pyR      s    	(   R   R   R   (    (    (    sP   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/dxtbx/tests/model/tst_to_from_dict.pyR      s   t   TestScanc           B   s   e  Z d  „  Z RS(   c         C   s˜   d d l  m } d d l m } | d d d d d
 | j t d ƒ ƒ d | j t d d ƒ ƒ ƒ } | j ƒ  } | j | ƒ } | | k s� t ‚ d GHd  S(   Niÿÿÿÿ(   t   Scan(   t   flext   image_rangei   i   t   oscillationg      @gš™™™™™¹?t   exposure_timest   epochsi(   R	   (   i   i   (   g      @gš™™™™™¹?(	   R
   R   t   scitbx.array_familyR   t   doublet   rangeR   R   R   (   R   R   R   t   s1R   t   s2(    (    sP   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/dxtbx/tests/model/tst_to_from_dict.pyR   *   s    (   R   R   R   (    (    (    sP   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/dxtbx/tests/model/tst_to_from_dict.pyR   )   s   t   TestDetectorc           B   s   e  Z d  „  Z RS(   c         C   s#  d d l  m } m } | ƒ  } | j ƒ  } | j d ƒ | j d ƒ | j d ƒ | j d ƒ | j d ƒ | j	 d d d ƒ | j ƒ  } | j d
 ƒ | j d ƒ | j d ƒ | j d ƒ | j d ƒ | j	 d d d ƒ | j
 ƒ  } | j ƒ  } | j d ƒ | j d ƒ | j	 d  d! d" ƒ | j | d ƒ | j ƒ  } | j d ƒ | j d ƒ | j	 d# d$ d% ƒ | j | d	 ƒ | j ƒ  } | j | ƒ } t | ƒ t | ƒ k s¸t ‚ x/ t | | ƒ D] \ }	 }
 |	 |
 k sÈt ‚ qÈW| j
 ƒ  | j
 ƒ  k st ‚ | | k st ‚ d GHd  S(&   Niÿÿÿÿ(   t   Detectort   Panelt   p1t   panelgš™™™™™¹?id   i    iè  i   t   p2gš™™™™™É?iÈ   iÐ  R   t   groupi   R   i   R	   (   gš™™™™™¹?gš™™™™™¹?(   id   id   (   i    iè  (   i   i    i    (   i    i   i    (   i    i    i   (   gš™™™™™É?gš™™™™™É?(   iÈ   iÈ   (   i    iÐ  (   i    i   i    (   i   i    i    (   i    i    i   (   i    i   i    (   i   i    i    (   i    i    i   (   i    i   i    (   i   i    i    (   i    i    i   (   R
   R(   R)   t	   add_panelt   set_namet   set_typet   set_pixel_sizet   set_image_sizet   set_trusted_ranget   set_local_framet	   hierarchyt	   add_groupR   R   t   lenR   t   zip(   R   R(   R)   t   d1t   pt   roott   gR   t   d2R*   R,   (    (    sP   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/dxtbx/tests/model/tst_to_from_dict.pyR   <   sF    	(   R   R   R   (    (    (    sP   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/dxtbx/tests/model/tst_to_from_dict.pyR'   ;   s   t   Testc           B   s   e  Z d  „  Z d „  Z RS(   c         C   s4   t  ƒ  |  _ t ƒ  |  _ t ƒ  |  _ t ƒ  |  _ d  S(   N(   R   t   tst_beamR   t	   tst_gonioR   t   tst_scanR'   t   tst_detector(   R   (    (    sP   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/dxtbx/tests/model/tst_to_from_dict.pyt   __init__j   s    c         C   s,   |  j  ƒ  |  j ƒ  |  j ƒ  |  j ƒ  d  S(   N(   R?   R@   RA   RB   (   R   (    (    sP   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/dxtbx/tests/model/tst_to_from_dict.pyt   runp   s    


(   R   R   RC   RD   (    (    (    sP   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/dxtbx/tests/model/tst_to_from_dict.pyR>   h   s   	t   __main__N(    (    (    (    (    (
   t
   __future__R    R   R   R   R'   R>   R   t   testRD   (    (    (    sP   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/dxtbx/tests/model/tst_to_from_dict.pyt   <module>   s   -	