 
  
 
 This tutorial illustrates the conversion of RVec to numpy arrays without copying the data. 
The memory-adoption is achieved by the dictionary array_interface, which is added dynamically to the Python objects by PyROOT.
 
import ROOT
from sys import exit
 
try:
    import numpy as np
except:
 
vec[0] = 1
vec[1] = 2
print(
"Content of the ROOT vector object: {}".
format([x 
for x 
in vec]))
 
print(
"Content of the associated numpy array: {}".
format([x 
for x 
in array]))
 
vec[0] = 42
print(
    "Content of the numpy array after changing the first entry of the ROOT vector: {}".
 
print(
"Mean of the numpy array entries: {}".
format(
np.mean(array)))
ROOT::Detail::TRangeCast< T, true > TRangeDynCast
TRangeDynCast is an adapter class that allows the typed iteration through a TCollection.
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t Float_t Float_t Int_t Int_t UInt_t UInt_t Rectangle_t Int_t Int_t Window_t TString Int_t GCValues_t GetPrimarySelectionOwner GetDisplay GetScreen GetColormap GetNativeEvent const char const char dpyName wid window const char font_name cursor keysym reg const char only_if_exist regb h Point_t winding char text const char depth char const char Int_t count const char ColorStruct_t color const char Pixmap_t Pixmap_t PictureAttributes_t attr const char char ret_data h unsigned char height h Atom_t Int_t ULong_t ULong_t unsigned char prop_list Atom_t Atom_t Atom_t Time_t format
Content of the ROOT vector object: [1.0, 2.0]
Content of the associated numpy array: [np.float32(1.0), np.float32(2.0)]
Content of the numpy array after changing the first entry of the ROOT vector: [np.float32(42.0), np.float32(2.0)]
Mean of the numpy array entries: 22.0
- Date
- April 2018 
- Author
- Stefan Wunsch 
Definition in file vo008_numpyInterface.py.