MuonRemoveExpDecay.h 2.73 KB
Newer Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#ifndef MANTID_ALGORITHM_MUONREMOVEEXPDECAY_H_
#define MANTID_ALGORITHM_MUONREMOVEEXPDECAY_H_

//----------------------------------------------------------------------
// Includes
//----------------------------------------------------------------------
#include <vector>
#include "MantidAPI/Algorithm.h"

namespace Mantid
{
  namespace Algorithms
  {
    /**Takes a muon workspace as input and removes the exponential decay from a time channel.
	 This is done by multipling the data by exp(t/tmuon). 

    Required Properties:
    <UL>
    <LI> InputWorkspace - The name of the Workspace2D to take as input </LI>
    <LI> OutputWorkspace - The name of the workspace in which to store the result </LI>
    <LI> Spectra - The spectra to be adjusted (by default all spectra are done)</LI>
    </UL>


    @author
    @date 11/07/2008

Nick Draper's avatar
Nick Draper committed
28
    Copyright &copy; 2008-9 ISIS Rutherford Appleton Laboratory & NScD Oak Ridge National Laboratory
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57

    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://svn.mantidproject.org/mantid/trunk/Code/Mantid>
    Code Documentation is available at: <http://doxygen.mantidproject.org>
    */
    class DLLExport MuonRemoveExpDecay : public API::Algorithm
    {
    public:
      /// Default constructor
     MuonRemoveExpDecay(): API::Algorithm() {};
      /// Destructor
      virtual ~MuonRemoveExpDecay() {};
      /// Algorithm's name for identification overriding a virtual method
      virtual const std::string name() const { return "RemoveExpDecay";}
      /// Algorithm's version for identification overriding a virtual method
58
      virtual int version() const { return 1;}
59
60
61
62
      /// Algorithm's category for identification overriding a virtual method
      virtual const std::string category() const { return "Muon";}

    private:
63
64
      /// Sets documentation strings for this algorithm
      virtual void initDocs();
65
66
67
      // Overridden Algorithm methods
      void init();
      void exec();
68
      void removeDecay(const MantidVec& inX, const MantidVec& inY, MantidVec& outY);
69

Nick Draper's avatar
re #720    
Nick Draper committed
70
      
71
72
73
74
75
76
    };

  } // namespace Algorithm
} // namespace Mantid

#endif /*MANTID_ALGORITHM_MUONREMOVEEXPDECAY_H_*/