36 #ifndef OPENMS_CHEMISTRY_MASSDECOMPOSITION_IMS_IMSISOTOPEDISTRIBUTION_H 37 #define OPENMS_CHEMISTRY_MASSDECOMPOSITION_IMS_IMSISOTOPEDISTRIBUTION_H 43 #include <OpenMS/config.h> 104 Peak(mass_type local_mass = 0.0, abundance_type local_abundance = 0.0) :
105 mass(local_mass), abundance(local_abundance)
110 #pragma clang diagnostic push 111 #pragma clang diagnostic ignored "-Wfloat-equal" 113 #pragma clang diagnostic pop 161 nominal_mass_(nominalMass)
168 peaks_.push_back(peaks_container::value_type(mass, 1.0));
173 nominal_mass_type nominalMass = 0) :
175 nominal_mass_(nominalMass)
180 peaks_(distribution.peaks_),
181 nominal_mass_(distribution.nominal_mass_)
194 size_type
size()
const {
return std::min(peaks_.size(), SIZE); }
256 return peaks_[i].mass + nominal_mass_ + i;
267 return peaks_[i].abundance;
275 mass_type getAverageMass()
const;
291 this->nominal_mass_ = nominalMass;
299 masses_container getMasses()
const;
306 abundances_container getAbundances()
const;
320 bool empty()
const {
return peaks_.empty(); }
330 void setMinimumSize_();
339 OPENMS_DLLAPI std::ostream &
operator<<(std::ostream & os,
345 #endif // OPENMS_CHEMISTRY_MASSDECOMPOSITION_IMS_ISOTOPE_DISTRIBUTION_H bool empty() const
Definition: IMSIsotopeDistribution.h:320
Peak peak_type
Type of isotope peak.
Definition: IMSIsotopeDistribution.h:121
Structure that represents an isotope peak - pair of mass and abundance.
Definition: IMSIsotopeDistribution.h:102
IMSIsotopeDistribution(const IMSIsotopeDistribution &distribution)
Copy constructor.
Definition: IMSIsotopeDistribution.h:179
std::vector< abundance_type > abundances_container
Type of container with isotope abundances.
Definition: IMSIsotopeDistribution.h:145
IMSIsotopeDistribution(mass_type mass)
Constructor with single isotope.
Definition: IMSIsotopeDistribution.h:165
std::vector< mass_type > masses_container
Type of container with isotope masses.
Definition: IMSIsotopeDistribution.h:136
static size_type SIZE
Length of isotope distribution.
Definition: IMSIsotopeDistribution.h:157
Peak(mass_type local_mass=0.0, abundance_type local_abundance=0.0)
Definition: IMSIsotopeDistribution.h:104
nominal_mass_type nominal_mass_
Nominal mass of distribution.
Definition: IMSIsotopeDistribution.h:327
masses_container::const_iterator const_masses_iterator
Type of const iterator over container with isotope masses.
Definition: IMSIsotopeDistribution.h:142
double mass_type
Type of isotope mass.
Definition: IMSIsotopeDistribution.h:93
bool operator==(_Iterator< _Val, _Ref, _Ptr > const &, _Iterator< _Val, _Ref, _Ptr > const &)
Definition: KDTree.h:806
bool operator==(const Peak &peak) const
Definition: IMSIsotopeDistribution.h:108
IMSIsotopeDistribution(nominal_mass_type nominalMass=0)
Constructor with nominal mass.
Definition: IMSIsotopeDistribution.h:160
mass_type mass
Definition: IMSIsotopeDistribution.h:116
Represents a distribution of isotopes restricted to the first K elements.
Definition: IMSIsotopeDistribution.h:88
abundance_type getAbundance(size_type i) const
Definition: IMSIsotopeDistribution.h:265
Main OpenMS namespace.
Definition: FeatureDeconvolution.h:47
OPENSWATHALGO_DLLAPI void normalize(const std::vector< double > &intensities, double normalization_factor, std::vector< double > &normalized_intensities)
Normalize intensities in vector by normalization_factor.
IMSIsotopeDistribution(const peaks_container &peaks, nominal_mass_type nominalMass=0)
Constructor with isotopes and nominal mass.
Definition: IMSIsotopeDistribution.h:172
void setNominalMass(nominal_mass_type nominalMass)
Definition: IMSIsotopeDistribution.h:289
peaks_container::const_iterator const_peaks_iterator
Type of const iterator over container with peaks.
Definition: IMSIsotopeDistribution.h:130
peaks_container::size_type size_type
Type of peaks container's size.
Definition: IMSIsotopeDistribution.h:133
double abundance_type
Type of isotope abundance.
Definition: IMSIsotopeDistribution.h:96
mass_type getMass(size_type i) const
Definition: IMSIsotopeDistribution.h:254
abundance_type abundance
Definition: IMSIsotopeDistribution.h:117
std::vector< peak_type > peaks_container
Type of container to store peaks.
Definition: IMSIsotopeDistribution.h:124
masses_container::iterator masses_iterator
Type of iterator over container with isotope masses.
Definition: IMSIsotopeDistribution.h:139
~IMSIsotopeDistribution()
Destructor.
Definition: IMSIsotopeDistribution.h:185
abundances_container::const_iterator const_abundances_iterator
Type of const iterator over container with isotope abundances.
Definition: IMSIsotopeDistribution.h:151
static abundance_type ABUNDANCES_SUM_ERROR
Error to be allowed for isotope distribution.
Definition: IMSIsotopeDistribution.h:154
unsigned int nominal_mass_type
Type of isotope nominal mass.
Definition: IMSIsotopeDistribution.h:99
nominal_mass_type getNominalMass() const
Definition: IMSIsotopeDistribution.h:282
size_type size() const
Definition: IMSIsotopeDistribution.h:194
bool operator!=(_Iterator< _Val, _Ref, _Ptr > const &, _Iterator< _Val, _Ref, _Ptr > const &)
Definition: KDTree.h:824
peaks_container peaks_
Container for isotopes.
Definition: IMSIsotopeDistribution.h:324
peaks_container::iterator peaks_iterator
Type of iterator over container with peaks.
Definition: IMSIsotopeDistribution.h:127
abundances_container::iterator abundances_iterator
Type of iterator over container with isotope abundances.
Definition: IMSIsotopeDistribution.h:148
std::ostream & operator<<(std::ostream &os, const IMSAlphabet &alphabet)