#!/usr/bin/env python
# file name: /home/pXXuser/sardanaMacros/scanData.py
"""the demo for a data scan"""
__all__ = ["scanData"]
from sardana.macroserver.macro import *
from sardana.macroserver.macro import macro
class scanData(Macro):
"""An example on how to look at the data after a scan has been executed"""
param_def = [
['motor', Type.Motor, None, 'Motor to move'],
['start_pos', Type.Float, None, 'Scan start position'],
['final_pos', Type.Float, None, 'Scan final position'],
['nr_interv', Type.Integer, None, 'Number of scan intervals'],
['integ_time', Type.Float, None, 'Integration time']
]
def run(self, motor, start_pos, final_pos, nr_interv, integ_time):
ascan, pars = self.createMacro("ascan",motor, start_pos, final_pos, nr_interv, integ_time)
self.runMacro(ascan)
sigGen = []
for elm in ascan.data.records:
sigGen.append( elm.data['hasppXX:10000/expchan/vc_sig_gen/1'])
self.output( "The Signal Generator output ")
self.output( sigGen)
#
# to understand how the data is packed you may use the following print statements
#
# self.output( dir(ascan))
# self.output( dir(ascan.data))
# self.output( dir(ascan.data.records))
# self.output( dir(ascan.data.records[0]))
# self.output( ascan.data.records[0].data)
#