예제 #1
0
 def d7_reduction_test_sample_individual_incoherent(self):
     PolDiffILLReduction(
         Run='397004,397005',
         ProcessAs='Sample',
         OutputWorkspace='sample_individual',
         SampleAndEnvironmentProperties=self._sampleProperties,
         OutputTreatment='Individual')
     self._check_output(mtd['sample_individual'], 1, 132, 6, 'Wavelength',
                        'Wavelength', 'Spectrum', 'Label')
     self._check_process_flag(mtd['sample_individual'], 'Sample')
     D7AbsoluteCrossSections(
         InputWorkspace='sample_individual',
         OutputWorkspace='sample_individual_incoherent',
         CrossSectionSeparationMethod='XYZ',
         NormalisationMethod='Incoherent',
         OutputTreatment='Merge',
         OutputUnits='TwoTheta',
         SampleAndEnvironmentProperties=self._sampleProperties)
     self._check_output(mtd['sample_individual_incoherent'],
                        263,
                        1,
                        6,
                        'Scattering Angle',
                        'Label',
                        'Height',
                        'Label',
                        post_processed=True)
예제 #2
0
 def d7_reduction_test_sample_individual_paramagnetic(self):
     PolDiffILLReduction(
         Run='397004,397005',
         ProcessAs='Sample',
         OutputWorkspace='sample_individual',
         SampleAndEnvironmentProperties=self._sampleProperties,
         OutputTreatment='Individual')
     self._check_output(mtd['sample_individual'], 1, 132, 6, 'Wavelength',
                        'Wavelength', 'Spectrum', 'Label')
     self._check_process_flag(mtd['sample_individual'], 'Sample')
     D7AbsoluteCrossSections(
         InputWorkspace='sample_individual',
         OutputWorkspace='sample_individual_paramagnetic',
         CrossSectionSeparationMethod='XYZ',
         NormalisationMethod='Paramagnetic',
         OutputTreatment='Individual',
         OutputUnits='Q',
         SampleAndEnvironmentProperties=self._sampleProperties)
     self._check_output(mtd['sample_individual_paramagnetic'],
                        132,
                        1,
                        6,
                        'q',
                        'MomentumTransfer',
                        'Wavelength',
                        'Wavelength',
                        post_processed=True,
                        normalised_individually=True)
예제 #3
0
 def test_tof_data_normalisation(self):
     D7AbsoluteCrossSections(InputWorkspace='sample_tof_data', OutputWorkspace='normalised_tof',
                             CrossSectionSeparationMethod='Z', NormalisationMethod='Vanadium',
                             SampleAndEnvironmentProperties=self._sampleProperties, AbsoluteUnitsNormalisation=False,
                             VanadiumInputWorkspace='vanadium_data', MeasurementTechnique='TOF',
                             OutputUnits='Qw')
     self._check_output('normalised_tof', 225, 339, 3, onlySeparation=False, isHistogram=True)
예제 #4
0
 def test_10p_separation(self):
     D7AbsoluteCrossSections(
         InputWorkspace='vanadium_10p',
         OutputWorkspace='10p',
         SampleAndEnvironmentProperties=self._sampleProperties,
         CrossSectionSeparationMethod='10p',
         NormalisationMethod='None')
     self._check_output('10p', 132, 1, 3, onlySeparation=True)
예제 #5
0
 def test_incoherent_normalisation(self):
     D7AbsoluteCrossSections(
         InputWorkspace='sample_data',
         OutputWorkspace='normalised_sample_incoherent',
         CrossSectionSeparationMethod='XYZ',
         NormalisationMethod='Incoherent',
         SampleAndEnvironmentProperties=self._sampleProperties,
         AbsoluteUnitsNormalisation=False)
     self._check_output('normalised_sample_incoherent',
                        132,
                        1,
                        3,
                        onlySeparation=False)
