Hash function for OpenMS::SpectrumSettings.
Hashes all fields used in operator==:
- MetaInfoInterface (via getKeys/getMetaValue)
- type_ (SpectrumType enum)
- native_id_ (String)
- comment_ (String)
- instrument_settings_ (InstrumentSettings - hashes scan_mode, zoom_scan, polarity, scan_windows)
- acquisition_info_ (AcquisitionInfo - hashes method_of_combination and acquisitions)
- source_file_ (SourceFile - hashes name, path, file_size, file_type, checksum, native_id_type)
- precursors_ (vector<Precursor> - hashes each precursor's key fields)
- products_ (vector<Product> - uses std::hash<Product>)
- data_processing_ (vector<DataProcessingPtr> - hashes dereferenced contents)
- Note
- This hash is consistent with operator==. Since operator== compares all fields including MetaInfoInterface and complex nested types, this hash includes representative fields from each. For nested types without their own std::hash, we hash their primary identifying fields.