ó
ø™xTc           @   s)   d  d l  m Z d „  Z d d „ Z d S(   iÿÿÿÿ(   t   divisionc         C   s   |  d k r d S|  j ƒ  S(   s�    Convert the detector model to a dictionary

  Params:
      detector The detector model

  Returns:
      A dictionary of the parameters

  N(   t   Nonet   to_dict(   t   detector(    (    sF   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/dxtbx/serialize/detector.pyR      s    
c         C   sÕ   d d l  m } m } |  d k rB | d k r2 d St | d ƒ Sni | d k rŒ t |  t ƒ rm i |  d 6}  n  t | j ƒ  |  j ƒ  ƒ } n t |  t ƒ r« i |  d 6}  n  d |  k rÄ | j |  ƒ S| j |  ƒ Sd S(   s«    Convert the dictionary to a detector model

  Params:
      d The dictionary of parameters
      t The template dictionary to use

  Returns:
      The detector model

  iÿÿÿÿ(   t   Detectort   HierarchicalDetectort   panelst	   hierarchyN(	   t   dxtbx.modelR   R   R   t	   from_dictt
   isinstancet   listt   dictt   items(   t   dt   tR   R   t   d2(    (    sF   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/dxtbx/serialize/detector.pyR	      s     N(   t
   __future__R    R   R   R	   (    (    (    sF   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/dxtbx/serialize/detector.pyt   <module>   s   	