Skip to content

Commit

Permalink
Add non-functioning ConvertFullprofToXml algorithm re #7617
Browse files Browse the repository at this point in the history
I've left some code in it from LoadFullprofResolution, which could be useful. If I end up using a lot of the code without much modification, then it should go in a class for use by both algorithms.

Signed-off-by: Karl Palmen <karl.palmen@stfc.ac.uk>
  • Loading branch information
KarlPalmen committed Sep 2, 2013
1 parent b89d845 commit f25c767
Show file tree
Hide file tree
Showing 3 changed files with 632 additions and 0 deletions.
2 changes: 2 additions & 0 deletions Code/Mantid/Framework/DataHandling/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
set ( SRC_FILES
src/AppendGeometryToSNSNexus.cpp
src/CompressEvents.cpp
src/ConvertFullprofToXml.cpp
src/CreateChopperModel.cpp
src/CreateModeratorModel.cpp
src/CreateSampleShape.cpp
Expand Down Expand Up @@ -134,6 +135,7 @@ set ( SRC_FILES
set ( INC_FILES
inc/MantidDataHandling/AppendGeometryToSNSNexus.h
inc/MantidDataHandling/CompressEvents.h
inc/MantidDataHandling/ConvertFullprofToXml.h
inc/MantidDataHandling/CreateChopperModel.h
inc/MantidDataHandling/CreateModeratorModel.h
inc/MantidDataHandling/CreateSampleShape.h
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
#ifndef MANTID_DATAHANDLING_CONVERTFULLPROFTOXML_H_
#define MANTID_DATAHANDLING_CONVERTFULLPROFTOXML_H_

#include "MantidKernel/System.h"
#include "MantidAPI/Algorithm.h"

namespace Mantid
{
namespace DataHandling
{

/** LoadFullprofResolution : Load Fullprof resolution (.irf) file to TableWorkspace(s)
Copyright &copy; 2013 ISIS Rutherford Appleton Laboratory & NScD Oak Ridge National Laboratory
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>
Code Documentation is available at: <http://doxygen.mantidproject.org>
*/
class DLLExport ConvertFullprofToXml : public API::Algorithm
{
public:
ConvertFullprofToXml();
virtual ~ConvertFullprofToXml();

/// Algorithm's name for identification overriding a virtual method
virtual const std::string name() const { return "ConvertFullprofToXml";}

/// Algorithm's version for identification overriding a virtual method
virtual int version() const { return 1;}

/// Algorithm's category for identification overriding a virtual method
virtual const std::string category() const { return "Diffraction";}

private:
/// Sets documentation strings for this algorithm
virtual void initDocs();
/// Implement abstract Algorithm methods
void init();
/// Implement abstract Algorithm methods
void exec();

/// Load file to a vector of strings
void loadFile(std::string filename, std::vector<std::string>& lines);

/// Scan imported file for bank information
void scanBanks(const std::vector<std::string>& lines, std::vector<int>& banks,
std::map<int, int> &bankstartindexmap, std::map<int, int> &bankendindexmap);

/// Parse .irf file to a map
void parseResolutionStrings(std::map<std::string, double>& parammap, const std::vector<std::string>& lines, int bankid, int startlineindex, int endlineindex);

void parseBankLine(std::string line, double& cwl, int& bankid);

};


} // namespace DataHandling
} // namespace Mantid

#endif /* MANTID_DATAHANDLING_CONVERTFULLPROFTOXML_H_ */

0 comments on commit f25c767

Please sign in to comment.