diff --git a/src/core/peptidematch.cpp b/src/core/peptidematch.cpp index c8e8c959e3b25ef5341877aba9b864e65a01cd9c..5761314c310df3d6906d622e75ea35b57df35153 100644 --- a/src/core/peptidematch.cpp +++ b/src/core/peptidematch.cpp @@ -23,9 +23,13 @@ #include "peptidematch.h" +std::hash<std::string> PeptideMatch::_hash_fn; + PeptideMatch::PeptideMatch(MsRun * msrunid_sp, unsigned int scan) { _msrunid_sp = msrunid_sp; _scan = scan; + + _hash_sample_scan = PeptideMatch::_hash_fn (QString("%1 %2").arg(msrunid_sp->getXmlId()).arg(_scan).toStdString()); } void PeptideMatch::updateAutomaticFilters(const AutomaticFilterParameters & automatic_filter_parameters) { @@ -42,6 +46,10 @@ void PeptideMatch::setEvalue(pappso::pappso_double evalue) { _evalue = evalue; } + +std::size_t PeptideMatch::getHashSampleScan() const { + return _hash_sample_scan; +} pappso::pappso_double PeptideMatch::getEvalue() const { return _evalue; } @@ -76,7 +84,7 @@ ValidationState PeptideMatch::getValidationState() const { return ValidationState::validAndChecked; } else if (isValid()) { return ValidationState::valid; - } + } return ValidationState::notValid; } diff --git a/src/core/peptidematch.h b/src/core/peptidematch.h index 3e20533aca855ce5042c040a0f62328bc4bd70ec..6d885f71557ef321e9054b469430d788279fb7f2 100644 --- a/src/core/peptidematch.h +++ b/src/core/peptidematch.h @@ -35,6 +35,7 @@ class PeptideMatch { public : PeptideMatch(MsRun * msrunid_sp, unsigned int scan); + std::size_t getHashSampleScan() const; void setRetentionTime(pappso::pappso_double rt); void setEvalue(pappso::pappso_double evalue); @@ -80,8 +81,10 @@ public : ValidationState getValidationState() const; private : + static std::hash<std::string> _hash_fn; MsRun * _msrunid_sp; unsigned int _scan; + size_t _hash_sample_scan; pappso::GrpPeptideSp _sp_grp_peptide; PeptideXtpSp _peptide_sp; pappso::pappso_double _rt;