rntviewer/src/rntuple.h

52 lines
946 B
C
Raw Normal View History

2024-07-12 09:53:01 +02:00
// using RNTuple = ROOT::Experimental::RNTuple;
2024-07-11 14:00:43 +02:00
struct Byte_Range {
u64 start, len;
u64 end() const { return start + len; }
};
2024-07-12 18:29:35 +02:00
struct Page_Info_Node {
Page_Info_Node *next;
Byte_Range range;
u64 n_elems;
};
2024-07-15 11:29:32 +02:00
inline const Page_Info_Node invalid_pinfo = { nullptr, 0, 0 };
2024-07-12 18:29:35 +02:00
struct Page_Info_Group {
Byte_Range range;
Page_Info_Node *first;
};
2024-07-15 11:29:32 +02:00
struct Page_Info_Chunk {
Page_Info_Chunk *next;
Byte_Range range;
u64 first_group;
};
2024-07-12 11:58:55 +02:00
struct RNTuple_Data {
struct {
u16 epoch, major, minor, patch;
} version;
2024-07-11 16:29:44 +02:00
u64 root_file_header_size;
u64 rblob_header_size;
Byte_Range rng_anchor;
Byte_Range rng_anchor_key;
Byte_Range rng_header;
Byte_Range rng_footer;
2024-07-12 18:29:35 +02:00
Page_Info_Node *pages;
u64 n_pages;
// total number of elements of all pages
u64 n_elems;
Page_Info_Group *page_groups;
u64 n_page_groups;
2024-07-15 11:29:32 +02:00
// grouping of consecutive page groups
Page_Info_Chunk *page_chunks;
u64 n_page_chunks;
2024-07-11 14:00:43 +02:00
};