11#ifndef O2_FRAMEWORK_DATAINPUTDIRECTOR_H_
12#define O2_FRAMEWORK_DATAINPUTDIRECTOR_H_
20#include <arrow/filesystem/filesystem.h>
21#include <arrow/dataset/dataset.h>
25#include "rapidjson/fwd.h"
51 std::vector<std::pair<std::string, TFile*>>
openFiles = {};
73 std::shared_ptr<data_matcher::DataDescriptorMatcher>
matcher;
90 bool setFile(
int counter,
int wantedParentLevel, std::string_view wantedOrigin);
101 arrow::dataset::FileSource
getFileFolder(
int counter,
int numTF,
int wantedParentLevel, std::string_view wantedOrigin);
104 std::pair<std::shared_ptr<DataInputDescriptor>,
int>
navigateToLevel(
int counter,
int numTF,
int wantedParentLevel, std::string_view wantedOrigin);
105 std::shared_ptr<DataInputDescriptor>
getParentFile(
int counter,
int numTF, std::string
treename,
int wantedParentLevel, std::string_view wantedOrigin);
118 std::string minputfilesFile;
119 std::string* minputfilesFilePtr =
nullptr;
120 std::string mFilenameRegex;
121 std::string* mFilenameRegexPtr =
nullptr;
122 std::vector<FileNameHolder> mfilenames;
123 std::vector<FileNameHolder> mdefaultFilenamesPtr;
124 std::shared_ptr<arrow::fs::FileSystem> mCurrentFilesystem;
125 int mCurrentFileID = -1;
126 bool mAlienSupport =
false;
129 TMap* mParentFileMap =
nullptr;
130 std::shared_ptr<DataInputDescriptor> mParentFile =
nullptr;
133 int mtotalNumberTimeFrames = 0;
135 uint64_t mIOTime = 0;
136 uint64_t mCurrentFileStartedAt = 0;
156 bool readJson(std::string
const& fnjson);
176 std::string minputfilesFile;
177 std::string*
const minputfilesFilePtr = &minputfilesFile;
178 std::string mFilenameRegex;
179 std::string*
const mFilenameRegexPtr = &mFilenameRegex;
180 std::shared_ptr<DataInputDescriptor> mdefaultDataInputDescriptor =
nullptr;
181 std::vector<FileNameHolder> mdefaultInputFiles;
182 std::vector<DataInputDescriptor> mdataInputDescriptors;
184 bool mDebugMode =
false;
185 bool mAlienSupport =
false;
187 bool readJsonDocument(rapidjson::Document* doc);
header::DataOrigin origin
o2::monitoring::Monitoring Monitoring
Defining ITS Vertex explicitly as messageable.
FileNameHolder makeFileNameHolder(std::string fileName)
std::string parentFileReplacement
o2::monitoring::Monitoring * monitoring
std::vector< std::pair< std::string, int > > parentLevelToOrigin
std::vector< std::pair< std::string, TFile * > > openFiles
int levelForOrigin(std::string_view origin) const
std::vector< bool > alreadyRead
std::vector< uint64_t > listOfTimeFrameNumbers