def status(self): str = "\nlaser beam block position is " if abs(self.x.wm() - self.__in) < 1: str += estr("IN", color="green", type="normal") elif abs(self.x.wm() - self.__out) < 2: str += estr("OUT", color="red", type="bold") else: str += estr("UNKNOWN", color="red", type="bold") return str
def status(self): pos = self.m.wm() if self.isin(pos): pos_str = estr("IN",color="red",type="normal") elif self.isout(pos): pos_str = estr("OUT",color="green",type="normal") else: pos_str = estr("UNKOWN",color="red") str = "Ref laser position is : %s (stage at %.3f mm)" % (pos_str,pos) return str
def status(self): str = "\nbeam block position is " if abs(self.x.wm() - self.inposx()) < 0.01 and abs( self.y.wm() - self.inposy()) < 0.01: str += estr("IN", color="green", type="normal") elif abs(self.x.wm() - self.outposx()) < 0.1 and abs( self.y.wm() - self.outposy()) < 0.1: str += estr("OUT", color="yellow", type="bold") else: str += estr("UNKNOWN", color="red", type="bold") return str
def status(self): v = pypsepics.get(self.pv) if abs(v - self.Vhigh) < self.tol: sstatus = estr("Open", color='green', type='normal') elif abs(v - self.Vlow) < self.tol: sstatus = estr("Closed", color='red', type='normal') else: sstatus = estr("Not Known", color='white', type='normal') str1 = "%s:" % self.name str2 = " %s" % sstatus str = str1.rjust(10) + str2.ljust(10) return str
def status(self): self.__update() out = "slit %s:" % self.__name if self.isopen(): out += estr(" OPEN ", color="green", type="normal") elif self.isclosed(): out += estr(" CLOSED ", color="red", type="bold") else: out += estr(" IN ", color="yellow", type="normal") out+="(hg,vg) = (%+.4f x %+.4f); (ho,vo) = (%+.4f,%+.4f)" % (self.wm_hg(fast=True),self.wm_vg(fast=True),\ self.wm_ho(fast=True),self.wm_vo(fast=True) ) return out
def status(self): pos = self.ty.wm() str = estr("UNKNOWN", color="red", type="normal") str += "target position (ty = %.4f)" % (pos) if (self.isout()): str = estr("target OUT", color="green", type="normal") (targ_in, isCCM) = self.isin() if (targ_in > 0 and not isCCM): str = estr("Target %d " % targ_in, color="yellow", type="normal") str += "(ty = %.4f)" % pos if (targ_in > 0 and isCCM): str = "Target %d is IN (CCM position) (ty = %.4f)" % (targ_in, pos) return str
def status(self): """ Returns the status of a valve """ #openswitch = pypsepics.get(self.__opn_di) #closeswitch = pypsepics.get(self.__cls_di) if self.isopen(): vstatus = estr("OPEN", color='green', type='normal') elif self.isclosed(): vstatus = estr("CLOSED", color='red', type='normal') else: vstatus = estr("NOT KNOWN", color='red', type='normal') str1 = "%s:" % self.name str2 = " %s" % vstatus str = str1.rjust(9) + str2.ljust(13) return str
def status(self): if self.dis_in(): dpos = estr("IN", color="yellow", type="normal") elif self.dis_out(): dpos = estr("OUT", color="green", type="normal") else: dpos = estr("UNKNOWN", color="red", type="normal") str = estr("%s" % self.__desc, color="black", type="bold") str += " diode " + dpos str += " @ (dx,dy) = (%.4f,%.4f), " % (self.dx.wm(), self.dy.wm()) str += " %s\n" % self.__target.status() # str += " %s" % self.__det.status() return str
def status(self): homsstat=self.__desc + " is " if self.is_in(): homsstat+=estr("IN",color="yellow",type="normal") a_enc=self.get_angle_encoder() homsstat+=" (angle encoder = "+str(a_enc)+")" elif self.is_parked(): homsstat+=estr("PARKED",color="green",type="normal") else: homsstat+="in " homsstat+=estr("UNKNOWN position",color="red",type="normal") return homsstat
def status(self): E = self.getE() E0 = self.get_E0() leakage = self.get_leakage() wp = pypsepics.get(self.wp_pv) if self.shg: state = estr("400 nm", color='blue', type='normal') else: state = estr("800 nm", color='red', type='normal') str = " %s: %4.4f\n" % (self.name, E) str += " State: %s\n" % state str += " Waveplate: %3.2f deg\n" % wp str += " E0: %3.4f \n" % E0 str += " Leakage: %3.4f \n" % leakage return str
def status(self): volt = pypsepics.get(self.pv_Volt) onoff = pypsepics.get(self.pv_OnOff) if onoff == 0: sstatus = estr("On", color='green', type='bold') elif onoff == 1: sstatus = estr("Off", color='red', type='bold') else: sstatus = estr("Not Known", color='white', type='normal') str1 = "%s:" % self.name str2 = " %s\n" % sstatus str3 = "Level:" str4 = " %d%%" % (self.level() * 100) str = str1.rjust(10) + str2.ljust(5) + str3.rjust(10) + str4.ljust(5) return str
def status(self): pos = self.m.wm() if self.isin(pos): pos_str = estr("IN",color="red") elif self.isout(pos): pos_str = estr("OUT",color="green") else: pos_str = estr("UNKOWN",color="red") str = "Ref laser position is : %s (stage at %.3f mm)\n" % (pos_str,pos) str+='pico motors positions: \n' str+='x = %+.4f\n' % self.x.wm() str+='y = %+.4f\n' % self.y.wm() str+='rx = %+.4f\n' % self.rx.wm() str+='ry = %+.4f\n' % self.ry.wm() return str
def status(self): v = pypsepics.get(self.pvname) if (v == 0): ret = "OUT" elif ((v == 4) | (v == 1)): ret = "IN" else: ret = "Inconsistent" if (ret == "OUT"): ret = estr(ret, color="green", type='normal') else: ret = estr(ret, color="red", type="normal") return ret
def status(self): '''return a string that formats the delay and t0 ''' retstr = 'Nanosecond laser : ' delay = self.delay() if not (-5e-9 < delay < 50e-9): color = 'red' type = 'bold' else: color = 'black' type = 'normal' retstr += estr('Delay = ' + str(delay) + '\n', color=color, type=type) retstr += estr(' T0 = ' + str(self.get_offset()) + '\n', color=color, type=type) return retstr
def horizontalcolor(word): colorstring = '' for row in range(ROWS): for c in word: colorstring += estr(table[c][row], color="yellow", type="bold") colorstring += "\n" print colorstring
def status(self): '''return a string that formats the delay and t0 ''' retstr = 'Femtosecond laser : ' delay = self.delay() retstr += estr('Delay = ' + str(delay) + '\n', color='black', type='normal') return retstr
def getT(att_list,E,printit=1): """ Check which filters are `in` and calculate the transmission for the energy defined with the `setE` command The finding is returned as dictionary """ wait(att_list) n=len(att_list) (fin,fout,funknown)=check_filters_position(att_list) att_list_in=[] s_title = "filter# |" for i in range(n): s_title += "%d|" % i s_in = " IN |" s_out = " OUT |" ret = dict() for i in range(n): if i in fin: att_list_in.append(att_list[i]) s_in +=estr("X",color="yellow",type="normal")+"|" s_out+=" |" elif (i in fout): s_in +=" |" s_out+=estr("X",color="green",type="normal")+"|" else: s_in +=estr("?",color="red",type="normal")+"|" s_out+=estr("?",color="red",type="normal")+"|" T = calcTrasmissionForList(att_list_in,E) if (E<12.500): T3rd = calcTrasmissionForList(att_list_in,E*3) ret['1st_Si'] = T ret['3rd_Si'] = T3rd s = "Transmission for 1st harmonic (E= %.2fkeV): %.3e\n" % (E,T) s += "Transmission for 3rd harmonic (E=%.2fkeV): %.3e\n" % (E*3,T3rd) else: T1st = calcTrasmissionForList(att_list_in,E/3) ret['1st_Si'] = T1st ret['3rd_Si'] = T s = "Transmission for 1st harmonic (E= %.2fkeV): %.3e\n" % (E/3,T1st) s += "Transmission for 3rd harmonic (E=%.2fkeV): %.3e\n" % (E,T) ret["E"]=T sret = s_title + "\n" + s_out + "\n" + s_in + "\n" + s if (printit): print sret return (ret,sret)
def status(self): str = estr("%s " % self.__desc, color="black", type="bold") pos = self.y.wm() if (abs(pos - self.__screen_in_pos) < 5e-3): str += "screen is %s\n" % estr("IN", type="normal") elif (abs(pos - self.__diode_in_pos) < 5e-3): str += "diode is %s\n" % estr("IN", type="normal") elif (abs(pos - self.__all_out_pos) < 5e-3): str += "all elements are %s\n" % estr( "OUT", color="green", type="normal") else: str += "%s\n" % estr("UNKOWN position", type="normal") str += " zoom %.1f%%\n" % self.zoom.wm() if (self.focus is not None): str += " focus %.1f%%\n" % self.focus.wm() if (self.__led is not None): str += " light level %s%%\n" % self.__getlight() if (self.__det is not None): str += " %s" % self.__det.status() return str
def status(self): str = estr("**LADM Status**\n " ,color="white",type="bold") str += "\t%10s\t%10s\t%10s\n" % ("Motor","User","Dial") str += "\t%10s\t%+10.4f\t%+10.4s\n" % ("theta",self.theta.wm(),"-") str += "\t%10s\t%+10.4f\t%+10.4s\n" % ("XT",self.XT.wm(),"-") keys = self.motors.keys() keys.sort() for key in keys: m = self.motors[key] str += "\t%10s\t%+10.4f\t%+10.4f\n" % (key,m.wm(),m.wm_dial()) return str
def info(self): """ Returns the ion pump information """ current = pypsepics.get(self.__imon) voltage = pypsepics.get(self.__vmon) controller = pypsepics.get(self.__vpcname) pumpsize = pypsepics.get(self.__pumpsize) statemon = pypsepics.get(self.__statemon) if (statemon == 0): state = estr("Off", color='red', type='normal') elif (statemon == 1): state = "On" else: state = estr("Unknown", color='white', type='normal') str = " %s\n" % (self.status()) str += " Current: %.2e Amps\n" % current str += " Voltage: %4.0f Volts\n" % voltage str += " State: %s\n" % state str += " Size: %s l/s\n" % pumpsize str += "Controller: %s\n" % controller print str
def status(self): tolerance=2*self.y.get_par("retry_deadband") str = estr("%s " % self.__desc,color="black",type="bold") pos = self.y.wm() # if ( abs(pos-self._screen_in_pos)<5e-3 ): if ( abs(pos-self._screen_in_pos)<tolerance ): str += "screen is %s " % estr("IN",type="normal") elif ( abs(pos-self._diode_in_pos)<tolerance ): str += "diode is %s " % estr("IN",type="normal") elif ( pos<self._all_out_pos+tolerance ): str += "is %s " % estr("OUT",color="green",type="normal") else: str += "%s\n" % estr("UNKOWN position",type="normal") str += " zoom %.1f%%\n" % self.zoom.wm() if (self.focus is not None): str += " focus %.1f%%\n" % self.focus.wm() if (self.__led is not None): str += " light level %s%%\n" % self.__getlight() # if (self.__det is not None): # str += " %s" % self.__det.status() return str
def status(self): """ Returns the ion pump pressure reading """ p_on = pypsepics.get(self.__statemon) if (p_on == 0): pstatus = estr("Ion Pump Off", color='white', type='normal') else: pressure = pypsepics.get(self.__pmon) if pressure < 5e-8: pstatus = estr("%.2e Torr" % pressure, color='green', type='normal') elif pressure < 1e-6: pstatus = estr("%.2e Torr" % pressure, color='orange', type='normal') else: pstatus = estr("%.2e Torr" % pressure, color='red', type='normal') str1 = "%s:" % self.name str2 = " %s" % pstatus str = str1.rjust(8) + str2.ljust(16) return str
def status(self): """Prints out an overview of the VISAR bed.""" transdis_mm=self.d()*1000.0 etalon_mm=self._h*1000.0 if self._z_t0!=None: stage_pos_mm=self.stage_pos()*1000.0 wl_mm=self._z_t0*1000.0 else: stage_pos_mm=None wl_mm=None laserwavelength_nm=self._landa*1e9 statstr= "laser wavelength : %.3f nm\n" %laserwavelength_nm if wl_mm!=None:statstr+= "White light stage reading : %.3f mm\n" %wl_mm statstr+="Etalon thickness : %.3f mm\n" %etalon_mm statstr+="Etalon material : n="+str(self._n)+" , delta="+str(self._delta)+"\n" statstr+="Correct translation distance : %.3f mm\n" %transdis_mm if stage_pos_mm!=None: statstr+="Correct stage position : %.3f mm\n" %stage_pos_mm if self.m==None:statstr+="no motor etalon motor defined" else: if abs(stage_pos_mm-self.m())<0.002: statstr+=estr("Stage in position\n",color="green",type="normal") else : statstr+=estr("Stage NOT in position\n", color="red",type="bold") statstr+="Velocity Per Fringe : "+str(self.vpf0())+" m/s\n" print statstr
def status(self): """ Returns the gauge reading """ g_on = pypsepics.get(self.__statusmon) if (g_on != 0): gstatus = estr("Gauge Off", color='white', type='normal') str = "%s: %s" % (self.name, gstatus) else: pressure = pypsepics.get(self.__pmon) if pressure < 5e-8: gstatus = estr("%.1e Torr" % pressure, color='green', type='normal') elif pressure < 1e-6: gstatus = estr("%.1e Torr" % pressure, color='orange', type='normal') else: gstatus = estr("%.1e Torr" % pressure, color='red', type='normal') str1 = "%s:" % self.name str2 = " %s" % gstatus str = str1.rjust(10) + str2.ljust(13) return str
def status(self): if self.is_parked(): out="HRM is %s" % estr("PARKED",color="green",type="normal") else: angle=self.angle=self.get_angle() E=self.E=self.linac.getXrayeV() out = "Harmonic Rejection Mirrors (HRMS)\n" out += "Angle = %.3f deg (=%.3f mrad)\n" % (angle,angle/180.*3.14*1e3) out += "Beam offset = %.3f mm\n" % (self.calc_offset(angle)) out += "Aperture y = %.3f um\n" % (1e6*self.aperture()) out += "Beam energy = %.3f keV\n" % (self.E/1e3) out += "R(1st harm) = %.3e\n" % self.getTforE(energy=E) out += "R(3rd harm) = %.3e\n" % self.getTforE(energy=3*E) return out
def status(self): '''Prints the status of the shutter.''' statstr=self._name +' is ' if self.isopen() : statstr+=estr('open',color='yellow',type='normal') else: statstr+=estr('closed',color='green',type='normal') return(statstr)
def info(self, toprint=1): pre = "%s - " % estr("IN", type="normal") space = " " * 3 str = estr("LODCM Status \n", color="white", type="bold") tol_h1n = 2 * self.h1n.get_par("retry_deadband") tol_x1 = 2 * self.x1.get_par("retry_deadband") pos_h1n = self.h1n.wm() pos_x1 = self.x1.wm() if ((abs(pos_h1n - self._inh1n) <= tol_h1n) & (abs(pos_x1 - self._inx1) <= tol_x1)): str += "%scrystal 1 is %s\n" % (space, estr("IN", type="normal")) elif ((abs(pos_h1n - self._outh1n) <= tol_h1n) | (abs(pos_x1 - self._outx1) <= tol_x1)): str += "%scrystal 1 is %s\n" % (space, estr("OUT", color='green')) str += "%s1st crystal type: '%s'\n" % (space, self.get_t1_reflection()) str += "%s2nd crystal type: '%s'\n" % (space, self.get_t2_reflection()) str += "%sEnergy 1st crystal = \t %.4f keV\n" % (space, self.E1.wm()) str += "%sEnergy 2nd crystal = \t %.4f keV\n" % (space, self.E2.wm()) # Check for horizontal elements on the diagnostic tower pos = self.dh.wm() tol = self.dh.get_par("retry_deadband") if abs(pos - self._outhoriz) <= tol: str += "%sHorizontal elements status:\t %s\n" % ( space, estr("OUT", color="green")) else: str += "%sHorizontal elements status:\t " % space tol = 3. #for the dectris hslit_i = self._list_isin(self.dh) if abs(pos - self._indectris) <= tol: str += pre str += "Dectris \n" elif hslit_i == 0: str += pre str += "Slit 1 (100 micron)\n" elif hslit_i == 1: str += pre str += "Slit 2 (500 micron) \n" elif hslit_i == 2: str += pre str += "Slit 3 (1 mm) \n" else: str += "%s\n" % estr("Unkown position", type="normal") # Check for vertical elements on the diagnostic tower pos = self.dv.wm() tol = self.dv.get_par("retry_deadband") if abs(pos - self._outvert) <= tol: str += "%sVertical elements status:\t %s\n" % ( space, estr("OUT", color="green")) else: str += "%sVertical elements status:\t " % space vslit_i = self._list_isin(self.dv) if abs(pos - self._inyag) <= tol: str += pre str += "Yag-mono \n" elif vslit_i == 0: str += pre str += "Slit 1 (100 micron) \n" elif vslit_i == 1: str += pre str += "Slit 2 (500 micron) \n" elif vslit_i == 2: str += pre str += "Slit 3 (1 mm) \n" else: str += "%s\n" % estr("Unkown position", type="normal") #Check for calibration foils foils = { 0: 'Out', 1: 'Mo', 2: 'Zr', 3: 'Ge', 4: 'Cu', 5: 'Ni', 6: 'Fe', 7: 'Ti' } foils_i = self._list_isin(self.df) if foils_i == 'no': str += "%sCalibration foils status:\t %s\n%s" % ( space, estr("Unknown position", type="normal"), space) elif foils_i == 0: str += "%sCalibration foils status:\t %s\n%s" % ( space, estr("OUT", color="green"), space) else: foil = foils[foils_i] str += "%sCalibration foils status:\t %s - %s\n%s" % ( space, estr("IN", type="normal"), foil, space) pos = self.dd.wm() tol = self.dd.get_par("retry_deadband") if abs(pos - self._outdiode) <= tol: str += "Diode 1 status:\t\t %s\n" % (estr("OUT", color="green")) elif abs(pos - self._indiode) <= tol: str += "Diode 1 status:\t\t %s\n" % (estr("IN", type="normal")) else: str += "Diode 1 status:\t\t %s\n" % (estr("Unknown position", type="normal")) if toprint: print str else: return str