"scripts/git@code.ornl.gov:mantidproject/mantid.git" did not exist on "b427ea96e4537c4610ff5e26a2ccf21ae4bcb151"
Newer
Older
Peterson, Peter
committed
#ifndef MANTID_ALGORITHMS_GETDETECTOROFFSETS_H_
#define MANTID_ALGORITHMS_GETDETECTOROFFSETS_H_
#include "MantidAPI/Algorithm.h"
#include "MantidAPI/IFunction.h"
Janik Zikovsky
committed
#include "MantidDataObjects/OffsetsWorkspace.h"
namespace Mantid {
namespace Algorithms {
Peterson, Peter
committed
/**
Find the offsets for each detector
@author Laurent Chapon, ISIS Facility, Rutherford Appleton Laboratory
@date 08/03/2009
Copyright © 2009 ISIS Rutherford Appleton Laboratory, NScD Oak Ridge
National Laboratory & European Spallation Source
Peterson, Peter
committed
This file is part of Mantid.
Mantid is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 3 of the License, or
(at your option) any later version.
Mantid is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
File change history is stored at: <https://github.com/mantidproject/mantid>
Peterson, Peter
committed
Code Documentation is available at: <http://doxygen.mantidproject.org>
*/
class DLLExport GetDetectorOffsets : public API::Algorithm {
Peterson, Peter
committed
public:
Janik Zikovsky
committed
/// Default constructorMatrix
Peterson, Peter
committed
GetDetectorOffsets();
/// Destructor
virtual ~GetDetectorOffsets();
/// Algorithm's name for identification overriding a virtual method
virtual const std::string name() const { return "GetDetectorOffsets"; }
/// Summary of algorithms purpose
virtual const std::string summary() const {
return "Creates an OffsetsWorkspace containing offsets for each detector. "
"You can then save these to a .cal file using SaveCalFile.";
}
Peterson, Peter
committed
/// Algorithm's version for identification overriding a virtual method
Janik Zikovsky
committed
virtual int version() const { return 1; }
Peterson, Peter
committed
/// Algorithm's category for identification overriding a virtual method
virtual const std::string category() const { return "Diffraction\\Calibration"; }
Peterson, Peter
committed
private:
// Overridden Algorithm methods
void init();
void exec();
/// Call Gaussian as a Child Algorithm to fit the peak in a spectrum
double fitSpectra(const int64_t s, bool isAbsolbute);
/// Create a function string from the given parameters and the algorithm
/// inputs
API::IFunction_sptr createFunction(const double peakHeight,
const double peakLoc);
Peterson, Peter
committed
/// Read in all the input parameters
void retrieveProperties();
API::MatrixWorkspace_sptr inputW; ///< A pointer to the input workspace
DataObjects::OffsetsWorkspace_sptr
outputW; ///< A pointer to the output workspace
Federico Montesino Pouzols
committed
double m_Xmin; ///< The start of the X range for fitting
double m_Xmax; ///< The end of the X range for fitting
double m_maxOffset; ///< The maximum absolute value of offsets
double m_dreference; ///< The expected peak position in d-spacing (?)
double m_dideal; ///< The known peak centre value from the NIST standard
double m_step; ///< The step size
Peterson, Peter
committed
};
} // namespace Algorithm
} // namespace Mantid
#endif /*MANTID_ALGORITHM_GETDETECTOROFFSETS_H_*/