\(\renewcommand\AA{\unicode{x212B}}\)
VesuvioCalculateMS v1¶
Summary¶
Calculates the contributions of multiple scattering on a flat plate sample for VESUVIO
See Also¶
MayersSampleCorrection, MonteCarloAbsorption, CarpenterSampleCorrection
Properties¶
Name |
Direction |
Type |
Default |
Description |
---|---|---|---|---|
InputWorkspace |
Input |
Mandatory |
Input workspace to be corrected, in units of TOF. |
|
NoOfMasses |
Input |
number |
Mandatory |
The number of masses contained within the sample |
SampleDensity |
Input |
number |
Mandatory |
The density of the sample in gm/cm^3 |
AtomicProperties |
Input |
dbl list |
Mandatory |
Atomic properties of masses within the sample. The expected format is 3 consecutive values per mass: mass(amu), cross-section (barns) & s.d of Compton profile. |
BeamRadius |
Input |
number |
Mandatory |
Radius, in cm, of beam |
Seed |
Input |
number |
123456789 |
Seed the random number generator with this value |
NumScatters |
Input |
number |
3 |
Number of scattering orders to calculate |
NumRuns |
Input |
number |
10 |
Number of simulated runs per spectrum |
NumEventsPerRun |
Input |
number |
50000 |
Number of events per run |
TotalScatteringWS |
Output |
Mandatory |
Workspace to store the calculated total scattering counts |
|
MultipleScatteringWS |
Output |
Mandatory |
Workspace to store the calculated multiple scattering counts summed for all orders |
Description¶
Calculates the multiple scattering contribution for deep inelastic neutron scattering on
the Vesuvio instrument at
ISIS. The algorithm follows the procedures defined by J. Mayers et al. [1]. To improve the
speed of the calculation, OpenMP was used for the calculation of scattering contributions per
spectrum. Users are recommended to use the user properties file properties file,
Mantid.user.properties
, to set the parameter MultiThreaded.MaxCores
to 0 for a better utilisation of
available cores.
Usage¶
runs = "" # fill in run numbers here
ip_file = "" # fill in IP file here
data = LoadVesuvio(Filename="my-file", SpectrumList=spectra,
Mode="SingleDifference", InstrumentParFile=ip_file)
# Cut it down to the typical range
data = CropWorkspace(raw_ws,XMin=50.0,XMax=562.0)
# Coarser binning
data = Rebin(raw_ws, Params=[49.5, 1.0, 562.5])
# Create sample shape
height = 0.1 # y-dir (m)
width = 0.1 # x-dir (m)
thick = 0.005 # z-dir (m)
half_height, half_width, half_thick = 0.5*height, 0.5*width, 0.5*thick
xml_str = \
" <cuboid id=\"sample-shape\"> " \
+ "<left-front-bottom-point x=\"%f\" y=\"%f\" z=\"%f\" /> " % (half_width,-half_height,half_thick) \
+ "<left-front-top-point x=\"%f\" y=\"%f\" z=\"%f\" /> " % (half_width, half_height, half_thick) \
+ "<left-back-bottom-point x=\"%f\" y=\"%f\" z=\"%f\" /> " % (half_width, -half_height, -half_thick) \
+ "<right-front-bottom-point x=\"%f\" y=\"%f\" z=\"%f\" /> " % (-half_width, -half_height, half_thick) \
+ "</cuboid>"
CreateSampleShape(data, xml_str)
atom_props = [1.007900, 0.9272392, 5.003738,
16.00000, 3.2587662E-02, 13.92299,
27.50000, 4.0172841E-02, 15.07701]
tot_scatter, ms_scatter = \
VesuvioCalculateMS(data, NoOfMasses=3, SampleDensity=241, AtomicProperties=atom_props,
BeamRadius=2.5)
References¶
Categories: AlgorithmIndex | CorrectionFunctions\SpecialCorrections
Source¶
C++ header: VesuvioCalculateMS.h
C++ source: VesuvioCalculateMS.cpp