PandaRoot
PndMQMerger.h
Go to the documentation of this file.
1 //****************************************************************************
2 //* This file is part of PandaRoot. *
3 //* *
4 //* PandaRoot is distributed under the terms of the *
5 //* GNU General Public License (GPL) version 3, *
6 //* copied verbatim in the file "LICENSE". *
7 //* *
8 //* Copyright (C) 2006 - 2024 FAIR GmbH and copyright holders of PandaRoot *
9 //* The copyright holders are listed in the file "COPYRIGHTHOLDERS". *
10 //* The authors are listed in the file "AUTHORS". *
11 //****************************************************************************
12 
13 /********************************************************************************
14  * Copyright (C) 2014 GSI Helmholtzzentrum fuer Schwerionenforschung GmbH *
15  * *
16  * This software is distributed under the terms of the *
17  * GNU Lesser General Public Licence version 3 (LGPL) version 3, *
18  * copied verbatim in the file "LICENSE" *
19  ********************************************************************************/
27 #ifndef PndMQMerger_H_
28 #define PndMQMerger_H_
29 
30 #include "FairMQDevice.h"
31 
33 
34 #include <boost/serialization/access.hpp>
35 #include <boost/archive/text_iarchive.hpp>
36 #include <boost/archive/binary_iarchive.hpp>
37 #include <boost/serialization/vector.hpp>
38 
39 class PndMQMerger : public FairMQDevice {
40  public:
41  PndMQMerger();
42  virtual ~PndMQMerger();
43 
44  template <class Archive>
45  void serialize(Archive &ar, const unsigned int version)
46  {
47  ar &fInputData;
48  ar &fOutputData;
49  }
50 
51  protected:
52  virtual void Run();
55  std::map<int, std::map<std::string, BurstData>> fInputMap; //< map <BurstID, map<BranchName, Data> >
56 
57  virtual void ProcessData(std::map<std::string, BurstData> &dataToProcess) = 0;
58 
59 #ifndef __CINT__ // for BOOST serialization
62 #endif // for BOOST serialization
63 
64  std::vector<bool> fRunningStatus;
65 };
66 
67 #endif /* PndMQMerger_H_ */
BurstData * fOutputData
Definition: PndMQMerger.h:53
BurstData fInputData
Definition: PndMQMerger.h:54
friend class boost::serialization::access
Definition: PndMQMerger.h:60
bool fHasBoostSerialization
Definition: PndMQMerger.h:61
std::map< int, std::map< std::string, BurstData > > fInputMap
Definition: PndMQMerger.h:55
virtual void Run()
virtual void ProcessData(std::map< std::string, BurstData > &dataToProcess)=0
std::vector< bool > fRunningStatus
Definition: PndMQMerger.h:64
virtual ~PndMQMerger()
void serialize(Archive &ar, const unsigned int version)
Definition: PndMQMerger.h:45