FairRoot/PandaRoot
PndMapSorterTpl.h
Go to the documentation of this file.
1 /********************************************************************************
2  * Copyright (C) 2014 GSI Helmholtzzentrum fuer Schwerionenforschung GmbH *
3  * *
4  * This software is distributed under the terms of the *
5  * GNU Lesser General Public Licence version 3 (LGPL) version 3, *
6  * copied verbatim in the file "LICENSE" *
7  ********************************************************************************/
8 /*
9  * PndMapSorterTpl.h
10  *
11  * Created on: Jul 15, 2010
12  * Author: stockman
13  */
14 
15 #ifndef PndMapSorterTpl_H_
16 #define PndMapSorterTpl_H_
17 
18 
19 //#include <iosfwd> // for ostream
20 //#include "Rtypes.h" // for PndMapSorterTpl::Class, etc
21 
22 #include <iostream> // for operator<<, ostream, etc
23 #include <map> // for multimap
24 #include <utility> // for pair
25 #include <vector> // for vector
26 
27 #include "FairTimeStamp.h"
28 #include "PndSdsDigiTopix4.h"
29 
30 template< typename TData >
32 {
33  public:
34  PndMapSorterTpl(double timeOffset = 1000000)
36  }
37 
38  virtual ~PndMapSorterTpl() {};
39 
40  // virtual FairTimeStamp* CreateElement(FairTimeStamp* data);
41 
42  virtual void AddElement(TData digi, double timestamp);
43  virtual void WriteOutAll();
44  virtual void WriteOutData(double time);
45  virtual std::vector<TData> GetOutputData() {
46  return fOutputData;
47  }
48 
49  virtual void DeleteOutputData() {
50  fOutputData.clear();
51  }
52 
53  virtual void print(std::ostream& out = std::cout) {
54  }
55 
56  virtual void PrintMap(std::ostream& out = std::cout){
57  int i = 0;
58  out << "PndMapSorter Print Map: " << std::endl;
59  for (auto itr : fMapBuffer){
60  out << i++ << " : " << itr.first << std::endl;
61  }
62  out << std::endl;
63  }
64 
65 
66  private:
67  std::multimap<double, TData> fMapBuffer;
68  std::vector<TData> fOutputData;
69  double fOldTS;
70  double fTimeOffset;
71  int fVerbose;
72 
73 };
74 
75 #include "PndMapSorterTpl.tpl"
76 
77 #endif /* PndMapSorterTpl_H_ */
virtual void WriteOutData(double time)
TClonesArray * digi
PndTimeOffsetFinderTask * timeOffset
Int_t i
Definition: run_full.C:25
PndMapSorterTpl(double timeOffset=1000000)
virtual std::vector< TData > GetOutputData()
std::multimap< double, TData > fMapBuffer
virtual void PrintMap(std::ostream &out=std::cout)
TFile * out
Definition: reco_muo.C:20
virtual void AddElement(TData digi, double timestamp)
std::vector< TData > fOutputData
virtual void DeleteOutputData()
virtual ~PndMapSorterTpl()
virtual void print(std::ostream &out=std::cout)
virtual void WriteOutAll()