python.Configurable.ConfigurableAlgTool Node1 python.Configurable.Configurable AlgTool - _jobOptName - __slots__ + __init__() + getHandle() + getGaudiType() + getGaudiHandle() + getPrintTitle() + setParent() + getParent() + getDirectParent() + hasParent() + getJobOptName() + isPublic() + isInToolSvc() + toStringProperty() Node2 python.Configurable.Configurable + propertyNoValue + indentUnit + printHeaderWidth + printHeaderPre + allConfigurables - __children - _name - _flags - _fInSetDefaults - _fIsLocked - _fIsPrinting - _fInitOk - _fSetupOk - __slots__ - _printOnce - _useGlobalInstances - __hash__ + __new__() + __init__() + __getstate__() + __setstate__() + __getnewargs__() + __len__() + __iter__() + __deepcopy__() + __iadd__() + __getattr__() and 40 more... - _isInSetDefaults() - __setupDlls() - __setupDefaults() - _printHeader() - _printFooter() Node2->Node1 Node3 metaclass Node3->Node2 Node4 python.ConfigurableMeta. ConfigurableMeta + __new__() + __call__() Node4->Node2 Node5 type Node5->Node4