Mantid
Loading...
Searching...
No Matches
FractionalRebinning.h
Go to the documentation of this file.
1// Mantid Repository : https://github.com/mantidproject/mantid
2//
3// Copyright © 2011 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//------------------------------------------------------------------------------
10// Includes
11//------------------------------------------------------------------------------
12#include "MantidDataObjects/DllConfig.h"
15
16namespace Mantid {
17//------------------------------------------------------------------------------
18// Forward declarations
19//------------------------------------------------------------------------------
20namespace API {
21class Progress;
22}
23namespace Geometry {
24class ConvexPolygon;
25}
26
27namespace DataObjects {
28
34namespace FractionalRebinning {
35
37MANTID_DATAOBJECTS_DLL bool getIntersectionRegion(const std::vector<double> &xAxis,
38 const std::vector<double> &verticalAxis,
39 const Geometry::Quadrilateral &inputQ, size_t &qstart, size_t &qend,
40 size_t &x_start, size_t &x_end);
41
43MANTID_DATAOBJECTS_DLL void normaliseOutput(const API::MatrixWorkspace_sptr &outputWS,
45 API::Progress *progress = nullptr);
46
48MANTID_DATAOBJECTS_DLL void rebinToOutput(const Geometry::Quadrilateral &inputQ,
49 const API::MatrixWorkspace_const_sptr &inputWS, const size_t i,
50 const size_t j, API::MatrixWorkspace &outputWS,
51 const std::vector<double> &verticalAxis);
52
54MANTID_DATAOBJECTS_DLL void rebinToFractionalOutput(const Geometry::Quadrilateral &inputQ,
55 const API::MatrixWorkspace_const_sptr &inputWS, const size_t i,
56 const size_t j, DataObjects::RebinnedOutput &outputWS,
57 const std::vector<double> &verticalAxis,
58 const DataObjects::RebinnedOutput_const_sptr &inputRB = nullptr);
59
61MANTID_DATAOBJECTS_DLL void finalizeFractionalRebin(DataObjects::RebinnedOutput &outputWS);
62
63} // namespace FractionalRebinning
64
65} // namespace DataObjects
66} // namespace Mantid
Base MatrixWorkspace Abstract Class.
Helper class for reporting progress from algorithms.
Definition: Progress.h:25
A ConvexPolygon with only 4 vertices.
Definition: Quadrilateral.h:24
std::shared_ptr< const MatrixWorkspace > MatrixWorkspace_const_sptr
shared pointer to the matrix workspace base class (const version)
std::shared_ptr< MatrixWorkspace > MatrixWorkspace_sptr
shared pointer to the matrix workspace base class
MANTID_DATAOBJECTS_DLL void normaliseOutput(const API::MatrixWorkspace_sptr &outputWS, const API::MatrixWorkspace_const_sptr &inputWS, API::Progress *progress=nullptr)
Compute sqrt of errors and put back in bin width division if necessary.
MANTID_DATAOBJECTS_DLL void rebinToFractionalOutput(const Geometry::Quadrilateral &inputQ, const API::MatrixWorkspace_const_sptr &inputWS, const size_t i, const size_t j, DataObjects::RebinnedOutput &outputWS, const std::vector< double > &verticalAxis, const DataObjects::RebinnedOutput_const_sptr &inputRB=nullptr)
Rebin the input quadrilateral to to output grid.
MANTID_DATAOBJECTS_DLL void rebinToOutput(const Geometry::Quadrilateral &inputQ, const API::MatrixWorkspace_const_sptr &inputWS, const size_t i, const size_t j, API::MatrixWorkspace &outputWS, const std::vector< double > &verticalAxis)
Rebin the input quadrilateral to to output grid.
MANTID_DATAOBJECTS_DLL bool getIntersectionRegion(const std::vector< double > &xAxis, const std::vector< double > &verticalAxis, const Geometry::Quadrilateral &inputQ, size_t &qstart, size_t &qend, size_t &x_start, size_t &x_end)
Find the intersect region on the output grid.
MANTID_DATAOBJECTS_DLL void finalizeFractionalRebin(DataObjects::RebinnedOutput &outputWS)
Set finalize flag after fractional rebinning loop.
std::shared_ptr< const RebinnedOutput > RebinnedOutput_const_sptr
shared pointer to a const RebinnedOutput
Helper class which provides the Collimation Length for SANS instruments.