24#ifndef _SPECTRUMLIST_FILTER_HPP_
25#define _SPECTRUMLIST_FILTER_HPP_
34#include "boost/logic/tribool.hpp"
77 virtual bool done()
const {
return false;}
89 virtual size_t size()
const;
113 virtual std::string
describe()
const {
return "set of spectrum indices"; }
127 virtual std::string
describe()
const {
return "set of scan numbers"; }
141 virtual std::string
describe()
const {
return "set of spectrum ids"; }
154 virtual std::string
describe()
const {
return "set of scan events"; }
167 virtual std::string
describe()
const {
return "scan time range"; }
181 virtual std::string
describe()
const {
return "set of MS levels"; }
194 virtual std::string
describe()
const {
return "set of charge states"; }
214 virtual std::string
describe()
const {
return "set of precursor M/Zs"; }
232 virtual std::string
describe()
const {
return "number of spectrum data points"; }
245 virtual std::string
describe()
const {
return "set of activation types"; }
259 virtual std::string
describe()
const {
return "set of analyzer types"; }
272 virtual std::string
describe()
const {
return "polarity"; }
287 virtual std::string
describe()
const {
return "set of M/Zs in spectrum"; }
302 virtual std::string
describe()
const {
return "Thermo scan filter pattern"; }
SpectrumList filter, for creating Spectrum sub-lists.
boost::shared_ptr< Impl > impl_
virtual msdata::SpectrumPtr spectrum(size_t index, bool getBinaryData=false) const
retrieve a spectrum by index
SpectrumList_Filter & operator=(SpectrumList_Filter &)
SpectrumList_Filter(const msdata::SpectrumListPtr original, const Predicate &predicate, pwiz::util::IterationListenerRegistry *ilr=0)
virtual msdata::SpectrumPtr spectrum(size_t index, msdata::DetailLevel detailLevel) const
retrieve a spectrum by index
virtual const msdata::SpectrumIdentity & spectrumIdentity(size_t index) const
access to a spectrum index
virtual size_t size() const
returns the number of spectra
SpectrumList_Filter(SpectrumList_Filter &)
virtual boost::logic::tribool accept(const msdata::Spectrum &spectrum) const
return true iff Spectrum is accepted
std::set< pwiz::cv::CVID > cvFilterItems
SpectrumList_FilterPredicate_ActivationType(const std::set< pwiz::cv::CVID > filterItem, bool hasNoneOf_=false)
virtual boost::logic::tribool accept(const msdata::SpectrumIdentity &spectrumIdentity) const
return values: true: accept the Spectrum false: reject the Spectrum indeterminate: need to see the fu...
virtual std::string describe() const
return a string describing how the predicate filters
std::set< pwiz::cv::CVID > cvFilterItems
SpectrumList_FilterPredicate_AnalyzerType(const std::set< pwiz::cv::CVID > filterItem)
virtual boost::logic::tribool accept(const msdata::Spectrum &spectrum) const
return true iff Spectrum is accepted
virtual boost::logic::tribool accept(const msdata::SpectrumIdentity &spectrumIdentity) const
return values: true: accept the Spectrum false: reject the Spectrum indeterminate: need to see the fu...
virtual std::string describe() const
return a string describing how the predicate filters
SpectrumList_FilterPredicate_ChargeStateSet(const util::IntegerSet &chargeStateSet)
virtual boost::logic::tribool accept(const msdata::Spectrum &spectrum) const
return true iff Spectrum is accepted
util::IntegerSet chargeStateSet_
virtual std::string describe() const
return a string describing how the predicate filters
virtual boost::logic::tribool accept(const msdata::SpectrumIdentity &spectrumIdentity) const
return values: true: accept the Spectrum false: reject the Spectrum indeterminate: need to see the fu...
virtual boost::logic::tribool accept(const msdata::Spectrum &spectrum) const
return true iff Spectrum is accepted
virtual boost::logic::tribool accept(const msdata::SpectrumIdentity &spectrumIdentity) const
return values: true: accept the Spectrum false: reject the Spectrum indeterminate: need to see the fu...
util::IntegerSet defaultArrayLengthSet_
virtual std::string describe() const
return a string describing how the predicate filters
SpectrumList_FilterPredicate_DefaultArrayLengthSet(const util::IntegerSet &defaultArrayLengthSet)
virtual std::string describe() const
return a string describing how the predicate filters
std::set< std::string > idSet_
SpectrumList_FilterPredicate_IdSet(const std::set< std::string > &idSet)
virtual boost::logic::tribool accept(const msdata::SpectrumIdentity &spectrumIdentity) const
return values: true: accept the Spectrum false: reject the Spectrum indeterminate: need to see the fu...
virtual bool done() const
return true iff done accepting spectra; this allows early termination of the iteration through the or...
virtual bool done() const
return true iff done accepting spectra; this allows early termination of the iteration through the or...
util::IntegerSet indexSet_
SpectrumList_FilterPredicate_IndexSet(const util::IntegerSet &indexSet)
virtual std::string describe() const
return a string describing how the predicate filters
virtual boost::logic::tribool accept(const msdata::SpectrumIdentity &spectrumIdentity) const
return values: true: accept the Spectrum false: reject the Spectrum indeterminate: need to see the fu...
virtual std::string describe() const
return a string describing how the predicate filters
virtual boost::logic::tribool accept(const msdata::SpectrumIdentity &spectrumIdentity) const
return values: true: accept the Spectrum false: reject the Spectrum indeterminate: need to see the fu...
util::IntegerSet msLevelSet_
virtual boost::logic::tribool accept(const msdata::Spectrum &spectrum) const
return true iff Spectrum is accepted
SpectrumList_FilterPredicate_MSLevelSet(const util::IntegerSet &msLevelSet)
virtual std::string describe() const
return a string describing how the predicate filters
chemistry::MZTolerance mzt_
virtual boost::logic::tribool accept(const msdata::Spectrum &spectrum) const
return true iff Spectrum is accepted
std::set< double > mzSet_
virtual boost::logic::tribool accept(const msdata::SpectrumIdentity &spectrumIdentity) const
return values: true: accept the Spectrum false: reject the Spectrum indeterminate: need to see the fu...
virtual msdata::DetailLevel suggestedDetailLevel() const
can be overridden in subclasses that know they will need a certain detail level; it must be overridde...
SpectrumList_FilterPredicate_MzPresent(chemistry::MZTolerance mzt, std::set< double > mzSet, ThresholdFilter tf, FilterMode mode)
SpectrumList_FilterPredicate_Polarity(pwiz::cv::CVID polarity)
virtual std::string describe() const
return a string describing how the predicate filters
virtual boost::logic::tribool accept(const msdata::SpectrumIdentity &spectrumIdentity) const
return values: true: accept the Spectrum false: reject the Spectrum indeterminate: need to see the fu...
virtual boost::logic::tribool accept(const msdata::Spectrum &spectrum) const
return true iff Spectrum is accepted
double getPrecursorMz(const msdata::Spectrum &spectrum) const
SpectrumList_FilterPredicate_PrecursorMzSet(const std::set< double > &precursorMzSet, chemistry::MZTolerance tolerance, FilterMode mode, TargetMode target=TargetMode_Selected)
std::set< double > precursorMzSet_
virtual std::string describe() const
return a string describing how the predicate filters
virtual boost::logic::tribool accept(const msdata::Spectrum &spectrum) const
return true iff Spectrum is accepted
virtual boost::logic::tribool accept(const msdata::SpectrumIdentity &spectrumIdentity) const
return values: true: accept the Spectrum false: reject the Spectrum indeterminate: need to see the fu...
chemistry::MZTolerance tolerance_
util::IntegerSet scanEventSet_
SpectrumList_FilterPredicate_ScanEventSet(const util::IntegerSet &scanEventSet)
virtual boost::logic::tribool accept(const msdata::Spectrum &spectrum) const
return true iff Spectrum is accepted
virtual boost::logic::tribool accept(const msdata::SpectrumIdentity &spectrumIdentity) const
return values: true: accept the Spectrum false: reject the Spectrum indeterminate: need to see the fu...
virtual std::string describe() const
return a string describing how the predicate filters
virtual boost::logic::tribool accept(const msdata::SpectrumIdentity &spectrumIdentity) const
return values: true: accept the Spectrum false: reject the Spectrum indeterminate: need to see the fu...
util::IntegerSet scanNumberSet_
virtual std::string describe() const
return a string describing how the predicate filters
SpectrumList_FilterPredicate_ScanNumberSet(const util::IntegerSet &scanNumberSet)
virtual bool done() const
return true iff done accepting spectra; this allows early termination of the iteration through the or...
virtual std::string describe() const
return a string describing how the predicate filters
SpectrumList_FilterPredicate_ScanTimeRange(double scanTimeLow, double scanTimeHigh)
virtual boost::logic::tribool accept(const msdata::SpectrumIdentity &spectrumIdentity) const
return values: true: accept the Spectrum false: reject the Spectrum indeterminate: need to see the fu...
virtual boost::logic::tribool accept(const msdata::Spectrum &spectrum) const
return true iff Spectrum is accepted
virtual boost::logic::tribool accept(const msdata::Spectrum &spectrum) const
return true iff Spectrum is accepted
virtual boost::logic::tribool accept(const msdata::SpectrumIdentity &spectrumIdentity) const
return values: true: accept the Spectrum false: reject the Spectrum indeterminate: need to see the fu...
SpectrumList_FilterPredicate_ThermoScanFilter(const std::string &matchString, bool matchExact, bool inverse)
virtual std::string describe() const
return a string describing how the predicate filters
Inheritable pass-through implementation for wrapping a SpectrumList.
a virtual container of integers, accessible via an iterator interface, stored as union of intervals
handles registration of IterationListeners and broadcast of update messages
PWIZ_API_DECL std::ostream & operator<<(std::ostream &os, PepxmlRecordReader &prr)
PWIZ_API_DECL std::istream & operator>>(std::istream &is, SpectrumList_Filter::Predicate::FilterMode &mode)
boost::shared_ptr< SpectrumList > SpectrumListPtr
boost::shared_ptr< Spectrum > SpectrumPtr
client-implemented filter predicate – called during construction of SpectrumList_Filter to create the...
virtual bool done() const
return true iff done accepting spectra; this allows early termination of the iteration through the or...
virtual std::string describe() const =0
return a string describing how the predicate filters
FilterMode
controls whether spectra that pass the predicate are included or excluded from the result
virtual msdata::DetailLevel suggestedDetailLevel() const
can be overridden in subclasses that know they will need a certain detail level; it must be overridde...
virtual boost::logic::tribool accept(const msdata::Spectrum &spectrum) const
return true iff Spectrum is accepted
virtual boost::logic::tribool accept(const msdata::SpectrumIdentity &spectrumIdentity) const =0
return values: true: accept the Spectrum false: reject the Spectrum indeterminate: need to see the fu...
struct for expressing m/z tolerance in either amu or ppm
The structure that captures the generation of a peak list (including the underlying acquisitions)
Identifying information for a spectrum.