Mantid
Loading...
Searching...
No Matches
MuonPairAsymmetryCalculator.h
Go to the documentation of this file.
1// Mantid Repository : https://github.com/mantidproject/mantid
2//
3// Copyright © 2015 ISIS Rutherford Appleton Laboratory UKRI,
4// NScD Oak Ridge National Laboratory, European Spallation Source,
5// Institut Laue - Langevin & CSNS, Institute of High Energy Physics, CAS
6// SPDX - License - Identifier: GPL - 3.0 +
7#pragma once
8
9#include "MantidWorkflowAlgorithms/DllConfig.h"
11
12namespace Mantid {
13namespace WorkflowAlgorithms {
14
18class MANTID_WORKFLOWALGORITHMS_DLL MuonPairAsymmetryCalculator : public IMuonAsymmetryCalculator {
19public:
20 MuonPairAsymmetryCalculator(const API::WorkspaceGroup_sptr &inputWS, const std::vector<int> &summedPeriods,
21 const std::vector<int> &subtractedPeriods, const int firstPairIndex,
22 const int secondPairIndex, const double alpha = 1);
23
25 API::MatrixWorkspace_sptr calculate() const override;
26
27private:
29 API::MatrixWorkspace_sptr asymmetryCalc(const API::Workspace_sptr &inputWS) const;
30
32 const double m_alpha;
33
36
39};
40
41} // namespace WorkflowAlgorithms
42} // namespace Mantid
IMuonAsymmetryCalculator : Abstract base class for muon asymmetry calculations.
MuonPairAsymmetryCalculator : Calculates asymmetry for a given pair of groups, given the alpha value.
const int m_secondPairIndex
Workspace index of the second group of the pair.
const int m_firstPairIndex
Workspace index of the first group of the pair.
std::shared_ptr< WorkspaceGroup > WorkspaceGroup_sptr
shared pointer to Mantid::API::WorkspaceGroup
std::shared_ptr< Workspace > Workspace_sptr
shared pointer to Mantid::API::Workspace
std::shared_ptr< MatrixWorkspace > MatrixWorkspace_sptr
shared pointer to the matrix workspace base class
Helper class which provides the Collimation Length for SANS instruments.