From 718677861d73619d47366b302c0b3dcc583a4d29 Mon Sep 17 00:00:00 2001 From: Tamas Gal <tgal@km3net.de> Date: Wed, 1 Apr 2020 17:37:17 +0200 Subject: [PATCH] Add the ability for custom interpretations --- km3io/gseagen.py | 3 ++- km3io/offline.py | 15 ++++++++++----- km3io/tools.py | 3 ++- 3 files changed, 14 insertions(+), 7 deletions(-) diff --git a/km3io/gseagen.py b/km3io/gseagen.py index 29d8db7..c89d43d 100644 --- a/km3io/gseagen.py +++ b/km3io/gseagen.py @@ -48,5 +48,6 @@ class GSGReader: exclude={}, update={}, attrparser=lambda x: x, - flat=True) + flat=True, + interpretations={}) return Branch(self._fobj, gseagen_events_mapper) diff --git a/km3io/offline.py b/km3io/offline.py index 14043bc..3949d0d 100644 --- a/km3io/offline.py +++ b/km3io/offline.py @@ -31,7 +31,8 @@ EVENTS_MAP = BranchMapper(name="events", 'n_mc_tracks': 'mc_trks' }, attrparser=lambda a: a, - flat=True) + flat=True, + interpretations={}) SUBBRANCH_MAPS = [ BranchMapper(name="tracks", @@ -41,7 +42,8 @@ SUBBRANCH_MAPS = [ ['trks.usr_data', 'trks.usr', 'trks.fUniqueID', 'trks.fBits'], update={}, attrparser=_nested_mapper, - flat=False), + flat=False, + interpretations={}), BranchMapper(name="mc_tracks", key="mc_trks", extra={}, @@ -51,7 +53,8 @@ SUBBRANCH_MAPS = [ ], update={}, attrparser=_nested_mapper, - flat=False), + flat=False, + interpretations={}), BranchMapper(name="hits", key="hits", extra={}, @@ -61,7 +64,8 @@ SUBBRANCH_MAPS = [ ], update={}, attrparser=_nested_mapper, - flat=False), + flat=False, + interpretations={}), BranchMapper(name="mc_hits", key="mc_hits", extra={}, @@ -72,7 +76,8 @@ SUBBRANCH_MAPS = [ ], update={}, attrparser=_nested_mapper, - flat=False), + flat=False, + interpretations={}), ] diff --git a/km3io/tools.py b/km3io/tools.py index e443357..7ad0553 100644 --- a/km3io/tools.py +++ b/km3io/tools.py @@ -36,7 +36,7 @@ def _unfold_indices(obj, indices): BranchMapper = namedtuple( "BranchMapper", - ['name', 'key', 'extra', 'exclude', 'update', 'attrparser', 'flat']) + ['name', 'key', 'extra', 'exclude', 'update', 'attrparser', 'flat', 'interpretations']) class Branch: @@ -102,6 +102,7 @@ class Branch: def __getkey__(self, key): out = self._branch[self._keymap[key]].lazyarray( + interpretation=self._mapper.interpretations.get(key), basketcache=BASKET_CACHE) return _unfold_indices(out, self._index_chain) -- GitLab