template<
class T>
class TGeoRCPtr< T >
A reference counting-managed pointer for classes derived from TGeoExtension which can be used as C pointer. 
Based on CodeProject implementation example
Example:
public:
 
   virtual void Release()
 const {
assert(fRC > 0); fRC--; 
if (fRC ==0) 
delete this;}
 
   void print()
 const {
printf(
"MyExtension object %p\n", 
this);}
 
private:
};
#define ClassDefOverride(name, id)
ROOT::Detail::TRangeCast< T, true > TRangeDynCast
TRangeDynCast is an adapter class that allows the typed iteration through a TCollection.
ABC for user objects attached to TGeoVolume or TGeoNode.
 
Usage:
Note:
Event if one forgets to call ptr2 = 0, the object gets delete when the method using ptr2 gets out of scope. 
Definition at line 65 of file TGeoRCPtr.h.