sipm-characterisation 0.1.0
SiPM characterisation for ePIC — IV/DCR/gain, laser, readout, irradiation
Loading...
Searching...
No Matches
RootIO.hh
Go to the documentation of this file.
1#ifndef _RootIO_h_
2#define _RootIO_h_
3
4#include <string>
5#include <map>
6
7class G4Step;
8class TFile;
9class TH1F;
10class TH2F;
11class TGraph;
12
13class RootIO
14{
15
16public:
17
18 static RootIO *Instance() {
19 if (!mInstance) mInstance = new RootIO();
20 return mInstance;
21 };
22
23 void setInteractiveMode(bool val) { mInteractive = val; };
24 void Open(std::string filename);
25 void Fill(G4Step *aStep);
26 void Close();
27
28 void setSensorInstanceID(int val) { mSensorInstanceID = val; };
29
30private:
31
32 RootIO();
33
34 static RootIO *mInstance;
35 bool mInteractive = false;
36 TFile *mFile = nullptr;
37 TGraph *mNIEL_neutron, *mNIEL_proton, *mNIEL_pion, *mNIEL_electron;
38 std::map<int, TH2F*> mHistoXY, mHistoEkinX, mHistoEkinX_log;
39 TH2F *mNIEL = nullptr, *mNIELX = nullptr;
40
41 int mSensorInstanceID;
42
43};
44
45#endif
Definition RootIO.hh:14
void setSensorInstanceID(int val)
Definition RootIO.hh:28
void setInteractiveMode(bool val)
Definition RootIO.hh:23
void Open(std::string filename)
Definition RootIO.cc:31
void Fill(G4Step *aStep)
Definition RootIO.cc:43
void Close()
Definition RootIO.cc:86
static RootIO * Instance()
Definition RootIO.hh:18