# shift all ROIs such that the GPAC EVRs have all the same delay, set GPAC delay, reinitialsie ioc blm_list = {"S10BC01-DBLM065", "S10CB04-DBLM240", "S10CB06-DBLM240", "S10CB08-DBLM240", "S10DI01-DBLM015", "S10DI01-DBLM045", "S20CB02-DBLM435", "S20SY02-DBLM075", "S20SY03-DBLM025", "S20SY03-DBLM110", "S30CB02-DBLM445", "S30CB06-DBLM445", "S30CB10-DBLM445", "S30CB14-DBLM445", "SARCL02-DBLM135", "SARCL02-DBLM355", "SARUN01-DBLM065", "SARUN03-DBLM030", "SARUN04-DBLM030", "SARUN05-DBLM030", "SARUN06-DBLM030", "SARUN07-DBLM030", "SARUN08-DBLM030", "SARUN09-DBLM030", "SARUN10-DBLM030", "SARUN11-DBLM030", "SARUN12-DBLM030", "SARUN13-DBLM030", "SARUN14-DBLM030", "SARUN15-DBLM030", "SARUN15-DBLM035", "SARUN20-DBLM035", "SATBD01-DBLM205", "SATCB01-DBLM245", "SATCL01-DBLM135", "SATCL02-DBLM295", "SATCL02-DBLM435", "SATDI01-DBLM095", "SATDI01-DBLM105", "SATDI01-DBLM225", "SATDI01-DBLM305", "SATMA01-DBLM065", "SATSY03-DBLM085", "SATUN06-DBLM005", "SATUN14-DBLM405", "SATUN22-DBLM005", "SINDI02-DBLM025", "SINDI02-DBLM085", "SINLH02-DBLM230", "SINLH02-DBLM235"} ioc_list = {"SARCL02-DBLM469", "S10BC01-DBLM184", "S10CB06-DBLM153", "S10CB04-DBLM130", "SINLH02-DBLM018", "S10DI01-DBLM113", "S20CB02-DBLM234", "S30CB10-DBLM381", "SINDI02-DBLM084", "S20SY03-DBLM292", "S30CB02-DBLM310", "S30CB14-DBLM417", "SARUN01-DBLM499", "SARUN04-DBLM516", "SARUN08-DBLM537", "SARUN11-DBLM546", "SARMA01-DBLM482", "SARUN20-DBLM599", "SATDI01-DBLM344", "SARUN13-DBLM555", "SATCB01-DBLM355", "S10CB08-DBLM170", "SATCL01-DBLM328", "SARUN15-DBLM567", "S20CB04-DBLM255", "SARCL02-DBLM457", "SINEG01-DBLM009", "S20SY03-DBLM269"} PIX = 2.33426704 # 1 / (124.8 MHz * 3) = 2.33426704 ns for blm in blm_list: evr = caget(blm + ":GPAC-DELAY-OP.INPA").split()[0] delay = caget(evr) offset = delay - 7439.0 # 7439 ns start_b1 = int(caget(blm + ":B1_ROI_START")) new_start_b1 = int(start_b1 + offset * 1000 / PIX) print(delay, offset, start_b1, new_start_b1) caput(blm + ":B1_ROI_START", new_start_b1) caput(blm + ":B1_ROI_STOP", new_start_b1 + 18) caput(blm + ":B2_ROI_START", new_start_b1 + 19) caput(blm + ":B2_ROI_STOP", new_start_b1 + 37) for ioc in ioc_list: caput(ioc + "-EVR0:Pul10-Delay-SP", 7439.0) caput(ioc + ":SYSTEM-INIT.PROC", 1) print(ioc + "-EVR0:Pul10-Delay-SP", 7439.0) print(ioc + ":SYSTEM-INIT.PROC", 1)