14 #ifndef PNDMQSDSHITLOADER_H 15 #define PNDMQSDSHITLOADER_H 18 #include <type_traits> 20 #include <boost/timer/timer.hpp> 21 #include <boost/archive/text_oarchive.hpp> 22 #include <boost/archive/binary_oarchive.hpp> 23 #include <boost/serialization/vector.hpp> 29 #include "FairMQSamplerTask.h" 30 #include "FairMQLogger.h" 32 #include "baseMQtools.h" 38 PndMQSdsHitLoader() : FairMQSamplerTask(
"Load class PndSdsHit"), fDigiVector(), fHasBoostSerialization(false)
40 using namespace baseMQ::tools::resolve;
42 if (is_same<boost::archive::binary_oarchive, boost::archive::binary_oarchive>::value || is_same<boost::archive::binary_oarchive, boost::archive::text_oarchive>::value) {
43 if (has_BoostSerialization<
PndSdsHit,
void(boost::archive::binary_oarchive &,
const unsigned int)>::value == 1) {
44 fHasBoostSerialization =
true;
51 if (fDigiVector.size() > 0) {
56 virtual void Exec(Option_t *opt);
58 template <
class Archive>
59 void serialize(Archive &ar,
const unsigned int version)
65 friend class boost::serialization::access;
66 vector<PndSdsHit> fDigiVector;
67 bool fHasBoostSerialization;
void serialize(Archive &ar, const unsigned int version)
virtual ~PndMQSdsHitLoader()