From e0240d04060735c23cb9ae996957c00d38255d15 Mon Sep 17 00:00:00 2001
From: jmcchesn <jmcchesn@aps.anl.gov>
Date: Tue, 12 Jul 2022 16:38:51 -0500
Subject: [PATCH] kappa no circular imports

---
 build/lib/iexcode/instruments/Kappa.py        |  19 +++++++++++-------
 build/lib/iexcode/instruments/Kappa_det.py    |   3 +--
 iexcode/instruments/Kappa.py                  |  19 +++++++++++-------
 iexcode/instruments/Kappa_det.py              |   3 +--
 .../__pycache__/Kappa.cpython-37.pyc          | Bin 30594 -> 30672 bytes
 .../__pycache__/Kappa_det.cpython-37.pyc      | Bin 2336 -> 2288 bytes
 6 files changed, 26 insertions(+), 18 deletions(-)

diff --git a/build/lib/iexcode/instruments/Kappa.py b/build/lib/iexcode/instruments/Kappa.py
index c64636c..f819d12 100644
--- a/build/lib/iexcode/instruments/Kappa.py
+++ b/build/lib/iexcode/instruments/Kappa.py
@@ -4,7 +4,7 @@ from math import floor
 
 from epics import caget, caput,PV
 
-from iexcode.instruments.IEX_endstations import *
+from iexcode.instruments.IEX_endstations import BL
 from iexcode.instruments.staff import staff_detector_dictionary
 
 from iexcode.instruments.files_and_folders import check_run,make_user_folders,folder_mda
@@ -30,6 +30,9 @@ from iexcode.instruments.MPA import MPA
 from iexcode.instruments.spec_stuff import folders_spec
 
 
+global Kappa_Motors
+global tey, d3, d4, mesh, Kappa_scaler_pv, mpa
+global tthdet
 
 #############################################################################
 def Kappa_init(set_folders=False,reset=False,**kwargs):
@@ -55,11 +58,9 @@ def Kappa_init(set_folders=False,reset=False,**kwargs):
     Kappa_trigger_dictionary(),Kappa_scan_before_sequence(),Kappa_scan_after_sequence())
 
     #endstation
-    global BL
     BL=Endstation('Kappa',kwargs['scan_ioc'],kwargs['xrays'],kwargs['BL_mode'],mda_scanRecord,Kappa_log_header,Kappa_log_entries)
 
     #global detectors
-    global tey, d3, d4, mesh, Kappa_scaler_pv, mpa
     tey = SRS("29idMZ0:scaler1.S2", '29idd:A1')
     d3 = SRS("29idMZ0:scaler1.S3", '29idd:A2')
     d4 = SRS("29idMZ0:scaler1.S4", '29idd:A3')
@@ -68,8 +69,7 @@ def Kappa_init(set_folders=False,reset=False,**kwargs):
     tth_pv = Kappa_motor_dictionary('tth')[3]
     mpa = MPA(tth_pv)
 
-    global tthdet
-    tthdet = Kappa_Detector()
+    tthdet = Kappa_Detector(Kappa_Motors)
 
     #setting folders
     if 'set_folders':
@@ -84,7 +84,6 @@ def Kappa_init(set_folders=False,reset=False,**kwargs):
         Kappa_reset()
 
     #motors
-    global Kappa_Motors
     physical_motors = ['x','y','z','tth','kth','kap','kphi']
     psuedo_motors = ['th','chi','phi']
     Kappa_Motors = Motors('Kappa',Kappa_motor_dictionary(),physical_motors,psuedo_motors)
@@ -606,7 +605,7 @@ def Kappa_tth_reset_zero():
 
 
 
-def Kappa_th2th_scan_sensitivity(th_table,gain_num_table,gain_unit_table,detector=tey,**kwargs):
+def Kappa_th2th_scan_sensitivity(th_table,gain_num_table,gain_unit_table,**kwargs):
     """
     Scans th2th with variable gain on SRS# (srs_num).
     Gain is specified for a given th2th range by building tables as follow:
@@ -630,6 +629,7 @@ def Kappa_th2th_scan_sensitivity(th_table,gain_num_table,gain_unit_table,detecto
             gu_table = np.append(gu_table, unit_dict('pA'))
     
     kwargs:
+        detector (default tey)
         scan_dim: 1  (default)
         cts: integration time for scalers and mpa/mcp => 0.1 (default)
         execute: True/False to start the scan => True (default)
@@ -639,6 +639,11 @@ def Kappa_th2th_scan_sensitivity(th_table,gain_num_table,gain_unit_table,detecto
     kwargs.setdefault('cts',0.1)
     kwargs.setdefault('execute',True)
 
+    if 'detector' not in kwargs:
+        detector = tey
+    else:
+        detector = kwargs['detector']
+
     kth_offset = Kappa_kth_offset_get()
 
     motor_dictionary = Kappa_motor_dictionary()
diff --git a/build/lib/iexcode/instruments/Kappa_det.py b/build/lib/iexcode/instruments/Kappa_det.py
index c001020..5c3e502 100644
--- a/build/lib/iexcode/instruments/Kappa_det.py
+++ b/build/lib/iexcode/instruments/Kappa_det.py
@@ -1,7 +1,6 @@
 from time import sleep
 from epics import caget, caput
  
-from iexcode.instruments.Kappa import Kappa_Motors
 
 
 ##############################################################################################################
@@ -15,7 +14,7 @@ class Kappa_Detector:
     class for Kappa detector
     """
  
