Skip to content
Snippets Groups Projects
Commit e9947478 authored by Administrator's avatar Administrator Committed by Florian Uhlig
Browse files

core/report: Add gFile + gDirectory protection

parent 32e7a4d7
No related branches found
No related tags found
1 merge request!279Littrack fix tfile glob point
......@@ -9,14 +9,16 @@
#include "CbmHistManager.h" // for CbmHistManager
#include <RtypesCore.h> // for UInt_t
#include <TFile.h> // for TFile
#include <TDirectory.h> // for TDirectory, gDirectory
#include <TFile.h> // for TFile, gFile
#include <TH1.h> // for TH1
#include <TH2.h> // for TH2
#include <fstream> // for string, ofstream
#include <string> // for operator+
#include <vector> // for vector, __vector_base<>::value_type
#include <assert.h> // for assert
#include <fstream> // for string, ofstream
#include <string> // for operator+
#include <vector> // for vector, __vector_base<>::value_type
using std::ofstream;
using std::string;
......@@ -38,12 +40,21 @@ void CbmSimulationReport::Create(const string& fileName,
const string& outputDir) {
assert(fHM == nullptr);
fHM = new CbmHistManager();
TFile* oldFile = gFile;
TDirectory* oldDir = gDirectory;
TFile* file = new TFile(fileName.c_str());
fHM->ReadFromFile(file);
SetOutputDir(outputDir);
CreateReports();
// delete fHM;
// delete file;
// shouldn't the file be closed ????
// file->Close();
gFile = oldFile;
gDirectory = oldDir;
}
void CbmSimulationReport::DrawH1ByPattern(const string& histNamePattern) {
......
......@@ -7,7 +7,8 @@
#include "CbmHistManager.h" // for CbmHistManager
#include <TFile.h> // for TFile
#include <TDirectory.h> // for TDirectory, gDirectory
#include <TFile.h> // for TFile, gFile
#include <cassert> // for assert
#include <fstream> // for string, ofstream, stringstream
......@@ -40,6 +41,10 @@ void CbmStudyReport::Create(const vector<string>& fileNames,
Int_t nofStudies = fileNames.size();
vector<TFile*> files(nofStudies);
fHM.resize(nofStudies);
TFile* oldFile = gFile;
TDirectory* oldDir = gDirectory;
for (Int_t i = 0; i < nofStudies; i++) {
fHM[i] = new CbmHistManager();
files[i] = new TFile(fileNames[i].c_str());
......@@ -59,6 +64,9 @@ void CbmStudyReport::Create(const vector<string>& fileNames,
// }
// fHM.clear();
// files.clear();
gFile = oldFile;
gDirectory = oldDir;
}
ClassImp(CbmStudyReport)
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment