15 #ifndef PndMQFileSink_H_
16 #define PndMQFileSink_H_
23 #include "TClonesArray.h"
28 #include "FairMQDevice.h"
29 #include "FairMQLogger.h"
33 #include "baseMQtools.h"
38 #include <boost/thread.hpp>
39 #include <boost/bind.hpp>
40 #include <boost/serialization/access.hpp>
41 #include <boost/archive/text_iarchive.hpp>
42 #include <boost/archive/binary_iarchive.hpp>
43 #include <boost/serialization/vector.hpp>
61 , fHasBoostSerialization(false)
63 gSystem->ResetSignal(kSigInterrupt);
64 gSystem->ResetSignal(kSigTermination);
67 using namespace baseMQ::tools::resolve;
69 if (is_same<boost::archive::binary_iarchive, boost::archive::binary_iarchive>::value || is_same<boost::archive::binary_iarchive, boost::archive::text_iarchive>::value)
71 if (has_BoostSerialization<
PndSdsDigiTopix4,
void(boost::archive::binary_iarchive&,
const unsigned int)>::value == 1)
73 fHasBoostSerialization =
true;
82 if (fHitVector.size() > 0)
90 fOutput =
new TClonesArray(
"PndSdsDigiTopix4");
92 fOutFile =
new TFile(
"Filesink1.root",
"recreate");
93 fTree =
new TTree(
"MQOut",
"Test output");
94 fTree->Branch(
"Output",
"TClonesArray", &fOutput, 64000, 99);
97 template <
class Archive>
98 void serialize(Archive& ar,
const unsigned int version)
111 #ifndef __CINT__ // for BOOST serialization
112 friend class boost::serialization::access;
115 #endif // for BOOST serialization
Data class to store the digi output of a pixel module.
bool fHasBoostSerialization
vector< PndSdsDigiTopix4 > fHitVector
virtual void InitOutputFile(TString defaultId="100")
void serialize(Archive &ar, const unsigned int version)