11#ifndef O2_FRAMEWORK_DATAINPUTDIRECTOR_H_
12#define O2_FRAMEWORK_DATAINPUTDIRECTOR_H_
20#include <arrow/filesystem/filesystem.h>
21#include <arrow/dataset/dataset.h>
24#include "rapidjson/fwd.h"
51 std::unique_ptr<data_matcher::DataDescriptorMatcher>
matcher;
53 DataInputDescriptor(
bool alienSupport,
int level, o2::monitoring::Monitoring* monitoring =
nullptr,
int allowedParentLevel = 0, std::string parentFileReplacement =
"");
92 std::string minputfilesFile =
"";
93 std::string* minputfilesFilePtr =
nullptr;
94 std::string mFilenameRegex =
"";
95 std::string* mFilenameRegexPtr =
nullptr;
96 int mAllowedParentLevel = 0;
97 std::string mParentFileReplacement;
98 std::vector<FileNameHolder*> mfilenames;
99 std::vector<FileNameHolder*>* mdefaultFilenamesPtr =
nullptr;
100 std::shared_ptr<arrow::fs::FileSystem> mCurrentFilesystem;
101 int mCurrentFileID = -1;
102 bool mAlienSupport =
false;
104 o2::monitoring::Monitoring* mMonitoring =
nullptr;
106 TMap* mParentFileMap =
nullptr;
110 int mtotalNumberTimeFrames = 0;
112 uint64_t mIOTime = 0;
113 uint64_t mCurrentFileStartedAt = 0;
124 DataInputDirector(std::string inputFile, o2::monitoring::Monitoring* monitoring =
nullptr,
int allowedParentLevel = 0, std::string parentFileReplacement =
"");
125 DataInputDirector(std::vector<std::string> inputFiles, o2::monitoring::Monitoring* monitoring =
nullptr,
int allowedParentLevel = 0, std::string parentFileReplacement =
"");
135 bool readJson(std::string
const& fnjson);
152 std::string minputfilesFile;
153 std::string*
const minputfilesFilePtr = &minputfilesFile;
154 std::string mFilenameRegex;
155 int mAllowedParentLevel = 0;
156 std::string mParentFileReplacement;
157 std::string*
const mFilenameRegexPtr = &mFilenameRegex;
159 std::vector<FileNameHolder*> mdefaultInputFiles;
160 std::vector<DataInputDescriptor*> mdataInputDescriptors;
162 o2::monitoring::Monitoring* mMonitoring =
nullptr;
164 bool mDebugMode =
false;
165 bool mAlienSupport =
false;
167 bool readJsonDocument(rapidjson::Document* doc);
o2::monitoring::Monitoring Monitoring
Defining PrimaryVertex explicitly as messageable.
FileNameHolder * makeFileNameHolder(std::string fileName)
std::vector< bool > alreadyRead
std::vector< uint64_t > listOfTimeFrameNumbers