Bug #1678

Outputters take data as argument

Added by Rogers, Chris almost 9 years ago. Updated almost 9 years ago.

Data Structure
Target version:
Start date:
07 May 2015
Due date:
% Done:


Estimated time:
New Issue


OutputCppRoot should take data as argument, not json... subissue of #1312

Related issues

Related to MAUS - Feature #1312: Online reconstruction requires new APIOpenRogers, Chris15 July 2013


Updated by Rogers, Chris almost 9 years ago

Added type conversions for header and footer types to json, python, string to src/common_cpp/Converters


Updated by Rogers, Chris almost 9 years ago

Type conversion now available right the way up to the python layer.

Note that the type conversion goes like (just for my sanity, why is it like that?):

src/common_cpp/Converter -> Can be called inside modules, does not require python
src/common_cpp/Utils/PyObjectWrap -> Wraps everything in python, called from PyWrapModule
src/py_cpp/PyConverter -> Called from python API

each layer does slightly different stuff for different use cases...


Updated by Rogers, Chris almost 9 years ago

This is done in lp:~chris-rogers/maus/1678 and tests pass locally...


Updated by Rogers, Chris almost 9 years ago

  • Status changed from Open to Closed
  • % Done changed from 0 to 100

Committed to trunk in r839.

Note that I made the API a bit less transparent (and a bit less arcane?) in OutputBase - now user has to define bool _save(PyObject* py_obj); in all the other modules, user can do void _process(TEMPLATE* t) or wahtever. That wasn't possible here because py_obj can take many types, e.g. JobHeader, RunHeader, Spill, etc. Sorry about that.

Also available in: Atom PDF