forked from Dr15Jones/root_serialization
-
Notifications
You must be signed in to change notification settings - Fork 7
Expand file tree
/
Copy pathRNTupleOutputerConfig.h
More file actions
44 lines (37 loc) · 1.43 KB
/
RNTupleOutputerConfig.h
File metadata and controls
44 lines (37 loc) · 1.43 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
#if !defined(RNTupleOutputerConfig_h)
#define RNTupleOutputerConfig_h
#include <optional>
#include <utility>
#include <set>
#include <string>
#include <Compression.h>
#include <ROOT/RNTupleWriter.hxx>
namespace cce::tf {
struct RNTupleOutputerConfig {
RNTupleOutputerConfig() {
ROOT::RNTupleWriteOptions options;
maxUnzippedPageSize_ = options.GetMaxUnzippedPageSize();
initialUnzippedPageSize_ = options.GetInitialUnzippedPageSize();
approxZippedClusterSize_ = options.GetApproxZippedClusterSize();
maxUnzippedClusterSize_ = options.GetMaxUnzippedClusterSize();
pageBufferBudget_ = options.GetPageBufferBudget();
}
std::set<std::string> noSplitFields_;
int verbose_=0;
int compressionLevel_=9;
ROOT::RCompressionSetting::EAlgorithm::EValues compressionAlgorithm_= ROOT::RCompressionSetting::EAlgorithm::kUseGlobal;
std::size_t maxUnzippedPageSize_;
std::size_t initialUnzippedPageSize_;
std::size_t approxZippedClusterSize_;
std::size_t maxUnzippedClusterSize_;
std::size_t pageBufferBudget_;
bool useBufferedWrite_=true;
bool useDirectIO_=true;
bool enablePageChecksums_=true;
bool printEstimateWriteMemoryUsage_=false;
};
class ConfigurationParameters;
std::optional<std::pair<std::string, RNTupleOutputerConfig>> parseRNTupleConfig(ConfigurationParameters const& params);
ROOT::RNTupleWriteOptions writeOptionsFrom(RNTupleOutputerConfig const&);
}
#endif