Belle II Software  release-05-02-19
PyObjROOTUtils.h
1 /**************************************************************************
2  * BASF2 (Belle Analysis Framework 2) *
3  * Copyright(C) 2019 - Belle II Collaboration *
4  * *
5  * Author: The Belle II Collaboration *
6  * Contributors: Martin Ritter *
7  * *
8  * This software is provided "as is" without any warranty. *
9  **************************************************************************/
10 
11 #pragma once
12 #include <boost/python/object.hpp>
13 #include <TPython.h>
14 
15 namespace Belle2 {
27  template<class T>
28  boost::python::object createROOTObjectPyCopy(const T& instance)
29  {
30  const char* classname = instance.IsA()->GetName();
31  void* addr = new T(instance);
32  PyObject* obj = TPython::ObjectProxy_FromVoidPtr(addr, classname, true);
33  return boost::python::object(boost::python::handle<>(obj));
34  }
36 }
Belle2::createROOTObjectPyCopy
boost::python::object createROOTObjectPyCopy(const T &instance)
Create a python wrapped copy from a class instance which has a ROOT dictionary.
Definition: PyObjROOTUtils.h:36
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19