15 #ifndef PndMQFileSinkHits_H_ 
   16 #define PndMQFileSinkHits_H_ 
   23 #include "TClonesArray.h" 
   28 #include "TObjString.h" 
   30 #include "FairMQDevice.h" 
   31 #include "FairMQLogger.h" 
   35 #include "baseMQtools.h" 
   40 #include <boost/thread.hpp> 
   41 #include <boost/bind.hpp> 
   42 #include <boost/serialization/access.hpp> 
   43 #include <boost/archive/text_iarchive.hpp> 
   44 #include <boost/archive/binary_iarchive.hpp> 
   45 #include <boost/serialization/vector.hpp> 
   63         , fHasBoostSerialization(false)
 
   64                 , fOutputFileName(outputFileName)
 
   67         gSystem->ResetSignal(kSigInterrupt);
 
   68         gSystem->ResetSignal(kSigTermination);
 
   71         using namespace baseMQ::tools::resolve;
 
   73         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<
PndSdsHit, 
void(boost::archive::binary_iarchive&, 
const unsigned int)>::value == 1)
 
   77                 fHasBoostSerialization = 
true;
 
   84         fBranchNameList->Write(
"BranchList", TObject::kSingleKey);
 
   87         if (fHitVector.size() > 0)
 
   95         fOutputFileName = fileName;
 
  100         fOutput = 
new TClonesArray(
"PndSdsHit");
 
  102         std::stringstream ss;
 
  104         ss << fOutputFileName.c_str();
 
  107         fOutFile = 
new TFile(ss.str().c_str(), 
"recreate");
 
  108         fTree = 
new TTree(
"pndsim", 
"Test output");
 
  109         fTree->Branch(
"Output", 
"TClonesArray", &fOutput, 64000, 99);
 
  110         fBranchNameList = 
new TList();
 
  111         fBranchNameList->AddLast(
new TObjString(
"Output"));
 
  114     template <
class Archive>
 
  130 #ifndef __CINT__ // for BOOST serialization 
  131     friend class boost::serialization::access;
 
  134 #endif // for BOOST serialization 
PndMQFileSinkHits(std::string outputFileName="FilesSinkHits.root")
virtual void SetFileName(std::string fileName)
std::string fOutputFileName
virtual ~PndMQFileSinkHits()
vector< vector< PndSdsHit > > fHitVector
virtual void InitOutputFile(TString defaultId="100")
bool fHasBoostSerialization
void serialize(Archive &ar, const unsigned int version)