PandaRoot
PndMQSorterMerger.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 PndMQSorterMerger_H_
28 #define PndMQSorterMerger_H_
29 
30 #include "FairMQDevice.h"
31 
32 #include "PndSdsDigiTopix4.h"
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 PndMQSorterMerger : public FairMQDevice {
40  public:
42  virtual ~PndMQSorterMerger();
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();
53  std::vector<std::vector<PndSdsDigiTopix4>> fData;
54  std::vector<PndSdsDigiTopix4> fOutputData;
55  std::vector<PndSdsDigiTopix4> fInputData;
56 
57 #ifndef __CINT__ // for BOOST serialization
60 #endif // for BOOST serialization
61  std::vector<PndSdsDigiTopix4> fTopixData;
62  std::vector<PndSdsDigiTopix4> fCurrentOutput;
63  std::vector<PndSdsDigiTopix4> fNextOutput;
64  std::vector<bool> fRunningStatus;
65 };
66 
67 #endif /* PndMQSorterMerger_H_ */
std::vector< PndSdsDigiTopix4 > fInputData
std::vector< PndSdsDigiTopix4 > fOutputData
friend class boost::serialization::access
std::vector< PndSdsDigiTopix4 > fNextOutput
std::vector< std::vector< PndSdsDigiTopix4 > > fData
virtual ~PndMQSorterMerger()
void serialize(Archive &ar, const unsigned int version)
std::vector< PndSdsDigiTopix4 > fTopixData
std::vector< bool > fRunningStatus
virtual void Run()
std::vector< PndSdsDigiTopix4 > fCurrentOutput