diff --git a/km3io/gseagen.py b/km3io/gseagen.py index 29d8db7882e4507bb9108c3031a55f35c448e796..c89d43d507991ce6027c72661c04a4d02f40db0e 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 14043bc88432082b4e7dcf3dfe741ae71e617f96..3949d0dc40ebdfa0f567ed9597352806941123e3 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 e443357aa1ec72278b7e44bc9f14ccc4175d0728..7ad055351726cb647cf81f42d4fea7121da93e3b 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)