27 #ifndef PndMQFileSinkBursts_H_ 28 #define PndMQFileSinkBursts_H_ 35 #include "TClonesArray.h" 40 #include "TObjString.h" 42 #include "FairMQDevice.h" 43 #include "FairMQLogger.h" 44 #include "FairParGenericSet.h" 45 #include "FairGeoParSet.h" 54 #include "baseMQtools.h" 59 #include <boost/thread.hpp> 60 #include <boost/bind.hpp> 61 #include <boost/serialization/access.hpp> 62 #include <boost/archive/text_iarchive.hpp> 63 #include <boost/archive/binary_iarchive.hpp> 64 #include <boost/serialization/vector.hpp> 65 #include <boost/serialization/unique_ptr.hpp> 78 : fOutFile(nullptr), fTree(nullptr), fOutput(nullptr), fHitVector(), fHasBoostSerialization(false), fOutputFileName(outputFileName), fBranchNameList(0), fCurrentRunId(0)
80 gSystem->ResetSignal(kSigInterrupt);
81 gSystem->ResetSignal(kSigTermination);
84 using namespace baseMQ::tools::resolve;
86 if (is_same<boost::archive::binary_iarchive, boost::archive::binary_iarchive>::value || is_same<boost::archive::binary_iarchive, boost::archive::text_iarchive>::value) {
87 if (has_BoostSerialization<FairTimeStamp,
void(boost::archive::binary_iarchive &,
const unsigned int)>::value == 1) {
88 fHasBoostSerialization =
true;
92 fGeoPar =
new FairGeoParSet(
"FairGeoParSet");
93 fParCList =
new TList();
94 fParCList->Add(fGeoPar);
97 fParCList->Add(fDigiPar);
100 fParCList->Add(fTotPar);
103 fParCList->Add(fSensorPar);
111 if (fHitVector.size() > 0) {
116 virtual void SetFileName(std::string fileName) { fOutputFileName = fileName; }
134 void UpdateParameters();
135 FairParGenericSet *UpdateParameter(FairParGenericSet *thisPar);
136 static void CustomCleanup(
void *data,
void *hint);
138 template <
class Archive>
151 TClonesArray *fOutput;
152 TList *fBranchNameList;
153 std::string fOutputFileName;
158 FairGeoParSet *fGeoPar;
163 #ifndef __CINT__ // for BOOST serialization 164 friend class boost::serialization::access;
165 vector<FairTimeStamp *> fHitVector;
166 bool fHasBoostSerialization;
167 #endif // for BOOST serialization
PndMQFileSinkBursts(std::string outputFileName="FilesSinkBursts.root")
Charge Digitization Parameter Class for SDS.
void serialize(Archive &ar, const unsigned int version)
virtual void InitOutputFile(TString defaultId="100")
virtual ~PndMQFileSinkBursts()
virtual void SetFileName(std::string fileName)
Unique match between SensorID and path in TGeoManager.
Digitization Parameter Class for SDS-Pixel part.