PandaRoot
PndMQMerger.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  ********************************************************************************/
15 #ifndef PndMQMerger_H_
16 #define PndMQMerger_H_
17 
18 #include "FairMQDevice.h"
19 
21 
22 #include <boost/serialization/access.hpp>
23 #include <boost/archive/text_iarchive.hpp>
24 #include <boost/archive/binary_iarchive.hpp>
25 #include <boost/serialization/vector.hpp>
26 
27 class PndMQMerger : public FairMQDevice {
28  public:
29  PndMQMerger();
30  virtual ~PndMQMerger();
31 
32  template <class Archive>
33  void serialize(Archive &ar, const unsigned int version)
34  {
35  ar &fInputData;
36  ar &fOutputData;
37  }
38 
39  protected:
40  virtual void Run();
43  std::map<int, std::map<std::string, BurstData>> fInputMap; //< map <BurstID, map<BranchName, Data> >
44 
45  virtual void ProcessData(std::map<std::string, BurstData> &dataToProcess) = 0;
46 
47 #ifndef __CINT__ // for BOOST serialization
50 #endif // for BOOST serialization
51 
52  std::vector<bool> fRunningStatus;
53 };
54 
55 #endif /* PndMQMerger_H_ */
BurstData * fOutputData
Definition: PndMQMerger.h:41
BurstData fInputData
Definition: PndMQMerger.h:42
friend class boost::serialization::access
Definition: PndMQMerger.h:48
bool fHasBoostSerialization
Definition: PndMQMerger.h:49
std::map< int, std::map< std::string, BurstData > > fInputMap
Definition: PndMQMerger.h:43
virtual void Run()
virtual void ProcessData(std::map< std::string, BurstData > &dataToProcess)=0
std::vector< bool > fRunningStatus
Definition: PndMQMerger.h:52
virtual ~PndMQMerger()
void serialize(Archive &ar, const unsigned int version)
Definition: PndMQMerger.h:33