File tree Expand file tree Collapse file tree 3 files changed +24
-8
lines changed
src/uproot/interpretation/known_forth Expand file tree Collapse file tree 3 files changed +24
-8
lines changed Original file line number Diff line number Diff line change 11# BSD 3-Clause License; see https://github.com/scikit-hep/uproot5/blob/main/LICENSE
22
33"""
4- This module defines known forth code for types it is known a priori.
4+ This module provides known forth code and awkward forms for types where it is known a priori.
5+
6+ See :doc:`uproot.interpretation.known_forth.known_forth_of` for the function
7+ that provides the lookup of known forth codes and :doc:`uproot.interpretation.known_forth.atlas.VectorVectorElementLink` for an
8+ implementation used in ATLAS (D)AODs.
59"""
610from __future__ import annotations
711
812import uproot
9- from uproot .interpretation .known_forth .atlas . element_link import VectorVectorElementLink
13+ from uproot .interpretation .known_forth .atlas import VectorVectorElementLink
1014
1115KNOWN_FORTH_DICT = {
1216 "std::vector<std::vector<ElementLink<DataVector<xAOD::CaloCluster_v1>>>>" : VectorVectorElementLink ,
Original file line number Diff line number Diff line change 11# BSD 3-Clause License; see https://github.com/scikit-hep/uproot5/blob/main/LICENSE
22
33"""
4- This module defines known forth code for some ElementLink data types in ATLAS (D)AODs
4+ This module defines ATLAS specific known forth code
55"""
66
77from __future__ import annotations
1010
1111
1212class VectorVectorElementLink :
13+ """
14+ Known forth and awkward form for ``std::vector<std::vector<ElementLink<T>>`` types in ATLAS (D)AODs
15+
16+ The forth code was adjusted from what was provided in
17+ ``branch._complete_forth_code`` after running ``.array()`` once.
18+
19+ The binary data of one vector<vector<ElementLink<T>> looks as follows:
20+
21+ * 6 bytes header for the outer vector
22+ * 4 bytes big endian uint for the size of the outer vector (node1)
23+ * for each outer vector element:
24+ * 4 bytes big endian uint for the size of the inner vector (node2)
25+ * for each inner vector element:
26+ * 20 bytes header for the ElementLink object
27+ * 4 bytes big endian uint for the ``m_persKey`` member (node3)
28+ * 4 bytes big endian uint for the ``m_persIndex`` member (node4)
29+ """
1330
1431 forth_code = """
1532input stream
Load Diff This file was deleted.
You can’t perform that action at this time.
0 commit comments