ProteoWizard
IsotopeEnvelopeEstimator.hpp
Go to the documentation of this file.
1//
2// $Id$
3//
4//
5// Original author: Darren Kessner <darren@proteowizard.org>
6//
7// Copyright 2007 Spielberg Family Center for Applied Proteomics
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 _ISOTOPEENVELOPEESTIMATOR_HPP_
25#define _ISOTOPEENVELOPEESTIMATOR_HPP_
26
27
29#include "Chemistry.hpp"
30#include "IsotopeCalculator.hpp"
31
32
33namespace pwiz {
34namespace chemistry {
35
36
37/// Class used for calculating a theoretical isotope envelope for a given mass,
38/// based on an estimate of the elemental composition for that mass. For peptides,
39/// the elemental composition estimate is based on the average elemental composition
40/// of amino acid residues. Mass distributions are calculated on construction of the
41/// object and cached for quick access.
43{
44 public:
45
47 {
48 enum Type {Peptide};
49
51 unsigned int cacheSize;
54 const IsotopeCalculator* isotopeCalculator; // must be valid during construction only
55
57 : type(Peptide),
58 cacheSize(10000),
59 cacheMaxMass(100000),
60 normalization(IsotopeCalculator::NormalizeMass | // monoisotopic == 0
61 IsotopeCalculator::NormalizeAbundance), // norm_2 == 1
62 isotopeCalculator(0)
63 {}
64 };
65
68
70
71 private:
72
73 class Impl;
74 std::auto_ptr<Impl> impl_;
75
76 // no copying
79};
80
81
82} // namespace chemistry
83} // namespace pwiz
84
85
86#endif // _ISOTOPEENVELOPEESTIMATOR_HPP_
#define PWIZ_API_DECL
Definition Export.hpp:32
Class used for calculating a theoretical isotope envelope for a given mass, based on an estimate of t...
IsotopeEnvelopeEstimator & operator=(const IsotopeEnvelopeEstimator &)
IsotopeEnvelopeEstimator(const Config &config)
MassDistribution isotopeEnvelope(double mass) const
IsotopeEnvelopeEstimator(const IsotopeEnvelopeEstimator &)
std::vector< MassAbundance > MassDistribution
struct for holding isotope distribution
Definition Chemistry.hpp:66