PandaRoot
PndMQFileSinkHits Class Reference

#include <PndMQFileSinkHits.h>

Inheritance diagram for PndMQFileSinkHits:

Public Member Functions

 PndMQFileSinkHits (std::string outputFileName="FilesSinkHits.root")
 
virtual ~PndMQFileSinkHits ()
 
virtual void SetFileName (std::string fileName)
 
virtual void InitOutputFile (TString defaultId="100")
 
template<class Archive >
void serialize (Archive &ar, const unsigned int version)
 

Protected Member Functions

virtual void Run ()
 

Friends

class boost::serialization::access
 

Detailed Description

Definition at line 55 of file PndMQFileSinkHits.h.

Constructor & Destructor Documentation

◆ PndMQFileSinkHits()

PndMQFileSinkHits::PndMQFileSinkHits ( std::string  outputFileName = "FilesSinkHits.root")
inline

Definition at line 57 of file PndMQFileSinkHits.h.

58  : fOutFile(nullptr), fTree(nullptr), fOutput(nullptr), fHitVector(), fHasBoostSerialization(false), fOutputFileName(outputFileName), fBranchNameList(0)
59  {
60  gSystem->ResetSignal(kSigInterrupt);
61  gSystem->ResetSignal(kSigTermination);
62 
63  // Check if boost serialization is available if it is chosen
64  using namespace baseMQ::tools::resolve;
65  // coverity[pointless_expression]: suppress coverity warnings on apparant if(const).
66  if (is_same<boost::archive::binary_iarchive, boost::archive::binary_iarchive>::value || is_same<boost::archive::binary_iarchive, boost::archive::text_iarchive>::value) {
67  if (has_BoostSerialization<PndSdsHit, void(boost::archive::binary_iarchive &, const unsigned int)>::value == 1) {
68  fHasBoostSerialization = true;
69  }
70  }
71  }

◆ ~PndMQFileSinkHits()

virtual PndMQFileSinkHits::~PndMQFileSinkHits ( )
inlinevirtual

Definition at line 73 of file PndMQFileSinkHits.h.

74  {
75  fBranchNameList->Write("BranchList", TObject::kSingleKey);
76  // fTree->Write();
77  // fOutFile->Close();
78  if (fHitVector.size() > 0) {
79  fHitVector.clear();
80  }
81  }

Member Function Documentation

◆ InitOutputFile()

virtual void PndMQFileSinkHits::InitOutputFile ( TString  defaultId = "100")
inlinevirtual

Definition at line 85 of file PndMQFileSinkHits.h.

86  {
87  fOutput = new TClonesArray("PndSdsHit");
88 
89  std::stringstream ss;
90  // ss << "/Volumes/RAMDisk/";
91  ss << fOutputFileName.c_str();
92 
93  fOutFile = new TFile(ss.str().c_str(), "recreate");
94  fTree = new TTree("pndsim", "Test output");
95  fTree->Branch("Output", "TClonesArray", &fOutput, 64000, 99);
96  fBranchNameList = new TList();
97  fBranchNameList->AddLast(new TObjString("Output"));
98  }

◆ Run()

virtual void PndMQFileSinkHits::Run ( )
protectedvirtual

◆ serialize()

template<class Archive >
void PndMQFileSinkHits::serialize ( Archive &  ar,
const unsigned int  version 
)
inline

Definition at line 101 of file PndMQFileSinkHits.h.

102  {
103  ar &fHitVector;
104  }

◆ SetFileName()

virtual void PndMQFileSinkHits::SetFileName ( std::string  fileName)
inlinevirtual

Definition at line 83 of file PndMQFileSinkHits.h.

83 { fOutputFileName = fileName; }

Friends And Related Function Documentation

◆ boost::serialization::access

friend class boost::serialization::access
friend

Definition at line 117 of file PndMQFileSinkHits.h.


The documentation for this class was generated from the following file: