diff --git a/script/MultiRegionScan.py b/script/MultiRegionScan.py index c33c3901..f4738ae5 100644 --- a/script/MultiRegionScan.py +++ b/script/MultiRegionScan.py @@ -97,9 +97,6 @@ def check_region(region): if 'cis' not in region: region['cis'] = False print("region {0}: setting default cis = {1}".format(region['name'], region['cis'])) - if 'slit' not in region: - region['slit'] = ExitSlit.take(100) - print("region {0}: setting default slit = {1}".format(region['name'], region['slit'])) class SpectrumReader(ReadonlyRegisterBase, ReadonlyRegisterArray): def initialize(self): @@ -109,26 +106,32 @@ class SpectrumReader(ReadonlyRegisterBase, ReadonlyRegisterArray): def create_datasets(self): path = get_exec_pars().scanPath + self.region_name + "/" - self.channel_begin_dataset_name = path + "ScientaChannelBegin" - self.channel_end_dataset_name = path + "ScientaChannelEnd" - self.channel_center_dataset_name = path + "ScientaChannelCenter" - self.pass_energy_dataset_name = path + "ScientaPassEnergy" - self.step_energy_dataset_name = path + "ScientaStepEnergy" - self.step_time_dataset_name = path + "ScientaStepTime" - self.iterations_dataset_name = path + "ScientaIterations" - self.slit_dataset_name = path + "ExitSlit" + if self.region['fixed']: + self.channel_center_dataset_name = path + "ScientaChannelCenter" + create_dataset(self.channel_center_dataset_name, 'd') + else: + self.channel_begin_dataset_name = path + "ScientaChannelBegin" + self.channel_end_dataset_name = path + "ScientaChannelEnd" + self.step_energy_dataset_name = path + "ScientaStepEnergy" + create_dataset(self.channel_begin_dataset_name, 'd') + create_dataset(self.channel_end_dataset_name, 'd') + create_dataset(self.step_energy_dataset_name, 'd') - create_dataset(self.channel_begin_dataset_name, 'd') - create_dataset(self.channel_end_dataset_name, 'd') - create_dataset(self.channel_center_dataset_name, 'd') - create_dataset(self.pass_energy_dataset_name, 'd') - create_dataset(self.step_energy_dataset_name, 'd') - create_dataset(self.step_time_dataset_name, 'd') - create_dataset(self.iterations_dataset_name, 'd') - create_dataset(self.slit_dataset_name, 'd') + if 'epass' in self.region: + self.pass_energy_dataset_name = path + "ScientaPassEnergy" + create_dataset(self.pass_energy_dataset_name, 'd') + if 'tstep' in self.region: + self.step_time_dataset_name = path + "ScientaStepTime" + create_dataset(self.step_time_dataset_name, 'd') + if 'iter' in self.region: + self.iterations_dataset_name = path + "ScientaIterations" + create_dataset(self.iterations_dataset_name, 'd') + if 'slit' in self.region: + self.slit_dataset_name = path + "ExitSlit" + create_dataset(self.slit_dataset_name, 'd') def setup(self): - print("spectrum.setup") + # print("spectrum.setup") print(self.region) if self.scan_index != get_exec_pars().index: @@ -186,17 +189,15 @@ class SpectrumReader(ReadonlyRegisterBase, ReadonlyRegisterArray): pass try: - ExitSlit.move(self.region['slit']) + ExitSlit.write(self.region['slit']) append_dataset(self.slit_dataset_name, self.region['slit']) except KeyError: pass - print("done slit") + Scienta.update() - print("done spectrum.setup") - def read(self): - print("spectrum.read") + # print("spectrum.read") global current_region_index current_region_index = self.region_index self.setup()