public void AddQ1FilterValues(IEnumerable <double> filterValues, Func <double, double> getFilterWindow) { AddFilterValues(MergeFilters(Ms1ProductFilters, filterValues).Distinct(), getFilterWindow, filters => Ms1ProductFilters = filters); // Make complete copies for SIM scans. Some day these may be different. SimProductFilters = Ms1ProductFilters.Select(f => new SpectrumProductFilter(f.TargetMz, f.FilterWidth)).ToArray(); }
public int AddQ1FilterValues(IEnumerable <SignedMz> filterValues, Func <double, double> getFilterWindow) { int filterCount = AddFilterValues(MergeFilters(Ms1ProductFilters, filterValues.Select(mz => new SpectrumFilterValues(mz, 0))).Distinct(), getFilterWindow, filters => Ms1ProductFilters = filters); // Make complete copies for SIM scans. Some day these may be different. SimProductFilters = Ms1ProductFilters.Select(f => new SpectrumProductFilter(f.TargetMz, f.FilterWidth, 0)).ToArray(); return(filterCount * 2); }
public bool MatchesDdaPrecursor(SignedMz precursorMz) { return(Ms1ProductFilters.Any(filter => 0 == filter.TargetMz.CompareTolerant(precursorMz, filter.FilterWidth))); }