| 92 | |
| 93 | template<class T> |
| 94 | inline void fillDataArrayInt(const Internal::MzMLHandlerHelper::BinaryData& data, T& spectrum) |
| 95 | { |
| 96 | //create new array |
| 97 | spectrum.getIntegerDataArrays().resize(spectrum.getIntegerDataArrays().size() + 1); |
| 98 | //reserve space in the array |
| 99 | spectrum.getIntegerDataArrays().back().reserve(data.size); |
| 100 | //copy meta info into MetaInfoDescription |
| 101 | spectrum.getIntegerDataArrays().back().MetaInfoDescription::operator=(data.meta); |
| 102 | |
| 103 | if (data.precision == Internal::MzMLHandlerHelper::BinaryData::PRE_64) |
| 104 | { |
| 105 | for (Size n = 0; n < data.ints_64.size(); n++) |
| 106 | { |
| 107 | double value = data.ints_64[n]; |
| 108 | spectrum.getIntegerDataArrays().back().push_back(value); |
| 109 | } |
| 110 | } |
| 111 | else |
| 112 | { |
| 113 | for (Size n = 0; n < data.ints_32.size(); n++) |
| 114 | { |
| 115 | double value = data.ints_32[n]; |
| 116 | spectrum.getIntegerDataArrays().back().push_back(value); |
| 117 | } |
| 118 | } |
| 119 | } |
| 120 | |
| 121 | template<class T> |
| 122 | inline void fillDataArrayString(const Internal::MzMLHandlerHelper::BinaryData& data, T& spectrum) |