예제 #6
0
 def test_vanadium_normalisation(self):
     D7AbsoluteCrossSections(
         InputWorkspace='sample_data',
         OutputWorkspace='normalised_sample_vanadium',
         CrossSectionSeparationMethod='None',
         NormalisationMethod='Vanadium',
         SampleAndEnvironmentProperties=self._sampleProperties,
         VanadiumInputWorkspace='vanadium_data',
         AbsoluteUnitsNormalisation=False)
     self._check_output('normalised_sample_vanadium',
                        132,
                        1,
                        6,
                        onlySeparation=False)
    def d7_reduction_test_sample_full_reduction(self):
        PolDiffILLReduction(Run='396983', ProcessAs='EmptyBeam', OutputWorkspace='beam_ws')
        PolDiffILLReduction(Run='396985', ProcessAs='Transmission', OutputWorkspace='quartz_transmission',
                            EmptyBeamWorkspace='beam_ws')
        PolDiffILLReduction(Run='396917,396918', ProcessAs='Empty', OutputWorkspace='container_ws')
        PolDiffILLReduction(Run='396928,396929', ProcessAs='Cadmium', OutputWorkspace='absorber_ws')
        PolDiffILLReduction(Run='396991', ProcessAs='BeamWithCadmium', OutputWorkspace='cadmium_ws')
        PolDiffILLReduction(Run='396939,397000', ProcessAs='Quartz', OutputWorkspace='pol_corrections',
                            Transmission='quartz_transmission',
                            CadmiumTransmissionWorkspace='cadmium_ws', OutputTreatment='AveragePol')
        PolDiffILLReduction(Run='396990', ProcessAs='Transmission', OutputWorkspace='vanadium_transmission',
                            CadmiumTransmissionWorkspace='cadmium_ws',
                            EmptyBeamWorkspace='beam_ws')
        PolDiffILLReduction(Run='396993,396994', ProcessAs='Vanadium', OutputWorkspace='vanadium_full',
                            CadmiumWorkspace='absorber_ws',
                            EmptyContainerWorkspace='container_ws',
                            Transmission='vanadium_transmission',
                            QuartzWorkspace='pol_corrections',
                            SampleAndEnvironmentProperties=self._sampleProperties,
                            OutputTreatment='Sum')
        PolDiffILLReduction(Run='396986,396987', ProcessAs='Transmission', OutputWorkspace='sample_transmission',
                            CadmiumTransmissionWorkspace='cadmium_ws',
                            EmptyBeamWorkspace='beam_ws')
        PolDiffILLReduction(Run='397004,397005', ProcessAs='Sample', OutputWorkspace='sample_full',
                            CadmiumWorkspace='absorber_ws',
                            EmptyContainerWorkspace='container_ws',
                            Transmission='vanadium_transmission',
                            QuartzWorkspace='pol_corrections',
                            SampleAndEnvironmentProperties=self._sampleProperties,
                            OutputTreatment='Individual')
        self._check_output(mtd['sample_full'], 1, 132, 12, 'Wavelength', 'Wavelength', 'Spectrum', 'Label')
        self._check_process_flag(mtd['sample_full'], 'Sample')

        D7AbsoluteCrossSections(InputWorkspace='sample_full', OutputWorkspace='sample_full_normalised',
                                CrossSectionSeparationMethod='XYZ',
                                VanadiumInputWorkspace='vanadium_full',
                                NormalisationMethod='Vanadium',
                                OutputTreatment='Merge',
                                OutputUnits='Q',
                                SampleAndEnvironmentProperties=self._sampleProperties,
                                AbsoluteUnitsNormalisation=True)
        self._check_output(mtd['sample_full_normalised'], 263, 1, 6, 'q', 'MomentumTransfer', 'Height', 'Label')
예제 #8
0
 def test_xyz_separation(self):
     D7AbsoluteCrossSections(InputWorkspace='vanadium_xyz',
                             OutputWorkspace='xyz',
                             CrossSectionSeparationMethod='XYZ',
                             NormalisationMethod='None')
     self._check_output('xyz', 132, 1, 3, onlySeparation=True)
예제 #9
0
 def test_uniaxial_separation(self):
     D7AbsoluteCrossSections(InputWorkspace='vanadium_uniaxial',
                             OutputWorkspace='uniaxial',
                             CrossSectionSeparationMethod='Z')
     self._check_output('uniaxial', 132, 1, 2, onlySeparation=True)