diff --git a/bindings/pyroot_experimental/PyROOT/src/TTreePyz.cxx b/bindings/pyroot_experimental/PyROOT/src/TTreePyz.cxx index 40df6d0afccbf2768f4cec2b13f82253bfdd5be6..589f5000fb375d04e82ecf49cd4a0355e0ae75cd 100644 --- a/bindings/pyroot_experimental/PyROOT/src/TTreePyz.cxx +++ b/bindings/pyroot_experimental/PyROOT/src/TTreePyz.cxx @@ -6,6 +6,7 @@ #include "ProxyWrappers.h" #include "Converters.h" #include "Utility.h" +#include "PyzCppHelpers.hxx" // ROOT #include "TClass.h" @@ -21,11 +22,6 @@ using namespace CPyCppyy; -static TClass *GetClass(const CPPInstance *pyobj) -{ - return TClass::GetClass(Cppyy::GetFinalName(pyobj->ObjectIsA()).c_str()); -} - static TBranch *SearchForBranch(TTree *tree, const char *name) { TBranch *branch = tree->GetBranch(name); @@ -119,7 +115,7 @@ PyObject *GetAttr(const CPPInstance *self, PyObject *pyname) return 0; // get hold of actual tree - TTree *tree = (TTree *)GetClass(self)->DynamicCast(TTree::Class(), self->GetObject()); + auto tree = (TTree *)GetTClass(self)->DynamicCast(TTree::Class(), self->GetObject()); if (!tree) { PyErr_SetString(PyExc_ReferenceError, "attempt to access a null-pointer"); @@ -201,7 +197,7 @@ PyObject *PyROOT::SetBranchAddressPyz(PyObject * /* self */, PyObject *args) if (argc == 3 && PyArg_ParseTuple(args, const_cast<char *>(argParseStr), &treeObj, &name, &address)) { auto treeProxy = (CPPInstance *)treeObj; - TTree *tree = (TTree *)GetClass(treeProxy)->DynamicCast(TTree::Class(), treeProxy->GetObject()); + auto tree = (TTree *)GetTClass(treeProxy)->DynamicCast(TTree::Class(), treeProxy->GetObject()); if (!tree) { PyErr_SetString(PyExc_TypeError, @@ -255,7 +251,7 @@ PyObject *TryBranchLeafListOverload(int argc, PyObject *args) &PyInt_Type, &bufsize)) { auto treeProxy = (CPPInstance *)treeObj; - auto tree = (TTree *)GetClass(treeProxy)->DynamicCast(TTree::Class(), treeProxy->GetObject()); + auto tree = (TTree *)GetTClass(treeProxy)->DynamicCast(TTree::Class(), treeProxy->GetObject()); if (!tree) { PyErr_SetString(PyExc_TypeError, "TTree::Branch must be called with a TTree instance as first argument"); return nullptr; @@ -321,7 +317,7 @@ PyObject *TryBranchPtrToPtrOverloads(int argc, PyObject *args) if (bIsMatch) { auto treeProxy = (CPPInstance *)treeObj; - auto tree = (TTree *)GetClass(treeProxy)->DynamicCast(TTree::Class(), treeProxy->GetObject()); + auto tree = (TTree *)GetTClass(treeProxy)->DynamicCast(TTree::Class(), treeProxy->GetObject()); if (!tree) { PyErr_SetString(PyExc_TypeError, "TTree::Branch must be called with a TTree instance as first argument"); return nullptr; @@ -337,7 +333,7 @@ PyObject *TryBranchPtrToPtrOverloads(int argc, PyObject *args) buf = (void *)&((CPPInstance *)address)->fObject; if (!clName) { - klName = GetClass((CPPInstance *)address)->GetName(); + klName = GetTClass((CPPInstance *)address)->GetName(); argc += 1; } } else {