15 #ifndef PndMQFileSinkBursts_H_ 16 #define PndMQFileSinkBursts_H_ 23 #include "TClonesArray.h" 28 #include "TObjString.h" 30 #include "FairMQDevice.h" 31 #include "FairMQLogger.h" 32 #include "FairParGenericSet.h" 33 #include "FairGeoParSet.h" 42 #include "baseMQtools.h" 47 #include <boost/thread.hpp> 48 #include <boost/bind.hpp> 49 #include <boost/serialization/access.hpp> 50 #include <boost/archive/text_iarchive.hpp> 51 #include <boost/archive/binary_iarchive.hpp> 52 #include <boost/serialization/vector.hpp> 53 #include <boost/serialization/unique_ptr.hpp> 66 : fOutFile(nullptr), fTree(nullptr), fOutput(nullptr), fHitVector(), fHasBoostSerialization(false), fOutputFileName(outputFileName), fBranchNameList(0), fCurrentRunId(0)
68 gSystem->ResetSignal(kSigInterrupt);
69 gSystem->ResetSignal(kSigTermination);
72 using namespace baseMQ::tools::resolve;
74 if (is_same<boost::archive::binary_iarchive, boost::archive::binary_iarchive>::value || is_same<boost::archive::binary_iarchive, boost::archive::text_iarchive>::value) {
75 if (has_BoostSerialization<FairTimeStamp,
void(boost::archive::binary_iarchive &,
const unsigned int)>::value == 1) {
76 fHasBoostSerialization =
true;
80 fGeoPar =
new FairGeoParSet(
"FairGeoParSet");
81 fParCList =
new TList();
82 fParCList->Add(fGeoPar);
85 fParCList->Add(fDigiPar);
88 fParCList->Add(fTotPar);
91 fParCList->Add(fSensorPar);
99 if (fHitVector.size() > 0) {
104 virtual void SetFileName(std::string fileName) { fOutputFileName = fileName; }
122 void UpdateParameters();
123 FairParGenericSet *UpdateParameter(FairParGenericSet *thisPar);
124 static void CustomCleanup(
void *data,
void *hint);
126 template <
class Archive>
139 TClonesArray *fOutput;
140 TList *fBranchNameList;
141 std::string fOutputFileName;
146 FairGeoParSet *fGeoPar;
151 #ifndef __CINT__ // for BOOST serialization 152 friend class boost::serialization::access;
153 vector<FairTimeStamp *> fHitVector;
154 bool fHasBoostSerialization;
155 #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.