-    def __init__(self):
+    def __init__(self,Kappa_Motors):
         self.get()
 
     def get(self):
diff --git a/iexcode/instruments/Kappa.py b/iexcode/instruments/Kappa.py
index c64636c..f819d12 100644
--- a/iexcode/instruments/Kappa.py
+++ b/iexcode/instruments/Kappa.py
@@ -4,7 +4,7 @@ from math import floor
 
 from epics import caget, caput,PV
 
-from iexcode.instruments.IEX_endstations import *
+from iexcode.instruments.IEX_endstations import BL
 from iexcode.instruments.staff import staff_detector_dictionary
 
 from iexcode.instruments.files_and_folders import check_run,make_user_folders,folder_mda
@@ -30,6 +30,9 @@ from iexcode.instruments.MPA import MPA
 from iexcode.instruments.spec_stuff import folders_spec
 
 
+global Kappa_Motors
+global tey, d3, d4, mesh, Kappa_scaler_pv, mpa
+global tthdet
 
 #############################################################################
 def Kappa_init(set_folders=False,reset=False,**kwargs):
@@ -55,11 +58,9 @@ def Kappa_init(set_folders=False,reset=False,**kwargs):
     Kappa_trigger_dictionary(),Kappa_scan_before_sequence(),Kappa_scan_after_sequence())
 
     #endstation
-    global BL
     BL=Endstation('Kappa',kwargs['scan_ioc'],kwargs['xrays'],kwargs['BL_mode'],mda_scanRecord,Kappa_log_header,Kappa_log_entries)
 
     #global detectors
-    global tey, d3, d4, mesh, Kappa_scaler_pv, mpa
     tey = SRS("29idMZ0:scaler1.S2", '29idd:A1')
     d3 = SRS("29idMZ0:scaler1.S3", '29idd:A2')
     d4 = SRS("29idMZ0:scaler1.S4", '29idd:A3')
@@ -68,8 +69,7 @@ def Kappa_init(set_folders=False,reset=False,**kwargs):
     tth_pv = Kappa_motor_dictionary('tth')[3]
     mpa = MPA(tth_pv)
 
-    global tthdet
-    tthdet = Kappa_Detector()
+    tthdet = Kappa_Detector(Kappa_Motors)
 
     #setting folders
     if 'set_folders':
@@ -84,7 +84,6 @@ def Kappa_init(set_folders=False,reset=False,**kwargs):
         Kappa_reset()
 
     #motors
-    global Kappa_Motors
     physical_motors = ['x','y','z','tth','kth','kap','kphi']
     psuedo_motors = ['th','chi','phi']
     Kappa_Motors = Motors('Kappa',Kappa_motor_dictionary(),physical_motors,psuedo_motors)
@@ -606,7 +605,7 @@ def Kappa_tth_reset_zero():
 
 
 
-def Kappa_th2th_scan_sensitivity(th_table,gain_num_table,gain_unit_table,detector=tey,**kwargs):
+def Kappa_th2th_scan_sensitivity(th_table,gain_num_table,gain_unit_table,**kwargs):
     """
     Scans th2th with variable gain on SRS# (srs_num).
     Gain is specified for a given th2th range by building tables as follow:
@@ -630,6 +629,7 @@ def Kappa_th2th_scan_sensitivity(th_table,gain_num_table,gain_unit_table,detecto
             gu_table = np.append(gu_table, unit_dict('pA'))
     
     kwargs:
+        detector (default tey)
         scan_dim: 1  (default)
         cts: integration time for scalers and mpa/mcp => 0.1 (default)
         execute: True/False to start the scan => True (default)
@@ -639,6 +639,11 @@ def Kappa_th2th_scan_sensitivity(th_table,gain_num_table,gain_unit_table,detecto
     kwargs.setdefault('cts',0.1)
     kwargs.setdefault('execute',True)
 
+    if 'detector' not in kwargs:
+        detector = tey
+    else:
+        detector = kwargs['detector']
+
     kth_offset = Kappa_kth_offset_get()
 
     motor_dictionary = Kappa_motor_dictionary()
diff --git a/iexcode/instruments/Kappa_det.py b/iexcode/instruments/Kappa_det.py
index c001020..5c3e502 100644
--- a/iexcode/instruments/Kappa_det.py
+++ b/iexcode/instruments/Kappa_det.py
@@ -1,7 +1,6 @@
 from time import sleep
 from epics import caget, caput
  
-from iexcode.instruments.Kappa import Kappa_Motors
 
 
 ##############################################################################################################
@@ -15,7 +14,7 @@ class Kappa_Detector:
     class for Kappa detector
     """
  
