17#include <FairFileSourceBase.h>
18#include <FairSource.h>
20#include <RtypesCore.h>
21#include <TDirectory.h>
23#include <TObjString.h>
52 std::chrono::time_point<std::chrono::steady_clock>
previous_t_ = std::chrono::steady_clock::now();
55 void Print(uint64_t event_num,
double speed_per_ms);
63 auto AddFileName(std::string name,
bool is_tree_file =
false) -> std::optional<std::string>;
77 [[nodiscard]]
auto GetEntries() const -> int64_t;
109 void Intitialize(std::string_view filename,
bool is_tree_file =
false);
110 auto ValidateFile(
const std::string& filename,
bool is_tree_file =
false) -> bool;
112 auto ExtractRunId(TFile* rootFile) -> std::optional<uint>;
120 explicit R3BFileSource2(std::string file, std::string_view title =
"InputRootFile");
121 R3BFileSource2(std::vector<std::string> fileNames, std::string_view title);
124 void AddFile(std::string file_name,
bool is_tree_file =
false);
125 void AddFile(std::vector<std::string> file_names,
bool is_tree_file =
false);
126 void AddFriend(std::string,
bool is_tree_file =
false);
127 void AddFriend(std::vector<std::string> file_names,
bool is_tree_file =
false);
151 Bool_t
Init()
override;
152 Int_t
ReadEvent(UInt_t eventID = 0)
override;
163 Bool_t
ActivateObject(TObject** obj,
const char* BrName)
override;
164 Bool_t
ActivateObjectAny(
void** obj,
const std::type_info& info,
const char* BrName)
override;
void SetRefreshRate_Hz(float rate)
void SetRunID(unsigned int runID)
std::chrono::milliseconds refresh_period_
R3BEventProgressPrinter()=default
uint64_t previous_event_num_
void SetMaxEventNum(unsigned int max_event_num)
void Print(uint64_t event_num, double speed_per_ms)
void ShowProgress(uint64_t event_num)
std::chrono::time_point< std::chrono::steady_clock > previous_t_
Int_t ReadEvent(UInt_t eventID=0) override
Bool_t ActivateObject(TObject **obj, const char *BrName) override
void ReadBranchEvent(const char *BrName) override
R3BEventProgressPrinter event_progress_
void SetFileHeaderName(std::string_view fileHeaderName)
void SetEventPrintRefreshRate(float rate)
std::vector< R3BInputRootFiles > inputFriendFiles_
void AddFriend(std::string, bool is_tree_file=false)
auto IsEmpty() const -> bool
Int_t CheckMaxEventNo(Int_t EvtEnd=0) override
Bool_t ReInitUnpackers() override
R3BInputRootFiles inputDataFiles_
Bool_t ActivateObjectAny(void **obj, const std::type_info &info, const char *BrName) override
FairEventHeader * evtHeader_
void AddFile(std::string file_name, bool is_tree_file=false)
std::vector< std::string > dataFileNames_
Bool_t SpecifyRunId() override
Bool_t InitUnpackers() override
Source_Type GetSourceType() override
void FillEventHeader(FairEventHeader *evtHeader) override
std::vector< std::string > friendFileNames_
void SetInitRunID(int run_id)
void SetParUnpackers() override