63 def getObjectList (objectName, base, verbose = False, memberData = False):
64 """Get a list of interesting things from this object""" 68 rootObjConstructor = getattr (ROOT, objectName)
69 except AttributeError
as missingAttr:
70 if str(missingAttr)
in [
'double',
'int']:
71 print "Do not need to describe doubles or ints" 76 obj = rootObjConstructor()
77 alreadySeenFunction = set()
78 vetoedFunction = set()
79 etaFound, phiFound =
False,
False 83 classList = [ ROOT.TClass.GetClass(objectName) ]
84 if verbose:
print classList
87 alreadySeenFunction.update(vetoedFunction)
88 vetoedFunction.clear()
89 oneclass = classList.pop (0)
90 print "Looking at %s" % oneclass.GetName ()
91 bases = oneclass.GetListOfBases()
92 funcs = oneclass.GetListOfMethods()
94 print "baseSize", bases.GetSize()
95 print "FunctionMemberSize", funcs.GetSize()
96 for baseIndex
in range( bases.GetSize() ) :
97 classList.append( bases.At(baseIndex).GetClassPointer() )
98 for index
in range( funcs.GetSize() ):
99 funcMember = funcs.At (index)
101 name = funcMember.GetName()
108 if name
in alreadySeenFunction:
111 returnType = funcMember.GetReturnTypeName()
112 goType = root2GOtypeDict.get (returnType,
None)
114 print " type", returnType, goType
116 vetoedTypes.add (returnType)
124 if funcMember.Property() & ROOT.kIsConstMethod
and not funcMember.GetNargs():
125 retval.append( (
"%s.%s()" % (base, name), goType))
126 alreadySeenFunction.add( name )
130 vetoedFunction.add( name )
132 print " failed IsConst() and GetNargs()" 135 dataList = oneclass.GetListOfDataMembers()
136 for index
in range( dataList.GetSize() ):
137 data = dataList.At( index );
138 name = data.GetName()
139 dataType = data.GetTypeName()
140 goType = root2GOtypeDict.get (dataType,
None)
144 print "name", name,
"dataType", dataType,
"goType", goType
145 retval.append ( (
"%s.%s" % (base, name), goType) )
147 return retval, etaFound
and phiFound
def getObjectList(objectName, base, verbose=False, memberData=False)