7 #include "TBranchElement.h" 
    9  #include "TStreamerElement.h" 
   10  #include "TStreamerInfo.h" 
   12  Long_t cast_with_offset( TBranchElement* be ) { 
   13     Long_t offset = ((TStreamerElement*)be->GetInfo()->GetElements()->At(be->GetID()))->GetOffset(); 
   14     return (Long_t)(be->GetObject() + offset); 
   17 open(
"cast_with_offset.C",
"w").
write(cast_offset_str)
 
   18 ROOT.gROOT.LoadMacro(
"cast_with_offset.C+")
 
   23     tree.SetBranchStatus( name, ROOT.kTRUE )
 
   24     be = tree.GetBranch( name )
 
   26     values = ROOT.BindObject( ROOT.cast_with_offset( be ), be.GetTypeName() )
 
   27     setattr( tree, name, values ) 
 
   32     values = ROOT.BindObject( ROOT.cast_with_offset( be ), be.GetTypeName() )
 
   33     setattr( tree, be.GetName(), values )