28 const std::string
name()
const override {
return "HeliumAnalyserEfficiency"; }
30 const std::string
summary()
const override {
return "Calculates the efficiency of a He3 analyser."; }
32 int version()
const override {
return 1; }
34 const std::string
category()
const override {
return "SANS\\PolarizationCorrections"; }
35 std::map<std::string, std::string> validateInputs()
override;
42 void declareInputProperties();
43 void declareFitProperties();
44 void declareOutputProperties();
47 void makeFit(
const Algorithm_sptr &fitAlgorithm,
const std::string &fitOutputName);
48 void prepareOutputs(
const std::vector<MatrixWorkspace_sptr> &efficiencies);
51 std::vector<MatrixWorkspace_sptr> calculateEfficiencies(
const std::vector<std::string> &workspaceNames,
52 const std::string &spinConfiguration);
54 VectorPair fitHe3Polarization(
const double mu,
const std::vector<MatrixWorkspace_sptr> &efficiencies);
55 VectorPair getTimeDifferences(
const std::vector<std::string> &wsNames);
57 void convertToTheoreticalEfficiencies(
const std::vector<MatrixWorkspace_sptr> &efficiencies,
58 const std::vector<double> &pHeVec,
const std::vector<double> &pHeErrorVec,
60 double calculateTCrit(
const size_t numberOfBins)
const;