/[PAMELA software]/PamCut/MiscCuts/OBTPktNumCut/OBTPktNumCut.cpp
ViewVC logotype

Contents of /PamCut/MiscCuts/OBTPktNumCut/OBTPktNumCut.cpp

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.1.2.2 - (show annotations) (download)
Wed Nov 30 17:02:41 2011 UTC (13 years ago) by pam-fi
Branch: V8
CVS Tags: nuclei_reproc
Changes since 1.1.2.1: +7 -3 lines
Add a verbose flag.

1 /*
2 * OBTPktNumCut.cpp
3 *
4 * Created on: 18/mar/2010
5 * Author: Nicola Mori
6 */
7
8 #include "OBTPktNumCut.h"
9
10 OBTPktNumCut::OBTPktNumCut(const char *cutName, vector<pair<unsigned int, unsigned int> > &list, bool verbose) :
11 PamCut(cutName), _list(list), _verbose(verbose) {
12
13 }
14
15 OBTPktNumCut::OBTPktNumCut(const char *cutName, TString listFileName) :
16 PamCut(cutName) {
17 ifstream listFile(listFileName);
18
19 pair<unsigned int, unsigned int> buffer;
20
21 /* File layout:
22 * OBT PktNum */
23 while (listFile >> buffer.first >> buffer.second) {
24 _list.push_back(buffer);
25 }
26
27 listFile.close();
28 }
29
30 int OBTPktNumCut::Check(PamLevel2 *event) {
31
32 if (_list.size() == 0)
33 return 0; // No more couples left in the list
34
35 unsigned int OBT = event->GetOrbitalInfo()->OBT;
36 unsigned int pktNum = event->GetOrbitalInfo()->pkt_num;
37
38 vector<pair<unsigned int, unsigned int> >::iterator currPair = _list.begin();
39 while (currPair->first != OBT || currPair->second != pktNum) {
40 currPair++;
41 if (currPair > _list.end())
42 return 0; // Event not found in the list
43 }
44
45 _list.erase(currPair); // Don't search anymore for the current pair (already found)
46 if (_verbose) {
47 cout << "** " << GetName() << ": event found. OBT: " << OBT << ", pktNum: " << pktNum << endl;
48 }
49
50 return CUTOK;
51 }

  ViewVC Help
Powered by ViewVC 1.1.23