FairRoot/PandaRoot
PndBurstContainer.cxx
Go to the documentation of this file.
1 /*
2  * PndBurstContainer.cxx
3  *
4  * Created on: 23.08.2016
5  * Author: Stockmanns
6  */
7 
8 #include "PndBurstContainer.h"
9 
10 std::vector<std::vector<FairTimeStamp*> > PndBurstContainer::ProcessData(std::vector<FairTimeStamp*> data)
11 {
12  std::vector<std::vector<FairTimeStamp*> > result;
13  for (auto dataItr : data){
14 // LOG(INFO) << dataItr->GetTimeStamp();
15  if ((dataItr->GetTimeStamp() - fCurrentThreshold)/fThreshold > 2.0)
16  continue;
17  if(IsAboveOffset(dataItr)){
18  result.push_back(*fContainer.begin());
19  fContainer.erase(fContainer.begin());
22  }
23  int pos = CalcContainerPos(dataItr);
24 // LOG(INFO) << "Pos: " << pos << " Thresh: " << fCurrentThreshold << " Offset: " << fCurrentOffset << " container.size " << fContainer.size();
25  if (pos < 0) {
26 // LOG(INFO) << "PndBurstContainer: negative Pos: TimeStamp " << dataItr->GetTimeStamp()
27 // << " fCurrenThreshold " << fCurrentThreshold << " fThreshold " << fThreshold
28 // << " fCurrentOffset " << fCurrentOffset << " fOffset " << fOffset;
29  continue;
30  }
31  if (pos > fContainer.size() - 1){
32 // LOG(INFO) << "Resize container: " << pos + 1;
33  fContainer.resize(pos + 1);
34  }
35  fContainer[pos].push_back(dataItr);
36  }
37  return result;
38 }
TVector3 pos
std::vector< std::vector< FairTimeStamp * > > ProcessData(std::vector< FairTimeStamp * > data)
bool IsAboveOffset(FairTimeStamp *val)
int CalcContainerPos(FairTimeStamp *val)
std::vector< std::vector< FairTimeStamp * > > fContainer