示例#1
0
 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())
示例#2
0
 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())
示例#3
0
 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())
示例#4
0
 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()
示例#5
0
    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())
    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())