-    def __init__(self):
+    def __init__(self,Kappa_Motors):
         self.get()
 
     def get(self):
diff --git a/iexcode/instruments/__pycache__/Kappa.cpython-37.pyc b/iexcode/instruments/__pycache__/Kappa.cpython-37.pyc
index 736a0ae36869c21290ea6c99ada18730aef76083..6a49022d4993b64ef4ab43a6b7172ca1fad232be 100644
GIT binary patch
delta 10669
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
ZP;&EUCrT_1XDxquqSox##aCQC{Qp7_)!qOA

delta 10615
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
X3dgZRi_Nt~tUXq5cDIUwV~77AqKLic

diff --git a/iexcode/instruments/__pycache__/Kappa_det.cpython-37.pyc b/iexcode/instruments/__pycache__/Kappa_det.cpython-37.pyc
index b79f19388690f3f26c6f29f4833f23d50c264c21..8abdb62bdff80a559d717666b3bb53156017a41d 100644
GIT binary patch
delta 547
zcmZ8dJxc>Y5WU^oyW7N^B$7m;C}Ja52;vtS#KJ~FOrwQtb4K^ngCrOCRuLNuMZrQi
z_7B(!cIj-yA7E*7jim@F{0Z&^RCJ36`{vD?H*+`eS#VceH*4s(_WrVanz$7-pG=Gm
zo6O>b*{cS(xP57G`vNnEJDY|_lh)|ySz&rH<m>fzyI$pitj2-#EQa|^iuo){9+M0P
zPyMjkLK797k~nDWr@3B>zY)nu#P^2Csw=dO3hE8Lx*4q&jt0*ZR6XOtBIFW1==-h}
zJ6-&QkgFcZQ0=E9r8<P)2xBP-DEl>}q#2zA9uX9nJU|Jc0Pxp2HFf^6PSM&yWtOSO
zzV-=Q2Mo)@4-@2;y0LE&Qx%72!CSy&rmmgI1@L5jd&fcqE$QnR%$D-dZ=W!8KZ^bj
zqPjNa>uGbU>l~fuzzbFuWq=WY-)O&^+qwYS7$|BIOih~0mIUxMk1`^|W+33?%nI7!
pUMzaCe{La)y3|wuu^-nYTsEak&4?d2f@P$CF&r$1@(w`+e*tgFaO400

delta 622
zcmZuu&ui2`6wXX0zjhOCS9Z0Y^dKdN7QrHWC?1O7q1cNEl1q#`(>9Q7;>=`eL8xHQ
zLdbpb>UsYF{{jylitrA-_vWAAyoeUXf%%4+_r33Z@6C_(PororiUyWh&G)ZwmTj~_
z_S(&RFD-5tPU$8tu{cXS?j-&*i@V%Ax48F#CIR<fSaEQLnK1!J6++Z81!tBW35`eH
zXcGwcv%1dG=asIcYTu6op!|{9JJ2rMfMB{=q??k>ApxdDaroJiVRu4akx}=JTudDk
zm*_CI<<K19bD`6DRtoU6K28@|Aw%T!5dCJ4SC{k)Ave1vyL<3Q<5zN#D=ir^*HDm^
z)k4IqSC=DvzKw7T;csQImC*NBuJf8qAjni|bn^KTP<?!5Bi-xXxgQC1Lyr$oTViGC
zPQ9%uY9_;3Bc+(@)bs!@+OHR2A6C`Bg?tlxn3`&jyG!rw*$vdfA;>!j4-l@cU3VUs
z0FFQ**S8t<Z9g20CB7fT17JEYg{0;Nj;QmQlD%!51#INvWL9ypozG2MO=)bZ?f(1Z
j(|&+`LlZ;o<^ES6{N1wRO(CA(&-NxlvPMIf5k`LkAUci|

-- 
GitLab