diff --git a/analysis/PWGHAD/hadron/CbmHadronAnalysis.cxx b/analysis/PWGHAD/hadron/CbmHadronAnalysis.cxx index b8a467a29787175dfd5ee98e03636e9e74f95f1a..16dc585bbf3c42396adb06e54696f77090457bfb 100644 --- a/analysis/PWGHAD/hadron/CbmHadronAnalysis.cxx +++ b/analysis/PWGHAD/hadron/CbmHadronAnalysis.cxx @@ -37,23 +37,24 @@ using namespace std; #include "CbmTrdPoint.h" #include "CbmVertex.h" -#include "FairMCEventHeader.h" -#include "FairMCPoint.h" -#include "FairRootManager.h" -#include "FairRunAna.h" +#include <FairMCEventHeader.h> +#include <FairMCPoint.h> +#include <FairRootFileSink.h> +#include <FairRootManager.h> +#include <FairRunAna.h> #include <Logger.h> -#include "TClonesArray.h" -#include "TFile.h" -#include "TH1.h" -#include "TH1F.h" -#include "TH2F.h" -#include "TH3.h" -#include "TH3F.h" -#include "TMath.h" -#include "TROOT.h" -#include "TRandom.h" -#include "TString.h" +#include <TClonesArray.h> +#include <TFile.h> +#include <TH1.h> +#include <TH1F.h> +#include <TH2F.h> +#include <TH3.h> +#include <TH3F.h> +#include <TMath.h> +#include <TROOT.h> +#include <TRandom.h> +#include <TString.h> CbmDigiManager* fDigiMan; // TOF Input Digis TClonesArray* fEventsColl; // CBMEvents (time based) @@ -491,8 +492,11 @@ void CbmHadronAnalysis::CreateHistogramms() { // Create histogramms // gROOT->cd(); - FairRunAna* fRun = FairRunAna::Instance(); - fHist = fRun->GetOutputFile(); + auto sink = FairRunAna::Instance()->GetSink(); + assert(sink->GetSinkType() == kFILESINK); + auto rootFileSink = static_cast<FairRootFileSink*>(sink); + fHist = rootFileSink->GetRootFile(); + TString hname = fHist->GetName(); hname.Insert(hname.Length() - 5, ".HadAna"); fHist = new TFile(hname, "recreate"); diff --git a/core/field/CbmFieldCreator.cxx b/core/field/CbmFieldCreator.cxx index 97c4f3f159616b81ae3b4813daf916c97d557b98..9543e2c088768a7d4ebb949dffb6ccc5e7abaf15 100644 --- a/core/field/CbmFieldCreator.cxx +++ b/core/field/CbmFieldCreator.cxx @@ -28,7 +28,7 @@ using std::endl; static CbmFieldCreator gCbmFieldCreator; -CbmFieldCreator::CbmFieldCreator() : FairFieldFactory(), fFieldPar(nullptr) { fCreator = this; } +CbmFieldCreator::CbmFieldCreator() : FairFieldFactory(), fFieldPar(nullptr) {} CbmFieldCreator::~CbmFieldCreator() {} diff --git a/sim/response/base/CbmDigitization.cxx b/sim/response/base/CbmDigitization.cxx index 5c64e630a9dda361658278c3aef80355e6cd6735..3acf0c1c6e9ad86ba56c77e34aa2fdc78319bc82 100644 --- a/sim/response/base/CbmDigitization.cxx +++ b/sim/response/base/CbmDigitization.cxx @@ -21,18 +21,19 @@ #include "CbmTofDigitize.h" #include "CbmTrdDigitizer.h" -#include "FairFileSource.h" -#include "FairMCEventHeader.h" -#include "FairMonitor.h" -#include "FairParAsciiFileIo.h" -#include "FairParRootFileIo.h" -#include "FairRuntimeDb.h" +#include <FairFileSource.h> +#include <FairMCEventHeader.h> +#include <FairMonitor.h> +#include <FairParAsciiFileIo.h> +#include <FairParRootFileIo.h> +#include <FairRootFileSink.h> +#include <FairRuntimeDb.h> #include <Logger.h> -#include "TClonesArray.h" -#include "TGeoManager.h" -#include "TObjString.h" -#include "TROOT.h" +#include <TClonesArray.h> +#include <TGeoManager.h> +#include <TObjString.h> +#include <TROOT.h> #include <cassert> @@ -371,8 +372,10 @@ void CbmDigitization::Run(Int_t event1, Int_t event2) run->SetSource(fSource); - // --- Set output file - run->SetOutputFile(fOutFile); + // --- Create file sink using output file name + // TODO: remove release after switching to FairRoot v18.8 + //run->SetSink(std::make_unique<FairRootFileSink>(fOutFile)); + run->SetSink(std::make_unique<FairRootFileSink>(fOutFile).release()); LOG(info) << fName << ": Output file is " << fOutFile; diff --git a/sim/transport/steer/CbmTransport.cxx b/sim/transport/steer/CbmTransport.cxx index 72edb8858dd7cae7b417639060d9fa3de005d742..babc2725b741367bcf54682c892f56a3899a1ab5 100644 --- a/sim/transport/steer/CbmTransport.cxx +++ b/sim/transport/steer/CbmTransport.cxx @@ -22,28 +22,29 @@ #include "CbmTarget.h" #include "CbmUnigenGenerator.h" -#include "FairMonitor.h" -#include "FairParRootFileIo.h" -#include "FairRunSim.h" -#include "FairRuntimeDb.h" -#include "FairSystemInfo.h" -#include "FairUrqmdGenerator.h" +#include <FairMonitor.h> +#include <FairParRootFileIo.h> +#include <FairRootFileSink.h> +#include <FairRunSim.h> +#include <FairRuntimeDb.h> +#include <FairSystemInfo.h> +#include <FairUrqmdGenerator.h> #include <Logger.h> -#include "TDatabasePDG.h" -#include "TG4RunConfiguration.h" -#include "TGeant3.h" -#include "TGeant3TGeo.h" -#include "TGeant4.h" -#include "TGeoManager.h" -#include "TPythia6Decayer.h" -#include "TROOT.h" -#include "TRandom.h" -#include "TStopwatch.h" -#include "TString.h" -#include "TSystem.h" -#include "TVector3.h" -#include "TVirtualMC.h" +#include <TDatabasePDG.h> +#include <TG4RunConfiguration.h> +#include <TGeant3.h> +#include <TGeant3TGeo.h> +#include <TGeant4.h> +#include <TGeoManager.h> +#include <TPythia6Decayer.h> +#include <TROOT.h> +#include <TRandom.h> +#include <TStopwatch.h> +#include <TString.h> +#include <TSystem.h> +#include <TVector3.h> +#include <TVirtualMC.h> #include <boost/filesystem.hpp> @@ -530,8 +531,10 @@ void CbmTransport::Run(Int_t nEvents) fRun->SetName(engineName); - // --- Set output file name - fRun->SetOutputFile(fOutFileName); + // --- Create file sink using output file name + // TODO: remove release after switching to FairRoot v18.8 + // fRun->SetSink(std::make_unique<FairRootFileSink>(fOutFileName)); + fRun->SetSink(std::make_unique<FairRootFileSink>(fOutFileName).release()); // --- Create and register the setup modules, field and media with FairRoot RegisterSetup(); @@ -607,7 +610,11 @@ void CbmTransport::Run(Int_t nEvents) TDirectory* oldDir = gDirectory; // Write Transport Settings to the output file - TFile* outfile = fRun->GetOutputFile(); + auto sink = fRun->GetSink(); + assert(sink->GetSinkType() == kFILESINK); + auto rootFileSink = static_cast<FairRootFileSink*>(sink); + TFile* outfile = rootFileSink->GetRootFile(); + ; outfile->cd(); LOG(info) << "Here I am";