29 #include "../../../msrun/xiccoord/xiccoordtims.h"
30 #include "../../../exception/exceptioninterrupted.h"
50 if(xic_coord_list.size() == 0)
53 std::vector<XicCoordTims *> xic_coord_tims_list;
54 xic_coord_tims_list.reserve(xic_coord_list.size());
60 if(p_xic_coord_tims ==
nullptr)
65 xic_coord_tims_list.push_back(p_xic_coord_tims);
69 std::sort(xic_coord_tims_list.begin(),
70 xic_coord_tims_list.end(),
72 return pa->rtTarget < pb->rtTarget;
76 std::vector<std::size_t> tims_frameid_list =
77 mp_timsData->getTimsMS1FrameIdRange(
78 xic_coord_tims_list[0]->rtTarget - m_retentionTimeAroundTarget,
79 xic_coord_tims_list.back()->rtTarget + m_retentionTimeAroundTarget);
81 monitor.
setStatus(QObject::tr(
"extracting %1 XICs on %2 Tims frames")
82 .arg(xic_coord_list.size())
83 .arg(tims_frameid_list.size()));
86 qDebug() <<
" tims_frameid_list.size()=" << tims_frameid_list.size();
87 qDebug() <<
" rt begin=" << xic_coord_tims_list[0]->rtTarget;
88 qDebug() <<
" rt end=" << xic_coord_tims_list.back()->rtTarget;
89 for(std::size_t frame_id : tims_frameid_list)
91 std::vector<XicCoordTims *>::iterator itXicListbegin =
92 xic_coord_tims_list.begin();
93 std::vector<XicCoordTims *>::iterator itXicListend =
94 xic_coord_tims_list.end();
98 double rtframe = frame_sptr.get()->getTime();
101 double rtbeginframe = rtframe - m_retentionTimeAroundTarget;
102 double rtendframe = rtframe + m_retentionTimeAroundTarget;
107 qDebug() << rtbeginframe;
108 while((itXicListbegin != itXicListend) &&
109 ((*itXicListbegin)->rtTarget < rtbeginframe))
114 itXicListend = itXicListbegin;
115 while((itXicListend != xic_coord_tims_list.end()) &&
116 ((*itXicListend)->rtTarget < rtendframe))
120 frame_sptr.get()->extractTimsXicListInRtRange(
121 itXicListbegin, itXicListend, m_xicExtractMethod);
123 qDebug() <<
"" << frame_sptr.get()->getId();
128 QObject::tr(
"Xic extraction process interrupted"));
virtual void setStatus(const QString &status)=0
current status of the process
virtual void setTotalSteps(std::size_t total_number_of_steps)
use it if the number of steps is known in an algorithm the total number of steps is usefull to report...
virtual bool shouldIstop()=0
should the procces be stopped ? If true, then cancel process Use this function at strategic point of ...
virtual void count()=0
count steps report when a step is computed in an algorithm
tries to keep as much as possible monoisotopes, removing any possible C13 peaks and changes multichar...
std::shared_ptr< MsRunReader > MsRunReaderSPtr
std::shared_ptr< const TimsFrame > TimsFrameCstSPtr
std::shared_ptr< XicCoord > XicCoordSPtr
coordinates of the XIC to extract and the resulting XIC after extraction