23using MNPOffset = std::tuple<double, double, double, Kernel::V3D>;
27 inline const static std::string
ModVector1{
"ModVector1"};
28 inline const static std::string
ModVector2{
"ModVector2"};
29 inline const static std::string
ModVector3{
"ModVector3"};
30 inline const static std::string
MaxOrder{
"MaxOrder"};
31 inline const static std::string
CrossTerms{
"CrossTerms"};
44 const std::vector<double> &modVector2,
45 const std::vector<double> &modVector3);
49 const std::vector<double> &modVector2,
50 const std::vector<double> &modVector3);
56std::vector<MNPOffset>
generateOffsetVectors(
const std::vector<double> &hOffsets,
const std::vector<double> &kOffsets,
57 const std::vector<double> &lOffsets);
const std::vector< V3D > modVectors
IAlgorithm is the interface implemented by the Algorithm base class.
std::vector< Kernel::V3D > addModulationVectors(const std::vector< double > &modVector1, const std::vector< double > &modVector2, const std::vector< double > &modVector3)
Create a list of valid modulation vectors from the input.
std::vector< MNPOffset > generateOffsetVectors(const std::vector< Kernel::V3D > &modVectors, const int maxOrder, const bool crossTerms)
Calculate a list of HKL offsets from the given modulation vectors.
double qConventionFactor()
convenience overload to pull the convention from the config service
std::vector< Kernel::V3D > validModulationVectors(const std::vector< double > &modVector1, const std::vector< double > &modVector2, const std::vector< double > &modVector3)
Create a list of valid modulation vectors from the input.
std::tuple< double, double, double, Kernel::V3D > MNPOffset
Tie together a modulated peak number with its offset.
Tie together the names of the properties for the modulation vectors.
static const std::string ModVector3
static const std::string MaxOrder
static const std::string ModVector2
std::vector< MNPOffset > offsets
static const std::string CrossTerms
static const std::string ModVector1
static void appendTo(API::IAlgorithm *alg)
Append the common set of properties that relate to modulation vectors to the given algorithm.