15 #ifndef PndMQBurstProcessor_H_
16 #define PndMQBurstProcessor_H_
21 #include "TObjString.h"
23 #include "FairMQDevice.h"
24 #include "FairMQLogger.h"
25 #include "FairParGenericSet.h"
26 #include "FairGeoParSet.h"
31 #include "baseMQtools.h"
36 #include <boost/thread.hpp>
37 #include <boost/bind.hpp>
38 #include <boost/serialization/access.hpp>
39 #include <boost/archive/text_iarchive.hpp>
40 #include <boost/archive/binary_iarchive.hpp>
41 #include <boost/archive/text_oarchive.hpp>
42 #include <boost/archive/binary_oarchive.hpp>
43 #include <boost/serialization/vector.hpp>
44 #include <boost/serialization/unique_ptr.hpp>
54 fHasBoostSerialization(false), fCurrentRunId(0), fNewRunId(0)
56 gSystem->ResetSignal(kSigInterrupt);
57 gSystem->ResetSignal(kSigTermination);
60 using namespace baseMQ::tools::resolve;
62 if (is_same<boost::archive::binary_iarchive, boost::archive::binary_iarchive>::value || is_same<boost::archive::binary_iarchive, boost::archive::text_iarchive>::value)
64 if (has_BoostSerialization<FairTimeStamp,
void(boost::archive::binary_iarchive&,
const unsigned int)>::value == 1)
66 fHasBoostSerialization =
true;
79 virtual void UpdateParameters();
80 virtual FairParGenericSet* UpdateParameter(FairParGenericSet* thisPar);
82 static void CustomCleanupParameters(
void *data,
void *hint);
85 virtual void ProcessData() = 0;
88 template <
class Archive>
89 void serialize(Archive& ar,
const unsigned int version)
108 #ifndef __CINT__ // for BOOST serialization
109 friend class boost::serialization::access;
111 #endif // for BOOST serialization
virtual void SetParameters()
bool fHasBoostSerialization
void serialize(Archive &ar, const unsigned int version)
void free_string(void *data, void *hint)
virtual ~PndMQBurstProcessor()