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 67 of file PndMQFileSinkHits.h.

Constructor & Destructor Documentation

◆ PndMQFileSinkHits()

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

Definition at line 69 of file PndMQFileSinkHits.h.

70  : fOutFile(nullptr), fTree(nullptr), fOutput(nullptr), fHitVector(), fHasBoostSerialization(false), fOutputFileName(outputFileName), fBranchNameList(0)
71  {
72  gSystem->ResetSignal(kSigInterrupt);
73  gSystem->ResetSignal(kSigTermination);
74 
75  // Check if boost serialization is available if it is chosen
76  using namespace baseMQ::tools::resolve;
77  // coverity[pointless_expression]: suppress coverity warnings on apparant if(const).
78  if (is_same<boost::archive::binary_iarchive, boost::archive::binary_iarchive>::value || is_same<boost::archive::binary_iarchive, boost::archive::text_iarchive>::value) {
79  if (has_BoostSerialization<PndSdsHit, void(boost::archive::binary_iarchive &, const unsigned int)>::value == 1) {
80  fHasBoostSerialization = true;
81  }
82  }
83  }

◆ ~PndMQFileSinkHits()

virtual PndMQFileSinkHits::~PndMQFileSinkHits ( )
inlinevirtual

Definition at line 85 of file PndMQFileSinkHits.h.

86  {
87  fBranchNameList->Write("BranchList", TObject::kSingleKey);
88  // fTree->Write();
89  // fOutFile->Close();
90  if (fHitVector.size() > 0) {
91  fHitVector.clear();
92  }
93  }

Member Function Documentation

◆ InitOutputFile()

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

Definition at line 97 of file PndMQFileSinkHits.h.

98  {
99  fOutput = new TClonesArray("PndSdsHit");
100 
101  std::stringstream ss;
102  // ss << "/Volumes/RAMDisk/";
103  ss << fOutputFileName.c_str();
104 
105  fOutFile = new TFile(ss.str().c_str(), "recreate");
106  fTree = new TTree("pndsim", "Test output");
107  fTree->Branch("Output", "TClonesArray", &fOutput, 64000, 99);
108  fBranchNameList = new TList();
109  fBranchNameList->AddLast(new TObjString("Output"));
110  }

◆ Run()

virtual void PndMQFileSinkHits::Run ( )
protectedvirtual

◆ serialize()

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

Definition at line 113 of file PndMQFileSinkHits.h.

114  {
115  ar &fHitVector;
116  }

◆ SetFileName()

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

Definition at line 95 of file PndMQFileSinkHits.h.

95 { fOutputFileName = fileName; }

Friends And Related Function Documentation

◆ boost::serialization::access

friend class boost::serialization::access
friend

Definition at line 129 of file PndMQFileSinkHits.h.


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