PandaRoot
PndMQFileSamplerHits Class Reference

#include <PndMQFileSamplerHits.h>

Inheritance diagram for PndMQFileSamplerHits:

Public Types

enum  { InputFile = FairMQDevice::Last, Last }
 

Public Member Functions

 PndMQFileSamplerHits (std::string inputFileName="")
 
virtual ~PndMQFileSamplerHits ()
 
virtual void SetFileName (std::string fileName)
 
virtual void InitInputFile ()
 
template<class Archive >
void serialize (Archive &ar, const unsigned int version)
 
void SetProperty (const int key, const std::string &value)
 
std::string GetProperty (const int key, const std::string &default_)
 

Protected Member Functions

virtual void Run ()
 

Friends

class boost::serialization::access
 

Detailed Description

Definition at line 54 of file PndMQFileSamplerHits.h.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
Enumerator
InputFile 
Last 

Definition at line 57 of file PndMQFileSamplerHits.h.

Constructor & Destructor Documentation

◆ PndMQFileSamplerHits()

PndMQFileSamplerHits::PndMQFileSamplerHits ( std::string  inputFileName = "")
inline

Definition at line 59 of file PndMQFileSamplerHits.h.

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

◆ ~PndMQFileSamplerHits()

virtual PndMQFileSamplerHits::~PndMQFileSamplerHits ( )
inlinevirtual

Definition at line 75 of file PndMQFileSamplerHits.h.

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

Member Function Documentation

◆ GetProperty()

std::string PndMQFileSamplerHits::GetProperty ( const int  key,
const std::string &  default_ 
)
inline

Definition at line 110 of file PndMQFileSamplerHits.h.

111  {
112  switch (key) {
113  case InputFile: return fInputFileName;
114  default: return FairMQDevice::GetProperty(key, default_);
115  }
116  }

◆ InitInputFile()

virtual void PndMQFileSamplerHits::InitInputFile ( )
inlinevirtual

Definition at line 87 of file PndMQFileSamplerHits.h.

88  {
89  fInput = new TClonesArray("PndSdsHit");
90 
91  fInFile = new TFile(fInputFileName.c_str(), "read");
92  fTree = (TTree *)fInFile->Get("pndsim");
93  fTree->SetBranchAddress("Output", &fInput);
94  }

◆ Run()

virtual void PndMQFileSamplerHits::Run ( )
protectedvirtual

◆ serialize()

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

Definition at line 97 of file PndMQFileSamplerHits.h.

98  {
99  ar &fHitVector;
100  }

◆ SetFileName()

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

Definition at line 85 of file PndMQFileSamplerHits.h.

85 { fInputFileName = fileName; }

◆ SetProperty()

void PndMQFileSamplerHits::SetProperty ( const int  key,
const std::string &  value 
)
inline

Definition at line 102 of file PndMQFileSamplerHits.h.

103  {
104  switch (key) {
105  case InputFile: fInputFileName = value; break;
106  default: FairMQDevice::SetProperty(key, value); break;
107  }
108  }

Friends And Related Function Documentation

◆ boost::serialization::access

friend class boost::serialization::access
friend

Definition at line 129 of file PndMQFileSamplerHits.h.


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