| 812 | } |
| 813 | |
| 814 | void FileHandler::storeExperiment(const String& filename, const PeakMap& exp, ProgressLogger::LogType log) |
| 815 | { |
| 816 | //load right file |
| 817 | switch (getTypeByFileName(filename)) |
| 818 | { |
| 819 | case FileTypes::DTA2D: |
| 820 | { |
| 821 | DTA2DFile f; |
| 822 | f.getOptions() = options_; |
| 823 | f.setLogType(log); |
| 824 | f.store(filename, exp); |
| 825 | } |
| 826 | break; |
| 827 | |
| 828 | case FileTypes::MZXML: |
| 829 | { |
| 830 | MzXMLFile f; |
| 831 | f.getOptions() = options_; |
| 832 | f.setLogType(log); |
| 833 | if (!exp.getChromatograms().empty()) |
| 834 | { |
| 835 | PeakMap exp2 = exp; |
| 836 | ChromatogramTools().convertChromatogramsToSpectra<PeakMap >(exp2); |
| 837 | f.store(filename, exp2); |
| 838 | } |
| 839 | else |
| 840 | { |
| 841 | f.store(filename, exp); |
| 842 | } |
| 843 | } |
| 844 | break; |
| 845 | |
| 846 | case FileTypes::MZDATA: |
| 847 | { |
| 848 | MzDataFile f; |
| 849 | f.getOptions() = options_; |
| 850 | f.setLogType(log); |
| 851 | if (!exp.getChromatograms().empty()) |
| 852 | { |
| 853 | PeakMap exp2 = exp; |
| 854 | ChromatogramTools().convertChromatogramsToSpectra<PeakMap >(exp2); |
| 855 | f.store(filename, exp2); |
| 856 | } |
| 857 | else |
| 858 | { |
| 859 | f.store(filename, exp); |
| 860 | } |
| 861 | } |
| 862 | break; |
| 863 | |
| 864 | default: |
| 865 | { |
| 866 | MzMLFile f; |
| 867 | f.getOptions() = options_; |
| 868 | f.setLogType(log); |
| 869 | f.store(filename, exp); |
| 870 | } |
| 871 | break; |