ProteoWizard
TruncatedLorentzianEstimator.hpp
Go to the documentation of this file.
1//
2// $Id$
3//
4//
5// Original author: Darren Kessner <darren@proteowizard.org>
6//
7// Copyright 2006 Louis Warschaw Prostate Cancer Center
8// Cedars Sinai Medical Center, Los Angeles, California 90048
9//
10// Licensed under the Apache License, Version 2.0 (the "License");
11// you may not use this file except in compliance with the License.
12// You may obtain a copy of the License at
13//
14// http://www.apache.org/licenses/LICENSE-2.0
15//
16// Unless required by applicable law or agreed to in writing, software
17// distributed under the License is distributed on an "AS IS" BASIS,
18// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
19// See the License for the specific language governing permissions and
20// limitations under the License.
21//
22
23
24#ifndef _TRUNCATEDLORENTZIANESTIMATOR_HPP_
25#define _TRUNCATEDLORENTZIANESTIMATOR_HPP_
26
27
31#include <memory>
32#include <iosfwd>
33
34
35namespace pwiz {
36namespace frequency {
37
38
40{
41 public:
42
43 static std::auto_ptr<TruncatedLorentzianEstimator> create();
44
46
49 int iterationCount) const = 0;
50
51 virtual double error(const pwiz::data::FrequencyData& fd, const TruncatedLorentzianParameters& tlp) const = 0;
52 virtual double normalizedError(const pwiz::data::FrequencyData& fd, const TruncatedLorentzianParameters& tlp) const = 0;
53 virtual double sumSquaresModel(const pwiz::data::FrequencyData& fd, const TruncatedLorentzianParameters& tlp) const = 0;
54
55 virtual void log(std::ostream* os) = 0; // set log stream [default == &cout]
56 virtual void outputDirectory(const std::string& name) = 0; // set intermediate output [default=="" (none)]
57
59};
60
61
62} // namespace frequency
63} // namespace pwiz
64
65
66#endif // _TRUNCATEDLORENTZIANESTIMATOR_HPP_
67
#define PWIZ_API_DECL
Definition Export.hpp:32
Class for binary storage of complex frequency data.
virtual void log(std::ostream *os)=0
virtual void outputDirectory(const std::string &name)=0
virtual double normalizedError(const pwiz::data::FrequencyData &fd, const TruncatedLorentzianParameters &tlp) const =0
virtual TruncatedLorentzianParameters iteratedEstimate(const pwiz::data::FrequencyData &fd, const TruncatedLorentzianParameters &tlp, int iterationCount) const =0
static std::auto_ptr< TruncatedLorentzianEstimator > create()
virtual TruncatedLorentzianParameters initialEstimate(const pwiz::data::FrequencyData &fd) const =0
virtual double error(const pwiz::data::FrequencyData &fd, const TruncatedLorentzianParameters &tlp) const =0
virtual double sumSquaresModel(const pwiz::data::FrequencyData &fd, const TruncatedLorentzianParameters &tlp) const =0
struct for holding parameters for a Truncated Lorentzian function