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 66 of file PndMQFileSamplerHits.h.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
Enumerator
InputFile 
Last 

Definition at line 69 of file PndMQFileSamplerHits.h.

Constructor & Destructor Documentation

◆ PndMQFileSamplerHits()

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

Definition at line 71 of file PndMQFileSamplerHits.h.

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

◆ ~PndMQFileSamplerHits()

virtual PndMQFileSamplerHits::~PndMQFileSamplerHits ( )
inlinevirtual

Definition at line 87 of file PndMQFileSamplerHits.h.

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

Member Function Documentation

◆ GetProperty()

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

Definition at line 122 of file PndMQFileSamplerHits.h.

123  {
124  switch (key) {
125  case InputFile: return fInputFileName;
126  default: return FairMQDevice::GetProperty(key, default_);
127  }
128  }

◆ InitInputFile()

virtual void PndMQFileSamplerHits::InitInputFile ( )
inlinevirtual

Definition at line 99 of file PndMQFileSamplerHits.h.

100  {
101  fInput = new TClonesArray("PndSdsHit");
102 
103  fInFile = new TFile(fInputFileName.c_str(), "read");
104  fTree = (TTree *)fInFile->Get("pndsim");
105  fTree->SetBranchAddress("Output", &fInput);
106  }

◆ Run()

virtual void PndMQFileSamplerHits::Run ( )
protectedvirtual

◆ serialize()

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

Definition at line 109 of file PndMQFileSamplerHits.h.

110  {
111  ar &fHitVector;
112  }

◆ SetFileName()

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

Definition at line 97 of file PndMQFileSamplerHits.h.

97 { fInputFileName = fileName; }

◆ SetProperty()

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

Definition at line 114 of file PndMQFileSamplerHits.h.

115  {
116  switch (key) {
117  case InputFile: fInputFileName = value; break;
118  default: FairMQDevice::SetProperty(key, value); break;
119  }
120  }

Friends And Related Function Documentation

◆ boost::serialization::access

friend class boost::serialization::access
friend

Definition at line 141 of file PndMQFileSamplerHits.h.


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