35 #ifndef OPENMS_FORMAT_CACHEDMZML_H
36 #define OPENMS_FORMAT_CACHEDMZML_H
48 #define CACHED_MZML_FILE_IDENTIFIER 8093
100 void writeMetadata(
MapType exp,
String out_meta,
bool addCacheMetaValue=
false);
103 void readMemdump(
MapType& exp_reading,
String filename)
const;
109 void createMemdumpIndex(
String filename);
113 const std::vector<std::streampos>& getSpectraIndex()
const;
116 const std::vector<std::streampos>& getChromatogramIndex()
const;
133 ifs.read((
char*) &spec_size,
sizeof(spec_size));
134 ifs.read((
char*) &ms_level,
sizeof(ms_level));
135 ifs.read((
char*) &rt,
sizeof(rt));
137 if ( static_cast<int>(spec_size) < 0)
140 "Read an invalid spectrum length, something is wrong here. Aborting.",
"filestream");
143 data1->data.resize(spec_size);
144 data2->data.resize(spec_size);
148 ifs.read((
char*) &(data1->data)[0], spec_size *
sizeof(
double));
149 ifs.read((
char*) &(data2->data)[0], spec_size *
sizeof(
double));
162 ifs.read((
char*) &spec_size,
sizeof(spec_size));
164 if ( static_cast<int>(spec_size) < 0)
167 "Read an invalid chromatogram length, something is wrong here. Aborting.",
"filestream");
170 data1->data.resize(spec_size);
171 data2->data.resize(spec_size);
172 ifs.read((
char*) &(data1->data)[0], spec_size *
sizeof(
double));
173 ifs.read((
char*) &(data2->data)[0], spec_size *
sizeof(
double));
180 void readSpectrum_(Datavector& data1, Datavector& data2, std::ifstream& ifs,
int& ms_level,
double& rt)
const;
183 void readChromatogram_(Datavector& data1, Datavector& data2, std::ifstream& ifs)
const;
186 void readSpectrum_(SpectrumType& spectrum, std::ifstream& ifs)
const;
189 void readChromatogram_(ChromatogramType& chromatogram, std::ifstream& ifs)
const;
192 void writeSpectrum_(
const SpectrumType& spectrum, std::ofstream& ofs);
195 void writeChromatogram_(
const ChromatogramType& chromatogram, std::ofstream& ofs);
MSSpectrum< Peak1D > SpectrumType
Definition: CachedMzML.h:71
A more convenient string class.
Definition: String.h:57
The representation of a chromatogram.
Definition: MSChromatogram.h:52
double DatumSingleton
Definition: CachedMzML.h:75
std::vector< std::streampos > chrom_index_
Definition: CachedMzML.h:199
MSChromatogram< ChromatogramPeak > ChromatogramType
Definition: CachedMzML.h:72
MSExperiment< Peak1D > MapType
Definition: CachedMzML.h:70
boost::shared_ptr< BinaryDataArray > BinaryDataArrayPtr
Definition: openswathalgo/include/OpenMS/ANALYSIS/OPENSWATH/OPENSWATHALGO/DATAACCESS/DataStructures.h:77
std::vector< DatumSingleton > Datavector
Definition: CachedMzML.h:77
An class that uses on-disk caching to read and write spectra and chromatograms.
Definition: CachedMzML.h:62
static void readChromatogramFast(OpenSwath::BinaryDataArrayPtr data1, OpenSwath::BinaryDataArrayPtr data2, std::ifstream &ifs)
fast access to a chromatogram (a direct copy of the data into the provided arrays) ...
Definition: CachedMzML.h:158
Base class for all classes that want to report their progress.
Definition: ProgressLogger.h:55
double dbl_field_
Definition: CachedMzML.h:66
int int_field_
Definition: CachedMzML.h:65
std::vector< std::streampos > spectra_index_
Members.
Definition: CachedMzML.h:198
static void readSpectrumFast(OpenSwath::BinaryDataArrayPtr data1, OpenSwath::BinaryDataArrayPtr data2, std::ifstream &ifs, int &ms_level, double &rt)
fast access to a spectrum (a direct copy of the data into the provided arrays)
Definition: CachedMzML.h:128
Parse Error exception.
Definition: Exception.h:608