12#include "MantidCurveFitting/DllConfig.h"
27namespace CurveFitting {
29struct ResolutionParams;
52 std::vector<ComptonNeutronAtom>
atoms;
61 const std::string
name()
const override {
return "VesuvioCalculateMS"; }
63 int version()
const override {
return 1; }
65 const std::string
category()
const override {
return "CorrectionFunctions\\SpecialCorrections"; }
67 const std::string
summary()
const override {
68 return "Calculates the contributions of multiple scattering "
69 "on a flat plate sample for VESUVIO";
72 const std::vector<std::string>
seeAlso()
const override {
73 return {
"MayersSampleCorrection",
"MonteCarloAbsorption",
"CarpenterSampleCorrection"};
94 double &weight)
const;
96 const double dl1)
const;
100 std::pair<double, double> calculateE1Range(
const double theta,
const double en0)
const;
101 double partialDiffXSec(
const double en0,
const double en1,
const double theta)
const;
104 const Kernel::V3D &direcBeforeSc,
double &scang,
double &distToExit)
const;
106 const double e1res)
const;
Base class from which all concrete algorithm classes should be derived.
A "spectrum" is an object that holds the data for a particular spectrum, in particular:
Calculates the multiple scattering & total scattering contributions for a flat-plate or cylindrical s...
int version() const override
function to return a version of the algorithm, must be overridden in all algorithms
const std::string name() const override
function to return a name of the algorithm, must be overridden in all algorithms
std::unique_ptr< SampleComptonProperties > m_sampleProps
std::unique_ptr< API::Progress > m_progress
API::MatrixWorkspace_sptr m_inputWS
const std::string category() const override
function to return a category of the algorithm.
Geometry::IObject const * m_sampleShape
double m_halfSampleHeight
const std::vector< std::string > seeAlso() const override
Function to return all of the seeAlso (these are not validated) algorithms related to this algorithm....
const std::string summary() const override
function returns a summary message that will be displayed in the default GUI, and in the help.
IObject : Interface for geometry objects.
std::shared_ptr< MatrixWorkspace > MatrixWorkspace_sptr
shared pointer to the matrix workspace base class
Helper class which provides the Collimation Length for SANS instruments.
Simple data structure to store nominal detector values It avoids some functions taking a huge number ...
std::vector< ComptonNeutronAtom > atoms
SampleComptonProperties(const int nprops)
Simple data structure to store resolution parameter values It avoids some functions taking a huge num...