def finalize(self): for name in ['axial', '110DP']: self.pulser.switch_manual(name) #save information to file measureList = ['trapdrive','endcaps','compensation','dcoffsetonrf','cavity397','cavity866','multiplexer397','multiplexer866','axialDP', 'pulser'] measuredDict = dvParameters.measureParameters(self.cxn, self.cxnlab, measureList) dvParameters.saveParameters(self.dv, measuredDict) dvParameters.saveParameters(self.dv, self.seqP.toDict()) dvParameters.saveParameters(self.dv, self.expP.toDict())
def sequence(self): sP = self.seqP xP = self.expP #saving timetags self.dv.cd(['','Experiments', self.experimentName, self.topdirectory, self.dirappend], True) self.dv.new('timetags',[('Time', 'sec')],[('PMT counts','Arb','Arb')] ) #do iterations for iteration in range(xP.iterations): print 'recording trace {0} out of {1}'.format(iteration+1, xP.iterations) self.pulser.reset_timetags() self.pulser.start_single() self.pulser.wait_sequence_done() self.pulser.stop_sequence() timetags = self.pulser.get_timetags().asarray iters = iteration * numpy.ones_like(timetags) self.dv.add(numpy.vstack((iters,timetags)).transpose()) #add to binning of the entire sequence self.Binner.add(timetags) self.Splicer.add(timetags) #auto crystallization if xP.auto_crystal: success = self.xtal.auto_crystallize() if not success: break #auto frequency correct if xP.freq_correct: if (xP.iterations % xP.freq_correct_interval == 0): success = self.freqCorrect.auto_correct() if not success: print 'Cant the drift, Boss' #adding readout counts to data vault: readout = self.Splicer.getList() self.dv.cd(['','Experiments', self.experimentName, self.topdirectory, self.dirappend]) self.dv.new('readout',[('Iter', 'Number')], [('PMT counts','Counts/Sec','Counts/Sec')] ) self.dv.add(readout) #adding binned fluorescence to data vault: binX, binY = self.Binner.getBinned() self.dv.cd(['','Experiments', self.experimentName, self.topdirectory, self.dirappend]) self.dv.new('binned',[('Time', 'sec')], [('PMT counts','Arb','Arb')] ) data = numpy.vstack((binX, binY)).transpose() self.dv.add(data) self.dv.add_parameter('Window',['Binned Fluorescence']) self.dv.add_parameter('plotLive',True) #adding histogram of counts to data vault binX, binY = self.Splicer.getHistogram() self.dv.cd(['','Experiments', self.experimentName, self.topdirectory, self.dirappend]) self.dv.new('histogram',[('Time', 'sec')], [('PMT counts','Arb','Arb')] ) data = numpy.vstack((binX, binY)).transpose() self.dv.add(data) self.dv.add_parameter('Window',['Histogram']) self.dv.add_parameter('plotLive',True) # gathering parameters and adding them to data vault measureList = ['trapdrive','endcaps','compensation','dcoffsetonrf','cavity397','cavity866','multiplexer397','multiplexer866','axialDP', 'pulser'] measuredDict = dvParameters.measureParameters(self.cxn, self.cxnlab, measureList) dvParameters.saveParameters(self.dv, measuredDict) dvParameters.saveParameters(self.dv, sP.toDict()) dvParameters.saveParameters(self.dv, xP.toDict())
def finalize(self): #for name in ['axial', '110DP']: for name in ['110DP']: self.pulser.switch_manual(name) #save information to file measureList = ['trapdrive','endcaps','compensation','dcoffsetonrf','cavity397','cavity866','multiplexer397','multiplexer866','axialDP', 'pulser'] measuredDict = dvParameters.measureParameters(self.cxn, self.cxnlab, measureList) dvParameters.saveParameters(self.dv, measuredDict) dvParameters.saveParameters(self.dv, self.seqP.toDict()) dvParameters.saveParameters(self.dv, self.expP.toDict())
def finalize(self): #go back to initiali frequency self.synth.frequency(self.initfreq) #go back to inital logic for name in ['axial', '110DP']: self.pulser.switch_manual(name) #save information to file measureList = ['trapdrive','endcaps','compensation','dcoffsetonrf','cavity397','cavity866','multiplexer397','multiplexer866','axialDP', 'pulser'] measuredDict = dvParameters.measureParameters(self.cxn, self.cxnlab, measureList) dvParameters.saveParameters(self.dv, measuredDict) dvParameters.saveParameters(self.dv, self.seqP.toDict()) dvParameters.saveParameters(self.dv, self.expP.toDict()) #show histogram self.dp.makeHistPlot()
def sequence(self): sP = self.seqP xP = self.expP now = datetime.datetime.now() date = now.strftime("%Y%m%d") ti = now.strftime('%H%M%S') print ti timetag_context = self.dv.context() self.dv.cd(['',date, self.experimentName, ti, 'binned'], True) self.dv.cd(['',date, self.experimentName, ti, 'timetags'], True, context = timetag_context) #self.dv.new('binned_timetags',[('Time', 'sec')],[('PMT counts','Arb','Arb')] ) self.dv.new('timetags',[('Time', 'sec')], [('Iteration', 'Arb','Arb')] , context = timetag_context ) timetags = [] numUpdates = xP.iterations self.pulser.reset_timetags() for n in range(numUpdates): print n for iteration in range(xP.iterations / numUpdates): self.pulser.start_single() self.pulser.wait_sequence_done() self.pulser.stop_sequence() timetags.extend(self.pulser.get_timetags().asarray) self.pulser.reset_timetags() timetag_raw = numpy.vstack( ( numpy.ones(len(timetags)),timetags ) ).transpose() self.dv.add( timetag_raw, context=timetag_context ) self.Binner.add(timetags, xP.iterations) self.dv.new('binned_timetags',[('Time', 'sec')],[('PMT counts','Arb','Arb')] ) self.dv.add_parameter('Window',['Binned Fluorescence']) self.dv.add_parameter('plotLive', True) binX, binY = self.Binner.getBinned() data = numpy.vstack((binX,binY)).transpose() self.dv.add(data) measureList = ['cavity397', 'cavity866', 'multiplexer397', 'multiplexer866', 'pulser'] measureDict = dvParameters.measureParameters(self.cxn, self.cxnlab, measureList) dvParameters.saveParameters(self.dv, measureDict) dvParameters.saveParameters(self.dv, sP.toDict()) dvParameters.saveParameters(self.dv, xP.toDict())