diff --git a/CHANGES b/CHANGES
new file mode 100644
--- /dev/null
+++ b/CHANGES
@@ -0,0 +1,5 @@
+0.5.0: 31 Jul 2011
+   * initial preview release
+
+0.5.1: 3 Aug 2011
+   * support for delete 
diff --git a/HROOT.cabal b/HROOT.cabal
--- a/HROOT.cabal
+++ b/HROOT.cabal
@@ -1,5 +1,5 @@
 Name:		HROOT
-Version:	0.5.0.3
+Version:	0.5.1.0
 Synopsis:	Wrapper for ROOT
 Description: 	Haskell FFI binding for ROOT  
 Homepage:       http://ianwookim.org/HROOT
@@ -11,7 +11,8 @@
 Tested-with:    GHC >= 7.0.2 && <= 7.0.3
 Build-Type: 	Custom
 cabal-version:  >=1.6
-Extra-source-files: Config.hs
+Extra-source-files: CHANGES
+                    Config.hs
                     csrc/HROOT.h
                     csrc/addon.h
                     example/histadd.hs
diff --git a/csrc/HROOT.cpp b/csrc/HROOT.cpp
--- a/csrc/HROOT.cpp
+++ b/csrc/HROOT.cpp
@@ -142,6 +142,13 @@
 
 
 
+#undef ROOT_DELETABLE_DEFINITIONVIRT
+#define ROOT_DELETABLE_DEFINITIONVIRT(Type)\
+void Type ## _delete ( Type ## _p p )\
+{\
+delete (to_nonconst<Type,Type ## _t>(p)) ; \
+}
+
 #undef ROOT_TOBJECT_DEFINITIONVIRT
 #define ROOT_TOBJECT_DEFINITIONVIRT(Type)\
 const char * Type ## _GetName ( Type ## _p p )\
@@ -152,6 +159,10 @@
 {\
 to_nonconst<Type,Type ## _t>(p)->Draw(option);\
 }\
+TObject_p Type ## _FindObject ( Type ## _p p, const char * name )\
+{\
+return to_nonconst<TObject_t,TObject>((TObject*)to_nonconst<Type,Type ## _t>(p)->FindObject(name));\
+}\
 void Type ## _SaveAs ( Type ## _p p, const char * filename, const char * option )\
 {\
 to_nonconst<Type,Type ## _t>(p)->SaveAs(filename, option);\
@@ -507,25 +518,201 @@
 
 #undef ROOT_TH1_DEFINITIONVIRT
 #define ROOT_TH1_DEFINITIONVIRT(Type)\
-TAxis_p Type ## _GetXaxis ( Type ## _p p )\
+void Type ## _Add ( Type ## _p p, TH1_p h1, double c1 )\
 {\
-return to_nonconst<TAxis_t,TAxis>((TAxis*)to_nonconst<Type,Type ## _t>(p)->GetXaxis());\
+to_nonconst<Type,Type ## _t>(p)->Add(to_nonconst<TH1,TH1_t>(h1), c1);\
 }\
-TAxis_p Type ## _GetYaxis ( Type ## _p p )\
+void Type ## _AddBinContent ( Type ## _p p, int  bin, double w )\
 {\
-return to_nonconst<TAxis_t,TAxis>((TAxis*)to_nonconst<Type,Type ## _t>(p)->GetYaxis());\
+to_nonconst<Type,Type ## _t>(p)->AddBinContent(bin, w);\
 }\
-TAxis_p Type ## _GetZaxis ( Type ## _p p )\
+double Type ## _Chi2Test ( Type ## _p p, TH1_p h2, const char * option, double * res )\
 {\
-return to_nonconst<TAxis_t,TAxis>((TAxis*)to_nonconst<Type,Type ## _t>(p)->GetZaxis());\
+return to_nonconst<Type,Type ## _t>(p)->Chi2Test(to_nonconst<TH1,TH1_t>(h2), option, res);\
 }\
-void Type ## _Add ( Type ## _p p, TH1_p h1, double c1 )\
+double Type ## _ComputeIntegral ( Type ## _p p )\
 {\
-to_nonconst<Type,Type ## _t>(p)->Add(to_nonconst<TH1,TH1_t>(h1), c1);\
+return to_nonconst<Type,Type ## _t>(p)->ComputeIntegral();\
 }\
+void Type ## _DirectoryAutoAdd ( Type ## _p p, TDirectory_p dir )\
+{\
+to_nonconst<Type,Type ## _t>(p)->DirectoryAutoAdd(to_nonconst<TDirectory,TDirectory_t>(dir));\
+}\
+int  Type ## _DistancetoPrimitive ( Type ## _p p, int  px, int  py )\
+{\
+return to_nonconst<Type,Type ## _t>(p)->DistancetoPrimitive(px, py);\
+}\
+void Type ## _Divide ( Type ## _p p, TH1_p h1, TH2_p h2, double c1, double c2, const char * option )\
+{\
+to_nonconst<Type,Type ## _t>(p)->Divide(to_nonconst<TH1,TH1_t>(h1), to_nonconst<TH2,TH2_t>(h2), c1, c2, option);\
+}\
+Type ## _p Type ## _DrawCopy ( Type ## _p p, const char * option )\
+{\
+return to_nonconst<Type ## _t, Type>((Type *)to_nonconst<Type,Type ## _t>(p)->DrawCopy(option)) ;\
+}\
+TH1_p Type ## _DrawNormalized ( Type ## _p p, const char * option, double norm )\
+{\
+return to_nonconst<TH1_t,TH1>((TH1*)to_nonconst<Type,Type ## _t>(p)->DrawNormalized(option, norm));\
+}\
+void Type ## _DrawPanel ( Type ## _p p )\
+{\
+to_nonconst<Type,Type ## _t>(p)->DrawPanel();\
+}\
+int  Type ## _BufferEmpty ( Type ## _p p, int  action )\
+{\
+return to_nonconst<Type,Type ## _t>(p)->BufferEmpty(action);\
+}\
+void Type ## _Eval ( Type ## _p p, TF1_p f1, const char * option )\
+{\
+to_nonconst<Type,Type ## _t>(p)->Eval(to_nonconst<TF1,TF1_t>(f1), option);\
+}\
+void Type ## _ExecuteEvent ( Type ## _p p, int  event, int  px, int  py )\
+{\
+to_nonconst<Type,Type ## _t>(p)->ExecuteEvent(event, px, py);\
+}\
+TH1_p Type ## _FFT ( Type ## _p p, TH1_p h_output, const char * option )\
+{\
+return to_nonconst<TH1_t,TH1>((TH1*)to_nonconst<Type,Type ## _t>(p)->FFT(to_nonconst<TH1,TH1_t>(h_output), option));\
+}\
 int  Type ## _fill1 ( Type ## _p p, double x )\
 {\
 return to_nonconst<Type,Type ## _t>(p)->Fill(x);\
+}\
+void Type ## _FillN ( Type ## _p p, int  ntimes, double * x, double * w, int  stride )\
+{\
+to_nonconst<Type,Type ## _t>(p)->FillN(ntimes, x, w, stride);\
+}\
+void Type ## _FillRandom ( Type ## _p p, TH1_p h, int  ntimes )\
+{\
+to_nonconst<Type,Type ## _t>(p)->FillRandom(to_nonconst<TH1,TH1_t>(h), ntimes);\
+}\
+int  Type ## _FindBin ( Type ## _p p, double x, double y, double z )\
+{\
+return to_nonconst<Type,Type ## _t>(p)->FindBin(x, y, z);\
+}\
+int  Type ## _FindFixBin ( Type ## _p p, double x, double y, double z )\
+{\
+return to_nonconst<Type,Type ## _t>(p)->FindFixBin(x, y, z);\
+}\
+int  Type ## _FindFirstBinAbove ( Type ## _p p, double threshold, int  axis )\
+{\
+return to_nonconst<Type,Type ## _t>(p)->FindFirstBinAbove(threshold, axis);\
+}\
+int  Type ## _FindLastBinAbove ( Type ## _p p, double threshold, int  axis )\
+{\
+return to_nonconst<Type,Type ## _t>(p)->FindLastBinAbove(threshold, axis);\
+}\
+void Type ## _FitPanel ( Type ## _p p )\
+{\
+to_nonconst<Type,Type ## _t>(p)->FitPanel();\
+}\
+int  Type ## _GetNdivisions ( Type ## _p p, const char * axis )\
+{\
+return to_nonconst<Type,Type ## _t>(p)->GetNdivisions(axis);\
+}\
+int  Type ## _GetAxisColor ( Type ## _p p, const char * axis )\
+{\
+return to_nonconst<Type,Type ## _t>(p)->GetAxisColor(axis);\
+}\
+int  Type ## _GetLabelColor ( Type ## _p p, const char * axis )\
+{\
+return to_nonconst<Type,Type ## _t>(p)->GetLabelColor(axis);\
+}\
+int  Type ## _GetLabelFont ( Type ## _p p, const char * axis )\
+{\
+return to_nonconst<Type,Type ## _t>(p)->GetLabelFont(axis);\
+}\
+double Type ## _GetLabelOffset ( Type ## _p p, const char * axis )\
+{\
+return to_nonconst<Type,Type ## _t>(p)->GetLabelOffset(axis);\
+}\
+double Type ## _GetLabelSize ( Type ## _p p, const char * axis )\
+{\
+return to_nonconst<Type,Type ## _t>(p)->GetLabelSize(axis);\
+}\
+int  Type ## _GetTitleFont ( Type ## _p p, const char * axis )\
+{\
+return to_nonconst<Type,Type ## _t>(p)->GetTitleFont(axis);\
+}\
+double Type ## _GetTitleOffset ( Type ## _p p, const char * axis )\
+{\
+return to_nonconst<Type,Type ## _t>(p)->GetTitleOffset(axis);\
+}\
+double Type ## _GetTitleSize ( Type ## _p p, const char * axis )\
+{\
+return to_nonconst<Type,Type ## _t>(p)->GetTitleSize(axis);\
+}\
+double Type ## _GetTickLength ( Type ## _p p, const char * axis )\
+{\
+return to_nonconst<Type,Type ## _t>(p)->GetTickLength(axis);\
+}\
+double Type ## _GetBarOffset ( Type ## _p p )\
+{\
+return to_nonconst<Type,Type ## _t>(p)->GetBarOffset();\
+}\
+double Type ## _GetBarWidth ( Type ## _p p )\
+{\
+return to_nonconst<Type,Type ## _t>(p)->GetBarWidth();\
+}\
+int  Type ## _GetContour ( Type ## _p p, double * levels )\
+{\
+return to_nonconst<Type,Type ## _t>(p)->GetContour(levels);\
+}\
+double Type ## _GetContourLevel ( Type ## _p p, int  level )\
+{\
+return to_nonconst<Type,Type ## _t>(p)->GetContourLevel(level);\
+}\
+double Type ## _GetContourLevelPad ( Type ## _p p, int  level )\
+{\
+return to_nonconst<Type,Type ## _t>(p)->GetContourLevelPad(level);\
+}\
+int  Type ## _GetBin ( Type ## _p p, int  binx, int  biny, int  binz )\
+{\
+return to_nonconst<Type,Type ## _t>(p)->GetBin(binx, biny, binz);\
+}\
+double Type ## _GetBinCenter ( Type ## _p p, int  bin )\
+{\
+return to_nonconst<Type,Type ## _t>(p)->GetBinCenter(bin);\
+}\
+double Type ## _GetBinContent1 ( Type ## _p p, int  binx )\
+{\
+return to_nonconst<Type,Type ## _t>(p)->GetBinContent(binx);\
+}\
+double Type ## _GetBinContent2 ( Type ## _p p, int  binx, int  biny )\
+{\
+return to_nonconst<Type,Type ## _t>(p)->GetBinContent(binx, biny);\
+}\
+double Type ## _GetBinContent3 ( Type ## _p p, int  binx, int  biny, int  binz )\
+{\
+return to_nonconst<Type,Type ## _t>(p)->GetBinContent(binx, biny, binz);\
+}\
+double Type ## _GetBinError1 ( Type ## _p p, int  binx )\
+{\
+return to_nonconst<Type,Type ## _t>(p)->GetBinError(binx);\
+}\
+double Type ## _GetBinError2 ( Type ## _p p, int  binx, int  biny )\
+{\
+return to_nonconst<Type,Type ## _t>(p)->GetBinError(binx, biny);\
+}\
+double Type ## _GetBinError3 ( Type ## _p p, int  binx, int  biny, int  binz )\
+{\
+return to_nonconst<Type,Type ## _t>(p)->GetBinError(binx, biny, binz);\
+}\
+double Type ## _GetBinLowEdge ( Type ## _p p, int  bin )\
+{\
+return to_nonconst<Type,Type ## _t>(p)->GetBinLowEdge(bin);\
+}\
+double Type ## _GetBinWidth ( Type ## _p p, int  bin )\
+{\
+return to_nonconst<Type,Type ## _t>(p)->GetBinWidth(bin);\
+}\
+double Type ## _GetCellContent ( Type ## _p p, int  binx, int  biny )\
+{\
+return to_nonconst<Type,Type ## _t>(p)->GetCellContent(binx, biny);\
+}\
+double Type ## _GetCellError ( Type ## _p p, int  binx, int  biny )\
+{\
+return to_nonconst<Type,Type ## _t>(p)->GetCellError(binx, biny);\
 }
 
 #undef ROOT_TH2_DEFINITIONVIRT
@@ -661,14 +848,17 @@
 #define ROOT_TRINT_DEFINITIONVIRT(Type)\
 
 
+#undef ROOT_DELETABLE_DEFINITIONNONVIRT
+#define ROOT_DELETABLE_DEFINITIONNONVIRT(Type)\
+
+
 #undef ROOT_TOBJECT_DEFINITIONNONVIRT
 #define ROOT_TOBJECT_DEFINITIONNONVIRT(Type)\
 Type ## _p Type ## _newTObject (  )\
 {\
 Type * newp = new Type (); \
 return to_nonconst<Type ## _t, Type >(newp);\
-}\
-
+}
 
 #undef ROOT_TNAMED_DEFINITIONNONVIRT
 #define ROOT_TNAMED_DEFINITIONNONVIRT(Type)\
@@ -676,8 +866,7 @@
 {\
 Type * newp = new Type (name, title); \
 return to_nonconst<Type ## _t, Type >(newp);\
-}\
-
+}
 
 #undef ROOT_TFORMULA_DEFINITIONNONVIRT
 #define ROOT_TFORMULA_DEFINITIONNONVIRT(Type)\
@@ -685,8 +874,7 @@
 {\
 Type * newp = new Type (name, formula); \
 return to_nonconst<Type ## _t, Type >(newp);\
-}\
-
+}
 
 #undef ROOT_TATT3D_DEFINITIONNONVIRT
 #define ROOT_TATT3D_DEFINITIONNONVIRT(Type)\
@@ -698,8 +886,7 @@
 {\
 Type * newp = new Type (); \
 return to_nonconst<Type ## _t, Type >(newp);\
-}\
-
+}
 
 #undef ROOT_TATTBBOX_DEFINITIONNONVIRT
 #define ROOT_TATTBBOX_DEFINITIONNONVIRT(Type)\
@@ -711,8 +898,7 @@
 {\
 Type * newp = new Type (); \
 return to_nonconst<Type ## _t, Type >(newp);\
-}\
-
+}
 
 #undef ROOT_TATTFILL_DEFINITIONNONVIRT
 #define ROOT_TATTFILL_DEFINITIONNONVIRT(Type)\
@@ -720,8 +906,7 @@
 {\
 Type * newp = new Type (fcolor, fstyle); \
 return to_nonconst<Type ## _t, Type >(newp);\
-}\
-
+}
 
 #undef ROOT_TATTIMAGE_DEFINITIONNONVIRT
 #define ROOT_TATTIMAGE_DEFINITIONNONVIRT(Type)\
@@ -733,8 +918,7 @@
 {\
 Type * newp = new Type (lcolor, lstyle, lwidth); \
 return to_nonconst<Type ## _t, Type >(newp);\
-}\
-
+}
 
 #undef ROOT_TATTMARKER_DEFINITIONNONVIRT
 #define ROOT_TATTMARKER_DEFINITIONNONVIRT(Type)\
@@ -742,8 +926,7 @@
 {\
 Type * newp = new Type (color, style, msize); \
 return to_nonconst<Type ## _t, Type >(newp);\
-}\
-
+}
 
 #undef ROOT_TATTPAD_DEFINITIONNONVIRT
 #define ROOT_TATTPAD_DEFINITIONNONVIRT(Type)\
@@ -751,8 +934,7 @@
 {\
 Type * newp = new Type (); \
 return to_nonconst<Type ## _t, Type >(newp);\
-}\
-
+}
 
 #undef ROOT_TATTPARTICLE_DEFINITIONNONVIRT
 #define ROOT_TATTPARTICLE_DEFINITIONNONVIRT(Type)\
@@ -764,8 +946,7 @@
 {\
 Type * newp = new Type (align, angle, color, font, tsize); \
 return to_nonconst<Type ## _t, Type >(newp);\
-}\
-
+}
 
 #undef ROOT_THSTACK_DEFINITIONNONVIRT
 #define ROOT_THSTACK_DEFINITIONNONVIRT(Type)\
@@ -773,8 +954,7 @@
 {\
 Type * newp = new Type (name, title); \
 return to_nonconst<Type ## _t, Type >(newp);\
-}\
-
+}
 
 #undef ROOT_TF1_DEFINITIONNONVIRT
 #define ROOT_TF1_DEFINITIONNONVIRT(Type)\
@@ -782,8 +962,7 @@
 {\
 Type * newp = new Type (name, formula, xmin, xmax); \
 return to_nonconst<Type ## _t, Type >(newp);\
-}\
-
+}
 
 #undef ROOT_TGRAPH_DEFINITIONNONVIRT
 #define ROOT_TGRAPH_DEFINITIONNONVIRT(Type)\
@@ -791,8 +970,7 @@
 {\
 Type * newp = new Type (n, x, y); \
 return to_nonconst<Type ## _t, Type >(newp);\
-}\
-
+}
 
 #undef ROOT_TGRAPHASYMMERRORS_DEFINITIONNONVIRT
 #define ROOT_TGRAPHASYMMERRORS_DEFINITIONNONVIRT(Type)\
@@ -800,8 +978,7 @@
 {\
 Type * newp = new Type (n, x, y, exl, exh, eyl, eyh); \
 return to_nonconst<Type ## _t, Type >(newp);\
-}\
-
+}
 
 #undef ROOT_TCUTG_DEFINITIONNONVIRT
 #define ROOT_TCUTG_DEFINITIONNONVIRT(Type)\
@@ -809,8 +986,7 @@
 {\
 Type * newp = new Type (name, n, x, y); \
 return to_nonconst<Type ## _t, Type >(newp);\
-}\
-
+}
 
 #undef ROOT_TGRAPHBENTERRORS_DEFINITIONNONVIRT
 #define ROOT_TGRAPHBENTERRORS_DEFINITIONNONVIRT(Type)\
@@ -818,8 +994,7 @@
 {\
 Type * newp = new Type (n, x, y, exl, exh, eyl, eyh, exld, exhd, eyld, eyhd); \
 return to_nonconst<Type ## _t, Type >(newp);\
-}\
-
+}
 
 #undef ROOT_TGRAPHERRORS_DEFINITIONNONVIRT
 #define ROOT_TGRAPHERRORS_DEFINITIONNONVIRT(Type)\
@@ -827,8 +1002,7 @@
 {\
 Type * newp = new Type (n, x, y, ex, ey); \
 return to_nonconst<Type ## _t, Type >(newp);\
-}\
-
+}
 
 #undef ROOT_TGRAPHPOLAR_DEFINITIONNONVIRT
 #define ROOT_TGRAPHPOLAR_DEFINITIONNONVIRT(Type)\
@@ -836,8 +1010,7 @@
 {\
 Type * newp = new Type (n, x, y, ex, ey); \
 return to_nonconst<Type ## _t, Type >(newp);\
-}\
-
+}
 
 #undef ROOT_TGRAPHQQ_DEFINITIONNONVIRT
 #define ROOT_TGRAPHQQ_DEFINITIONNONVIRT(Type)\
@@ -845,8 +1018,7 @@
 {\
 Type * newp = new Type (nx, x, ny, y); \
 return to_nonconst<Type ## _t, Type >(newp);\
-}\
-
+}
 
 #undef ROOT_TELLIPSE_DEFINITIONNONVIRT
 #define ROOT_TELLIPSE_DEFINITIONNONVIRT(Type)\
@@ -862,8 +1034,7 @@
 {\
 Type * newp = new Type (x1, y1, radius, phimin, phimax); \
 return to_nonconst<Type ## _t, Type >(newp);\
-}\
-
+}
 
 #undef ROOT_TCROWN_DEFINITIONNONVIRT
 #define ROOT_TCROWN_DEFINITIONNONVIRT(Type)\
@@ -871,8 +1042,7 @@
 {\
 Type * newp = new Type (x1, y1, radin, radout, phimin, phimax); \
 return to_nonconst<Type ## _t, Type >(newp);\
-}\
-
+}
 
 #undef ROOT_TLINE_DEFINITIONNONVIRT
 #define ROOT_TLINE_DEFINITIONNONVIRT(Type)\
@@ -880,8 +1050,7 @@
 {\
 Type * newp = new Type (x1, y1, x2, y2); \
 return to_nonconst<Type ## _t, Type >(newp);\
-}\
-
+}
 
 #undef ROOT_TARROW_DEFINITIONNONVIRT
 #define ROOT_TARROW_DEFINITIONNONVIRT(Type)\
@@ -889,8 +1058,7 @@
 {\
 Type * newp = new Type (x1, y1, x2, y2, arrowsize, option); \
 return to_nonconst<Type ## _t, Type >(newp);\
-}\
-
+}
 
 #undef ROOT_TGAXIS_DEFINITIONNONVIRT
 #define ROOT_TGAXIS_DEFINITIONNONVIRT(Type)\
@@ -898,8 +1066,7 @@
 {\
 Type * newp = new Type (xmin, ymin, xmax, ymax, wmin, wmax, ndiv, chopt, gridlength); \
 return to_nonconst<Type ## _t, Type >(newp);\
-}\
-
+}
 
 #undef ROOT_TSHAPE_DEFINITIONNONVIRT
 #define ROOT_TSHAPE_DEFINITIONNONVIRT(Type)\
@@ -907,8 +1074,7 @@
 {\
 Type * newp = new Type (name, title, material); \
 return to_nonconst<Type ## _t, Type >(newp);\
-}\
-
+}
 
 #undef ROOT_TBRIK_DEFINITIONNONVIRT
 #define ROOT_TBRIK_DEFINITIONNONVIRT(Type)\
@@ -916,8 +1082,7 @@
 {\
 Type * newp = new Type (name, title, material, dx, dy, dz); \
 return to_nonconst<Type ## _t, Type >(newp);\
-}\
-
+}
 
 #undef ROOT_TTUBE_DEFINITIONNONVIRT
 #define ROOT_TTUBE_DEFINITIONNONVIRT(Type)\
@@ -925,8 +1090,7 @@
 {\
 Type * newp = new Type (name, title, material, rmin, rmax, dz, aspect); \
 return to_nonconst<Type ## _t, Type >(newp);\
-}\
-
+}
 
 #undef ROOT_TPCON_DEFINITIONNONVIRT
 #define ROOT_TPCON_DEFINITIONNONVIRT(Type)\
@@ -934,8 +1098,7 @@
 {\
 Type * newp = new Type (name, title, material, phi1, dphi1, nz); \
 return to_nonconst<Type ## _t, Type >(newp);\
-}\
-
+}
 
 #undef ROOT_TSPHE_DEFINITIONNONVIRT
 #define ROOT_TSPHE_DEFINITIONNONVIRT(Type)\
@@ -943,8 +1106,7 @@
 {\
 Type * newp = new Type (name, title, material, rmin, rmax, themin, themax, phimin, phimax); \
 return to_nonconst<Type ## _t, Type >(newp);\
-}\
-
+}
 
 #undef ROOT_TXTRU_DEFINITIONNONVIRT
 #define ROOT_TXTRU_DEFINITIONNONVIRT(Type)\
@@ -952,8 +1114,7 @@
 {\
 Type * newp = new Type (name, title, material, nyx, nz); \
 return to_nonconst<Type ## _t, Type >(newp);\
-}\
-
+}
 
 #undef ROOT_TBOX_DEFINITIONNONVIRT
 #define ROOT_TBOX_DEFINITIONNONVIRT(Type)\
@@ -961,8 +1122,7 @@
 {\
 Type * newp = new Type (x1, y1, x2, y2); \
 return to_nonconst<Type ## _t, Type >(newp);\
-}\
-
+}
 
 #undef ROOT_TPAVE_DEFINITIONNONVIRT
 #define ROOT_TPAVE_DEFINITIONNONVIRT(Type)\
@@ -970,8 +1130,7 @@
 {\
 Type * newp = new Type (x1, y1, x2, y2, bordersize, br); \
 return to_nonconst<Type ## _t, Type >(newp);\
-}\
-
+}
 
 #undef ROOT_TPAVETEXT_DEFINITIONNONVIRT
 #define ROOT_TPAVETEXT_DEFINITIONNONVIRT(Type)\
@@ -979,8 +1138,7 @@
 {\
 Type * newp = new Type (x1, y1, x2, y2, br); \
 return to_nonconst<Type ## _t, Type >(newp);\
-}\
-
+}
 
 #undef ROOT_TDIAMOND_DEFINITIONNONVIRT
 #define ROOT_TDIAMOND_DEFINITIONNONVIRT(Type)\
@@ -988,8 +1146,7 @@
 {\
 Type * newp = new Type (x1, y1, x2, y2); \
 return to_nonconst<Type ## _t, Type >(newp);\
-}\
-
+}
 
 #undef ROOT_TPAVESTATS_DEFINITIONNONVIRT
 #define ROOT_TPAVESTATS_DEFINITIONNONVIRT(Type)\
@@ -997,8 +1154,7 @@
 {\
 Type * newp = new Type (x1, y1, x2, y2, br); \
 return to_nonconst<Type ## _t, Type >(newp);\
-}\
-
+}
 
 #undef ROOT_TPAVESTEXT_DEFINITIONNONVIRT
 #define ROOT_TPAVESTEXT_DEFINITIONNONVIRT(Type)\
@@ -1006,8 +1162,7 @@
 {\
 Type * newp = new Type (x1, y1, x2, y2, npaves, br); \
 return to_nonconst<Type ## _t, Type >(newp);\
-}\
-
+}
 
 #undef ROOT_TLEGEND_DEFINITIONNONVIRT
 #define ROOT_TLEGEND_DEFINITIONNONVIRT(Type)\
@@ -1015,8 +1170,7 @@
 {\
 Type * newp = new Type (x1, y1, x2, y2, header, option); \
 return to_nonconst<Type ## _t, Type >(newp);\
-}\
-
+}
 
 #undef ROOT_TPAVELABEL_DEFINITIONNONVIRT
 #define ROOT_TPAVELABEL_DEFINITIONNONVIRT(Type)\
@@ -1024,8 +1178,7 @@
 {\
 Type * newp = new Type (x1, y1, x2, y2, label, option); \
 return to_nonconst<Type ## _t, Type >(newp);\
-}\
-
+}
 
 #undef ROOT_TPAVECLASS_DEFINITIONNONVIRT
 #define ROOT_TPAVECLASS_DEFINITIONNONVIRT(Type)\
@@ -1037,8 +1190,7 @@
 {\
 Type * newp = new Type (x1, y1, x2, y2, color, bordersize, bordermode); \
 return to_nonconst<Type ## _t, Type >(newp);\
-}\
-
+}
 
 #undef ROOT_TFRAME_DEFINITIONNONVIRT
 #define ROOT_TFRAME_DEFINITIONNONVIRT(Type)\
@@ -1046,8 +1198,7 @@
 {\
 Type * newp = new Type (x1, y1, x2, y2); \
 return to_nonconst<Type ## _t, Type >(newp);\
-}\
-
+}
 
 #undef ROOT_TSLIDERBOX_DEFINITIONNONVIRT
 #define ROOT_TSLIDERBOX_DEFINITIONNONVIRT(Type)\
@@ -1055,8 +1206,7 @@
 {\
 Type * newp = new Type (x1, y1, x2, y2, color, bordersize, bordermode); \
 return to_nonconst<Type ## _t, Type >(newp);\
-}\
-
+}
 
 #undef ROOT_TTREE_DEFINITIONNONVIRT
 #define ROOT_TTREE_DEFINITIONNONVIRT(Type)\
@@ -1064,8 +1214,7 @@
 {\
 Type * newp = new Type (name, title, splitlevel); \
 return to_nonconst<Type ## _t, Type >(newp);\
-}\
-
+}
 
 #undef ROOT_TCHAIN_DEFINITIONNONVIRT
 #define ROOT_TCHAIN_DEFINITIONNONVIRT(Type)\
@@ -1073,8 +1222,7 @@
 {\
 Type * newp = new Type (name, title); \
 return to_nonconst<Type ## _t, Type >(newp);\
-}\
-
+}
 
 #undef ROOT_TNTUPLE_DEFINITIONNONVIRT
 #define ROOT_TNTUPLE_DEFINITIONNONVIRT(Type)\
@@ -1082,8 +1230,7 @@
 {\
 Type * newp = new Type (name, title, varlist, bufsize); \
 return to_nonconst<Type ## _t, Type >(newp);\
-}\
-
+}
 
 #undef ROOT_TNTUPLED_DEFINITIONNONVIRT
 #define ROOT_TNTUPLED_DEFINITIONNONVIRT(Type)\
@@ -1091,8 +1238,7 @@
 {\
 Type * newp = new Type (name, title, varlist, bufsize); \
 return to_nonconst<Type ## _t, Type >(newp);\
-}\
-
+}
 
 #undef ROOT_TTREESQL_DEFINITIONNONVIRT
 #define ROOT_TTREESQL_DEFINITIONNONVIRT(Type)\
@@ -1104,8 +1250,7 @@
 {\
 Type * newp = new Type (n, x, y, option); \
 return to_nonconst<Type ## _t, Type >(newp);\
-}\
-
+}
 
 #undef ROOT_TCURLYLINE_DEFINITIONNONVIRT
 #define ROOT_TCURLYLINE_DEFINITIONNONVIRT(Type)\
@@ -1113,8 +1258,7 @@
 {\
 Type * newp = new Type (x1, y1, x2, y2, wl, amp); \
 return to_nonconst<Type ## _t, Type >(newp);\
-}\
-
+}
 
 #undef ROOT_TCURLYARC_DEFINITIONNONVIRT
 #define ROOT_TCURLYARC_DEFINITIONNONVIRT(Type)\
@@ -1122,8 +1266,7 @@
 {\
 Type * newp = new Type (x1, y1, rad, phimin, phimax, wl, amp); \
 return to_nonconst<Type ## _t, Type >(newp);\
-}\
-
+}
 
 #undef ROOT_TEFFICIENCY_DEFINITIONNONVIRT
 #define ROOT_TEFFICIENCY_DEFINITIONNONVIRT(Type)\
@@ -1143,8 +1286,7 @@
 Type ## _p Type ## _tLatexDrawLatex ( Type ## _p p, double x, double y, const char * text )\
 {\
 return to_nonconst<Type ## _t, Type>((Type *)to_nonconst<Type,Type ## _t>(p)->DrawLatex(x, y, text)) ;\
-}\
-
+}
 
 #undef ROOT_TTEXT_DEFINITIONNONVIRT
 #define ROOT_TTEXT_DEFINITIONNONVIRT(Type)\
@@ -1164,8 +1306,7 @@
 {\
 Type * newp = new Type (fname, option, ftitle, compress); \
 return to_nonconst<Type ## _t, Type >(newp);\
-}\
-
+}
 
 #undef ROOT_TBRANCH_DEFINITIONNONVIRT
 #define ROOT_TBRANCH_DEFINITIONNONVIRT(Type)\
@@ -1213,7 +1354,34 @@
 
 #undef ROOT_TH1_DEFINITIONNONVIRT
 #define ROOT_TH1_DEFINITIONNONVIRT(Type)\
-
+Type ## _p Type ## _tH1GetAsymmetry ( Type ## _p p, TH1_p h2, double c2, double dc2 )\
+{\
+return to_nonconst<Type ## _t, Type>((Type *)to_nonconst<Type,Type ## _t>(p)->GetAsymmetry(to_nonconst<TH1,TH1_t>(h2), c2, dc2)) ;\
+}\
+int  Type ## _tH1GetBufferLength ( Type ## _p p )\
+{\
+return to_nonconst<Type,Type ## _t>(p)->GetBufferLength();\
+}\
+int  Type ## _tH1GetBufferSize ( Type ## _p p )\
+{\
+return to_nonconst<Type,Type ## _t>(p)->GetBufferSize();\
+}\
+TDirectory_p Type ## _tH1GetDirectory ( Type ## _p p )\
+{\
+return to_nonconst<TDirectory_t,TDirectory>((TDirectory*)to_nonconst<Type,Type ## _t>(p)->GetDirectory());\
+}\
+TAxis_p Type ## _tH1GetXaxis ( Type ## _p p )\
+{\
+return to_nonconst<TAxis_t,TAxis>((TAxis*)to_nonconst<Type,Type ## _t>(p)->GetXaxis());\
+}\
+TAxis_p Type ## _tH1GetYaxis ( Type ## _p p )\
+{\
+return to_nonconst<TAxis_t,TAxis>((TAxis*)to_nonconst<Type,Type ## _t>(p)->GetYaxis());\
+}\
+TAxis_p Type ## _tH1GetZaxis ( Type ## _p p )\
+{\
+return to_nonconst<TAxis_t,TAxis>((TAxis*)to_nonconst<Type,Type ## _t>(p)->GetZaxis());\
+}
 
 #undef ROOT_TH2_DEFINITIONNONVIRT
 #define ROOT_TH2_DEFINITIONNONVIRT(Type)\
@@ -1237,8 +1405,7 @@
 {\
 Type * newp = new Type (name, title, nbinsx, xlow, xup); \
 return to_nonconst<Type ## _t, Type >(newp);\
-}\
-
+}
 
 #undef ROOT_TH1I_DEFINITIONNONVIRT
 #define ROOT_TH1I_DEFINITIONNONVIRT(Type)\
@@ -1262,8 +1429,7 @@
 {\
 Type * newp = new Type (name, title, nbinsx, xlow, xup, nbinsy, ylow, yup); \
 return to_nonconst<Type ## _t, Type >(newp);\
-}\
-
+}
 
 #undef ROOT_TH2I_DEFINITIONNONVIRT
 #define ROOT_TH2I_DEFINITIONNONVIRT(Type)\
@@ -1323,8 +1489,7 @@
 {\
 Type * newp = new Type (name, title, ww, wh); \
 return to_nonconst<Type ## _t, Type >(newp);\
-}\
-
+}
 
 #undef ROOT_TDIALOGCANVAS_DEFINITIONNONVIRT
 #define ROOT_TDIALOGCANVAS_DEFINITIONNONVIRT(Type)\
@@ -1356,9 +1521,112 @@
 {\
 Type * newp = new Type (appClassName, argc, argv); \
 return to_nonconst<Type ## _t, Type >(newp);\
-}\
-
+}
 
+ROOT_DELETABLE_DEFINITIONVIRT(TRint)
+ROOT_DELETABLE_DEFINITIONVIRT(TApplication)
+ROOT_DELETABLE_DEFINITIONVIRT(TSlider)
+ROOT_DELETABLE_DEFINITIONVIRT(TEvePad)
+ROOT_DELETABLE_DEFINITIONVIRT(TInspectCanvas)
+ROOT_DELETABLE_DEFINITIONVIRT(TDialogCanvas)
+ROOT_DELETABLE_DEFINITIONVIRT(TCanvas)
+ROOT_DELETABLE_DEFINITIONVIRT(TGroupButton)
+ROOT_DELETABLE_DEFINITIONVIRT(TButton)
+ROOT_DELETABLE_DEFINITIONVIRT(TPad)
+ROOT_DELETABLE_DEFINITIONVIRT(TVirtualPad)
+ROOT_DELETABLE_DEFINITIONVIRT(TQObject)
+ROOT_DELETABLE_DEFINITIONVIRT(TH3S)
+ROOT_DELETABLE_DEFINITIONVIRT(TH3I)
+ROOT_DELETABLE_DEFINITIONVIRT(TH3F)
+ROOT_DELETABLE_DEFINITIONVIRT(TH3D)
+ROOT_DELETABLE_DEFINITIONVIRT(TH3C)
+ROOT_DELETABLE_DEFINITIONVIRT(TH2S)
+ROOT_DELETABLE_DEFINITIONVIRT(TH2Poly)
+ROOT_DELETABLE_DEFINITIONVIRT(TH2I)
+ROOT_DELETABLE_DEFINITIONVIRT(TH2F)
+ROOT_DELETABLE_DEFINITIONVIRT(TH2D)
+ROOT_DELETABLE_DEFINITIONVIRT(TH2C)
+ROOT_DELETABLE_DEFINITIONVIRT(TH1S)
+ROOT_DELETABLE_DEFINITIONVIRT(TH1I)
+ROOT_DELETABLE_DEFINITIONVIRT(TH1F)
+ROOT_DELETABLE_DEFINITIONVIRT(TH1D)
+ROOT_DELETABLE_DEFINITIONVIRT(TH1C)
+ROOT_DELETABLE_DEFINITIONVIRT(TH3)
+ROOT_DELETABLE_DEFINITIONVIRT(TH2)
+ROOT_DELETABLE_DEFINITIONVIRT(TH1)
+ROOT_DELETABLE_DEFINITIONVIRT(TArrayS)
+ROOT_DELETABLE_DEFINITIONVIRT(TArrayL64)
+ROOT_DELETABLE_DEFINITIONVIRT(TArrayL)
+ROOT_DELETABLE_DEFINITIONVIRT(TArrayI)
+ROOT_DELETABLE_DEFINITIONVIRT(TArrayF)
+ROOT_DELETABLE_DEFINITIONVIRT(TArrayD)
+ROOT_DELETABLE_DEFINITIONVIRT(TArrayC)
+ROOT_DELETABLE_DEFINITIONVIRT(TArray)
+ROOT_DELETABLE_DEFINITIONVIRT(TTreePlayer)
+ROOT_DELETABLE_DEFINITIONVIRT(TVirtualTreePlayer)
+ROOT_DELETABLE_DEFINITIONVIRT(TBranch)
+ROOT_DELETABLE_DEFINITIONVIRT(TFile)
+ROOT_DELETABLE_DEFINITIONVIRT(TDirectoryFile)
+ROOT_DELETABLE_DEFINITIONVIRT(TDirectory)
+ROOT_DELETABLE_DEFINITIONVIRT(TText)
+ROOT_DELETABLE_DEFINITIONVIRT(TLatex)
+ROOT_DELETABLE_DEFINITIONVIRT(TAxis)
+ROOT_DELETABLE_DEFINITIONVIRT(TEfficiency)
+ROOT_DELETABLE_DEFINITIONVIRT(TCurlyArc)
+ROOT_DELETABLE_DEFINITIONVIRT(TCurlyLine)
+ROOT_DELETABLE_DEFINITIONVIRT(TPolyLine)
+ROOT_DELETABLE_DEFINITIONVIRT(TTreeSQL)
+ROOT_DELETABLE_DEFINITIONVIRT(TNtupleD)
+ROOT_DELETABLE_DEFINITIONVIRT(TNtuple)
+ROOT_DELETABLE_DEFINITIONVIRT(TChain)
+ROOT_DELETABLE_DEFINITIONVIRT(TTree)
+ROOT_DELETABLE_DEFINITIONVIRT(TSliderBox)
+ROOT_DELETABLE_DEFINITIONVIRT(TFrame)
+ROOT_DELETABLE_DEFINITIONVIRT(TWbox)
+ROOT_DELETABLE_DEFINITIONVIRT(TPaveClass)
+ROOT_DELETABLE_DEFINITIONVIRT(TPaveLabel)
+ROOT_DELETABLE_DEFINITIONVIRT(TLegend)
+ROOT_DELETABLE_DEFINITIONVIRT(TPavesText)
+ROOT_DELETABLE_DEFINITIONVIRT(TPaveStats)
+ROOT_DELETABLE_DEFINITIONVIRT(TDiamond)
+ROOT_DELETABLE_DEFINITIONVIRT(TPaveText)
+ROOT_DELETABLE_DEFINITIONVIRT(TPave)
+ROOT_DELETABLE_DEFINITIONVIRT(TBox)
+ROOT_DELETABLE_DEFINITIONVIRT(TXTRU)
+ROOT_DELETABLE_DEFINITIONVIRT(TSPHE)
+ROOT_DELETABLE_DEFINITIONVIRT(TPCON)
+ROOT_DELETABLE_DEFINITIONVIRT(TTUBE)
+ROOT_DELETABLE_DEFINITIONVIRT(TBRIK)
+ROOT_DELETABLE_DEFINITIONVIRT(TShape)
+ROOT_DELETABLE_DEFINITIONVIRT(TGaxis)
+ROOT_DELETABLE_DEFINITIONVIRT(TArrow)
+ROOT_DELETABLE_DEFINITIONVIRT(TLine)
+ROOT_DELETABLE_DEFINITIONVIRT(TCrown)
+ROOT_DELETABLE_DEFINITIONVIRT(TArc)
+ROOT_DELETABLE_DEFINITIONVIRT(TEllipse)
+ROOT_DELETABLE_DEFINITIONVIRT(TGraphQQ)
+ROOT_DELETABLE_DEFINITIONVIRT(TGraphPolar)
+ROOT_DELETABLE_DEFINITIONVIRT(TGraphErrors)
+ROOT_DELETABLE_DEFINITIONVIRT(TGraphBentErrors)
+ROOT_DELETABLE_DEFINITIONVIRT(TCutG)
+ROOT_DELETABLE_DEFINITIONVIRT(TGraphAsymmErrors)
+ROOT_DELETABLE_DEFINITIONVIRT(TGraph)
+ROOT_DELETABLE_DEFINITIONVIRT(TF1)
+ROOT_DELETABLE_DEFINITIONVIRT(THStack)
+ROOT_DELETABLE_DEFINITIONVIRT(TAttText)
+ROOT_DELETABLE_DEFINITIONVIRT(TAttParticle)
+ROOT_DELETABLE_DEFINITIONVIRT(TAttPad)
+ROOT_DELETABLE_DEFINITIONVIRT(TAttMarker)
+ROOT_DELETABLE_DEFINITIONVIRT(TAttLine)
+ROOT_DELETABLE_DEFINITIONVIRT(TAttImage)
+ROOT_DELETABLE_DEFINITIONVIRT(TAttFill)
+ROOT_DELETABLE_DEFINITIONVIRT(TAttCanvas)
+ROOT_DELETABLE_DEFINITIONVIRT(TAttBBox)
+ROOT_DELETABLE_DEFINITIONVIRT(TAttAxis)
+ROOT_DELETABLE_DEFINITIONVIRT(TAtt3D)
+ROOT_DELETABLE_DEFINITIONVIRT(TFormula)
+ROOT_DELETABLE_DEFINITIONVIRT(TNamed)
+ROOT_DELETABLE_DEFINITIONVIRT(TObject)
 ROOT_TAPPLICATION_DEFINITIONVIRT(TRint)
 ROOT_TAPPLICATION_DEFINITIONVIRT(TApplication)
 ROOT_TARC_DEFINITIONVIRT(TArc)
@@ -1783,8 +2051,10 @@
 ROOT_TNAMED_DEFINITIONVIRT(TCutG)
 ROOT_TNAMED_DEFINITIONVIRT(TGraphAsymmErrors)
 ROOT_TNAMED_DEFINITIONVIRT(TGraph)
+ROOT_TNAMED_DEFINITIONVIRT(TF1)
 ROOT_TNAMED_DEFINITIONVIRT(THStack)
 ROOT_TNAMED_DEFINITIONVIRT(TAttParticle)
+ROOT_TNAMED_DEFINITIONVIRT(TFormula)
 ROOT_TNAMED_DEFINITIONVIRT(TNamed)
 ROOT_TNTUPLE_DEFINITIONVIRT(TNtuple)
 ROOT_TNTUPLED_DEFINITIONVIRT(TNtupleD)
@@ -1867,8 +2137,10 @@
 ROOT_TOBJECT_DEFINITIONVIRT(TCutG)
 ROOT_TOBJECT_DEFINITIONVIRT(TGraphAsymmErrors)
 ROOT_TOBJECT_DEFINITIONVIRT(TGraph)
+ROOT_TOBJECT_DEFINITIONVIRT(TF1)
 ROOT_TOBJECT_DEFINITIONVIRT(THStack)
 ROOT_TOBJECT_DEFINITIONVIRT(TAttParticle)
+ROOT_TOBJECT_DEFINITIONVIRT(TFormula)
 ROOT_TOBJECT_DEFINITIONVIRT(TNamed)
 ROOT_TOBJECT_DEFINITIONVIRT(TObject)
 ROOT_TPCON_DEFINITIONVIRT(TPCON)
@@ -1949,6 +2221,7 @@
 ROOT_TXTRU_DEFINITIONVIRT(TXTRU)
 
 
+ROOT_DELETABLE_DEFINITIONNONVIRT(Deletable)
 ROOT_TOBJECT_DEFINITIONNONVIRT(TObject)
 ROOT_TNAMED_DEFINITIONNONVIRT(TNamed)
 ROOT_TFORMULA_DEFINITIONNONVIRT(TFormula)
diff --git a/csrc/HROOT.h b/csrc/HROOT.h
--- a/csrc/HROOT.h
+++ b/csrc/HROOT.h
@@ -10,10 +10,15 @@
 
 
 
+#undef ROOT_DELETABLE_DECLARATIONVIRT
+#define ROOT_DELETABLE_DECLARATIONVIRT(Type) \
+void Type ## _delete ( Type ## _p p )
+
 #undef ROOT_TOBJECT_DECLARATIONVIRT
 #define ROOT_TOBJECT_DECLARATIONVIRT(Type) \
 const char * Type ## _GetName ( Type ## _p p ); \
 void Type ## _Draw ( Type ## _p p, const char * option ); \
+TObject_p Type ## _FindObject ( Type ## _p p, const char * name ); \
 void Type ## _SaveAs ( Type ## _p p, const char * filename, const char * option ); \
 int  Type ## _Write ( Type ## _p p, const char * name, int  option, int  bufsize )
 
@@ -315,11 +320,55 @@
 
 #undef ROOT_TH1_DECLARATIONVIRT
 #define ROOT_TH1_DECLARATIONVIRT(Type) \
-TAxis_p Type ## _GetXaxis ( Type ## _p p ); \
-TAxis_p Type ## _GetYaxis ( Type ## _p p ); \
-TAxis_p Type ## _GetZaxis ( Type ## _p p ); \
 void Type ## _Add ( Type ## _p p, TH1_p h1, double c1 ); \
-int  Type ## _fill1 ( Type ## _p p, double x )
+void Type ## _AddBinContent ( Type ## _p p, int  bin, double w ); \
+double Type ## _Chi2Test ( Type ## _p p, TH1_p h2, const char * option, double * res ); \
+double Type ## _ComputeIntegral ( Type ## _p p ); \
+void Type ## _DirectoryAutoAdd ( Type ## _p p, TDirectory_p dir ); \
+int  Type ## _DistancetoPrimitive ( Type ## _p p, int  px, int  py ); \
+void Type ## _Divide ( Type ## _p p, TH1_p h1, TH2_p h2, double c1, double c2, const char * option ); \
+Type ## _p Type ## _DrawCopy ( Type ## _p p, const char * option ); \
+TH1_p Type ## _DrawNormalized ( Type ## _p p, const char * option, double norm ); \
+void Type ## _DrawPanel ( Type ## _p p ); \
+int  Type ## _BufferEmpty ( Type ## _p p, int  action ); \
+void Type ## _Eval ( Type ## _p p, TF1_p f1, const char * option ); \
+void Type ## _ExecuteEvent ( Type ## _p p, int  event, int  px, int  py ); \
+TH1_p Type ## _FFT ( Type ## _p p, TH1_p h_output, const char * option ); \
+int  Type ## _fill1 ( Type ## _p p, double x ); \
+void Type ## _FillN ( Type ## _p p, int  ntimes, double * x, double * w, int  stride ); \
+void Type ## _FillRandom ( Type ## _p p, TH1_p h, int  ntimes ); \
+int  Type ## _FindBin ( Type ## _p p, double x, double y, double z ); \
+int  Type ## _FindFixBin ( Type ## _p p, double x, double y, double z ); \
+int  Type ## _FindFirstBinAbove ( Type ## _p p, double threshold, int  axis ); \
+int  Type ## _FindLastBinAbove ( Type ## _p p, double threshold, int  axis ); \
+void Type ## _FitPanel ( Type ## _p p ); \
+int  Type ## _GetNdivisions ( Type ## _p p, const char * axis ); \
+int  Type ## _GetAxisColor ( Type ## _p p, const char * axis ); \
+int  Type ## _GetLabelColor ( Type ## _p p, const char * axis ); \
+int  Type ## _GetLabelFont ( Type ## _p p, const char * axis ); \
+double Type ## _GetLabelOffset ( Type ## _p p, const char * axis ); \
+double Type ## _GetLabelSize ( Type ## _p p, const char * axis ); \
+int  Type ## _GetTitleFont ( Type ## _p p, const char * axis ); \
+double Type ## _GetTitleOffset ( Type ## _p p, const char * axis ); \
+double Type ## _GetTitleSize ( Type ## _p p, const char * axis ); \
+double Type ## _GetTickLength ( Type ## _p p, const char * axis ); \
+double Type ## _GetBarOffset ( Type ## _p p ); \
+double Type ## _GetBarWidth ( Type ## _p p ); \
+int  Type ## _GetContour ( Type ## _p p, double * levels ); \
+double Type ## _GetContourLevel ( Type ## _p p, int  level ); \
+double Type ## _GetContourLevelPad ( Type ## _p p, int  level ); \
+int  Type ## _GetBin ( Type ## _p p, int  binx, int  biny, int  binz ); \
+double Type ## _GetBinCenter ( Type ## _p p, int  bin ); \
+double Type ## _GetBinContent1 ( Type ## _p p, int  binx ); \
+double Type ## _GetBinContent2 ( Type ## _p p, int  binx, int  biny ); \
+double Type ## _GetBinContent3 ( Type ## _p p, int  binx, int  biny, int  binz ); \
+double Type ## _GetBinError1 ( Type ## _p p, int  binx ); \
+double Type ## _GetBinError2 ( Type ## _p p, int  binx, int  biny ); \
+double Type ## _GetBinError3 ( Type ## _p p, int  binx, int  biny, int  binz ); \
+double Type ## _GetBinLowEdge ( Type ## _p p, int  bin ); \
+double Type ## _GetBinWidth ( Type ## _p p, int  bin ); \
+double Type ## _GetCellContent ( Type ## _p p, int  binx, int  biny ); \
+double Type ## _GetCellError ( Type ## _p p, int  binx, int  biny )
 
 #undef ROOT_TH2_DECLARATIONVIRT
 #define ROOT_TH2_DECLARATIONVIRT(Type) \
@@ -442,219 +491,174 @@
 #define ROOT_TRINT_DECLARATIONVIRT(Type) \
 
 
+#undef ROOT_DELETABLE_DECLARATIONNONVIRT
+#define ROOT_DELETABLE_DECLARATIONNONVIRT(Type) \
+
 #undef ROOT_TOBJECT_DECLARATIONNONVIRT
 #define ROOT_TOBJECT_DECLARATIONNONVIRT(Type) \
-Type ## _p Type ## _newTObject (  ); \
-
+Type ## _p Type ## _newTObject (  )
 #undef ROOT_TNAMED_DECLARATIONNONVIRT
 #define ROOT_TNAMED_DECLARATIONNONVIRT(Type) \
-Type ## _p Type ## _newTNamed ( const char * name, const char * title ); \
-
+Type ## _p Type ## _newTNamed ( const char * name, const char * title )
 #undef ROOT_TFORMULA_DECLARATIONNONVIRT
 #define ROOT_TFORMULA_DECLARATIONNONVIRT(Type) \
-Type ## _p Type ## _newTFormula ( const char * name, const char * formula ); \
-
+Type ## _p Type ## _newTFormula ( const char * name, const char * formula )
 #undef ROOT_TATT3D_DECLARATIONNONVIRT
 #define ROOT_TATT3D_DECLARATIONNONVIRT(Type) \
 
 #undef ROOT_TATTAXIS_DECLARATIONNONVIRT
 #define ROOT_TATTAXIS_DECLARATIONNONVIRT(Type) \
-Type ## _p Type ## _newTAttAxis (  ); \
-
+Type ## _p Type ## _newTAttAxis (  )
 #undef ROOT_TATTBBOX_DECLARATIONNONVIRT
 #define ROOT_TATTBBOX_DECLARATIONNONVIRT(Type) \
 
 #undef ROOT_TATTCANVAS_DECLARATIONNONVIRT
 #define ROOT_TATTCANVAS_DECLARATIONNONVIRT(Type) \
-Type ## _p Type ## _newTAttCanvas (  ); \
-
+Type ## _p Type ## _newTAttCanvas (  )
 #undef ROOT_TATTFILL_DECLARATIONNONVIRT
 #define ROOT_TATTFILL_DECLARATIONNONVIRT(Type) \
-Type ## _p Type ## _newTAttFill ( int  fcolor, int  fstyle ); \
-
+Type ## _p Type ## _newTAttFill ( int  fcolor, int  fstyle )
 #undef ROOT_TATTIMAGE_DECLARATIONNONVIRT
 #define ROOT_TATTIMAGE_DECLARATIONNONVIRT(Type) \
 
 #undef ROOT_TATTLINE_DECLARATIONNONVIRT
 #define ROOT_TATTLINE_DECLARATIONNONVIRT(Type) \
-Type ## _p Type ## _newTAttLine ( int  lcolor, int  lstyle, int  lwidth ); \
-
+Type ## _p Type ## _newTAttLine ( int  lcolor, int  lstyle, int  lwidth )
 #undef ROOT_TATTMARKER_DECLARATIONNONVIRT
 #define ROOT_TATTMARKER_DECLARATIONNONVIRT(Type) \
-Type ## _p Type ## _newTAttMarker ( int  color, int  style, int  msize ); \
-
+Type ## _p Type ## _newTAttMarker ( int  color, int  style, int  msize )
 #undef ROOT_TATTPAD_DECLARATIONNONVIRT
 #define ROOT_TATTPAD_DECLARATIONNONVIRT(Type) \
-Type ## _p Type ## _newTAttPad (  ); \
-
+Type ## _p Type ## _newTAttPad (  )
 #undef ROOT_TATTPARTICLE_DECLARATIONNONVIRT
 #define ROOT_TATTPARTICLE_DECLARATIONNONVIRT(Type) \
 
 #undef ROOT_TATTTEXT_DECLARATIONNONVIRT
 #define ROOT_TATTTEXT_DECLARATIONNONVIRT(Type) \
-Type ## _p Type ## _newTAttText ( int  align, double angle, int  color, int  font, double tsize ); \
-
+Type ## _p Type ## _newTAttText ( int  align, double angle, int  color, int  font, double tsize )
 #undef ROOT_THSTACK_DECLARATIONNONVIRT
 #define ROOT_THSTACK_DECLARATIONNONVIRT(Type) \
-Type ## _p Type ## _newTHStack ( const char * name, const char * title ); \
-
+Type ## _p Type ## _newTHStack ( const char * name, const char * title )
 #undef ROOT_TF1_DECLARATIONNONVIRT
 #define ROOT_TF1_DECLARATIONNONVIRT(Type) \
-Type ## _p Type ## _newTF1 ( const char * name, const char * formula, double xmin, double xmax ); \
-
+Type ## _p Type ## _newTF1 ( const char * name, const char * formula, double xmin, double xmax )
 #undef ROOT_TGRAPH_DECLARATIONNONVIRT
 #define ROOT_TGRAPH_DECLARATIONNONVIRT(Type) \
-Type ## _p Type ## _newTGraph ( int  n, double * x, double * y ); \
-
+Type ## _p Type ## _newTGraph ( int  n, double * x, double * y )
 #undef ROOT_TGRAPHASYMMERRORS_DECLARATIONNONVIRT
 #define ROOT_TGRAPHASYMMERRORS_DECLARATIONNONVIRT(Type) \
-Type ## _p Type ## _newTGraphAsymmErrors ( int  n, double * x, double * y, double * exl, double * exh, double * eyl, double * eyh ); \
-
+Type ## _p Type ## _newTGraphAsymmErrors ( int  n, double * x, double * y, double * exl, double * exh, double * eyl, double * eyh )
 #undef ROOT_TCUTG_DECLARATIONNONVIRT
 #define ROOT_TCUTG_DECLARATIONNONVIRT(Type) \
-Type ## _p Type ## _newTCutG ( const char * name, int  n, double * x, double * y ); \
-
+Type ## _p Type ## _newTCutG ( const char * name, int  n, double * x, double * y )
 #undef ROOT_TGRAPHBENTERRORS_DECLARATIONNONVIRT
 #define ROOT_TGRAPHBENTERRORS_DECLARATIONNONVIRT(Type) \
-Type ## _p Type ## _newTGraphBentErrors ( int  n, double * x, double * y, double * exl, double * exh, double * eyl, double * eyh, double * exld, double * exhd, double * eyld, double * eyhd ); \
-
+Type ## _p Type ## _newTGraphBentErrors ( int  n, double * x, double * y, double * exl, double * exh, double * eyl, double * eyh, double * exld, double * exhd, double * eyld, double * eyhd )
 #undef ROOT_TGRAPHERRORS_DECLARATIONNONVIRT
 #define ROOT_TGRAPHERRORS_DECLARATIONNONVIRT(Type) \
-Type ## _p Type ## _newTGraphErrors ( int  n, double * x, double * y, double * ex, double * ey ); \
-
+Type ## _p Type ## _newTGraphErrors ( int  n, double * x, double * y, double * ex, double * ey )
 #undef ROOT_TGRAPHPOLAR_DECLARATIONNONVIRT
 #define ROOT_TGRAPHPOLAR_DECLARATIONNONVIRT(Type) \
-Type ## _p Type ## _newTGraphPolar ( int  n, double * x, double * y, double * ex, double * ey ); \
-
+Type ## _p Type ## _newTGraphPolar ( int  n, double * x, double * y, double * ex, double * ey )
 #undef ROOT_TGRAPHQQ_DECLARATIONNONVIRT
 #define ROOT_TGRAPHQQ_DECLARATIONNONVIRT(Type) \
-Type ## _p Type ## _newTGraphQQ ( int  nx, double * x, int  ny, double * y ); \
-
+Type ## _p Type ## _newTGraphQQ ( int  nx, double * x, int  ny, double * y )
 #undef ROOT_TELLIPSE_DECLARATIONNONVIRT
 #define ROOT_TELLIPSE_DECLARATIONNONVIRT(Type) \
 Type ## _p Type ## _newTEllipse ( double x1, double y1, double r1, double r2, double phimin, double phimax, double theta )
 #undef ROOT_TARC_DECLARATIONNONVIRT
 #define ROOT_TARC_DECLARATIONNONVIRT(Type) \
-Type ## _p Type ## _newTArc ( double x1, double y1, double radius, double phimin, double phimax ); \
-
+Type ## _p Type ## _newTArc ( double x1, double y1, double radius, double phimin, double phimax )
 #undef ROOT_TCROWN_DECLARATIONNONVIRT
 #define ROOT_TCROWN_DECLARATIONNONVIRT(Type) \
-Type ## _p Type ## _newTCrown ( double x1, double y1, double radin, double radout, double phimin, double phimax ); \
-
+Type ## _p Type ## _newTCrown ( double x1, double y1, double radin, double radout, double phimin, double phimax )
 #undef ROOT_TLINE_DECLARATIONNONVIRT
 #define ROOT_TLINE_DECLARATIONNONVIRT(Type) \
-Type ## _p Type ## _newTLine ( double x1, double y1, double x2, double y2 ); \
-
+Type ## _p Type ## _newTLine ( double x1, double y1, double x2, double y2 )
 #undef ROOT_TARROW_DECLARATIONNONVIRT
 #define ROOT_TARROW_DECLARATIONNONVIRT(Type) \
-Type ## _p Type ## _newTArrow ( double x1, double y1, double x2, double y2, double arrowsize, const char * option ); \
-
+Type ## _p Type ## _newTArrow ( double x1, double y1, double x2, double y2, double arrowsize, const char * option )
 #undef ROOT_TGAXIS_DECLARATIONNONVIRT
 #define ROOT_TGAXIS_DECLARATIONNONVIRT(Type) \
-Type ## _p Type ## _newTGaxis ( double xmin, double ymin, double xmax, double ymax, double wmin, double wmax, int  ndiv, const char * chopt, double gridlength ); \
-
+Type ## _p Type ## _newTGaxis ( double xmin, double ymin, double xmax, double ymax, double wmin, double wmax, int  ndiv, const char * chopt, double gridlength )
 #undef ROOT_TSHAPE_DECLARATIONNONVIRT
 #define ROOT_TSHAPE_DECLARATIONNONVIRT(Type) \
-Type ## _p Type ## _newTShape ( const char * name, const char * title, const char * material ); \
-
+Type ## _p Type ## _newTShape ( const char * name, const char * title, const char * material )
 #undef ROOT_TBRIK_DECLARATIONNONVIRT
 #define ROOT_TBRIK_DECLARATIONNONVIRT(Type) \
-Type ## _p Type ## _newTBRIK ( const char * name, const char * title, const char * material, double dx, double dy, double dz ); \
-
+Type ## _p Type ## _newTBRIK ( const char * name, const char * title, const char * material, double dx, double dy, double dz )
 #undef ROOT_TTUBE_DECLARATIONNONVIRT
 #define ROOT_TTUBE_DECLARATIONNONVIRT(Type) \
-Type ## _p Type ## _newTTUBE ( const char * name, const char * title, const char * material, double rmin, double rmax, double dz, double aspect ); \
-
+Type ## _p Type ## _newTTUBE ( const char * name, const char * title, const char * material, double rmin, double rmax, double dz, double aspect )
 #undef ROOT_TPCON_DECLARATIONNONVIRT
 #define ROOT_TPCON_DECLARATIONNONVIRT(Type) \
-Type ## _p Type ## _newTPCON ( const char * name, const char * title, const char * material, double phi1, double dphi1, int  nz ); \
-
+Type ## _p Type ## _newTPCON ( const char * name, const char * title, const char * material, double phi1, double dphi1, int  nz )
 #undef ROOT_TSPHE_DECLARATIONNONVIRT
 #define ROOT_TSPHE_DECLARATIONNONVIRT(Type) \
-Type ## _p Type ## _newTSPHE ( const char * name, const char * title, const char * material, double rmin, double rmax, double themin, double themax, double phimin, double phimax ); \
-
+Type ## _p Type ## _newTSPHE ( const char * name, const char * title, const char * material, double rmin, double rmax, double themin, double themax, double phimin, double phimax )
 #undef ROOT_TXTRU_DECLARATIONNONVIRT
 #define ROOT_TXTRU_DECLARATIONNONVIRT(Type) \
-Type ## _p Type ## _newTXTRU ( const char * name, const char * title, const char * material, int  nyx, int  nz ); \
-
+Type ## _p Type ## _newTXTRU ( const char * name, const char * title, const char * material, int  nyx, int  nz )
 #undef ROOT_TBOX_DECLARATIONNONVIRT
 #define ROOT_TBOX_DECLARATIONNONVIRT(Type) \
-Type ## _p Type ## _newTBox ( double x1, double y1, double x2, double y2 ); \
-
+Type ## _p Type ## _newTBox ( double x1, double y1, double x2, double y2 )
 #undef ROOT_TPAVE_DECLARATIONNONVIRT
 #define ROOT_TPAVE_DECLARATIONNONVIRT(Type) \
-Type ## _p Type ## _newTPave ( double x1, double y1, double x2, double y2, int  bordersize, const char * br ); \
-
+Type ## _p Type ## _newTPave ( double x1, double y1, double x2, double y2, int  bordersize, const char * br )
 #undef ROOT_TPAVETEXT_DECLARATIONNONVIRT
 #define ROOT_TPAVETEXT_DECLARATIONNONVIRT(Type) \
-Type ## _p Type ## _newTPaveText ( double x1, double y1, double x2, double y2, const char * br ); \
-
+Type ## _p Type ## _newTPaveText ( double x1, double y1, double x2, double y2, const char * br )
 #undef ROOT_TDIAMOND_DECLARATIONNONVIRT
 #define ROOT_TDIAMOND_DECLARATIONNONVIRT(Type) \
-Type ## _p Type ## _newTDiamond ( double x1, double y1, double x2, double y2 ); \
-
+Type ## _p Type ## _newTDiamond ( double x1, double y1, double x2, double y2 )
 #undef ROOT_TPAVESTATS_DECLARATIONNONVIRT
 #define ROOT_TPAVESTATS_DECLARATIONNONVIRT(Type) \
-Type ## _p Type ## _newTPaveStats ( double x1, double y1, double x2, double y2, const char * br ); \
-
+Type ## _p Type ## _newTPaveStats ( double x1, double y1, double x2, double y2, const char * br )
 #undef ROOT_TPAVESTEXT_DECLARATIONNONVIRT
 #define ROOT_TPAVESTEXT_DECLARATIONNONVIRT(Type) \
-Type ## _p Type ## _newTPavesText ( double x1, double y1, double x2, double y2, int  npaves, const char * br ); \
-
+Type ## _p Type ## _newTPavesText ( double x1, double y1, double x2, double y2, int  npaves, const char * br )
 #undef ROOT_TLEGEND_DECLARATIONNONVIRT
 #define ROOT_TLEGEND_DECLARATIONNONVIRT(Type) \
-Type ## _p Type ## _newTLegend ( double x1, double y1, double x2, double y2, const char * header, const char * option ); \
-
+Type ## _p Type ## _newTLegend ( double x1, double y1, double x2, double y2, const char * header, const char * option )
 #undef ROOT_TPAVELABEL_DECLARATIONNONVIRT
 #define ROOT_TPAVELABEL_DECLARATIONNONVIRT(Type) \
-Type ## _p Type ## _newTPaveLabel ( double x1, double y1, double x2, double y2, const char * label, const char * option ); \
-
+Type ## _p Type ## _newTPaveLabel ( double x1, double y1, double x2, double y2, const char * label, const char * option )
 #undef ROOT_TPAVECLASS_DECLARATIONNONVIRT
 #define ROOT_TPAVECLASS_DECLARATIONNONVIRT(Type) \
 
 #undef ROOT_TWBOX_DECLARATIONNONVIRT
 #define ROOT_TWBOX_DECLARATIONNONVIRT(Type) \
-Type ## _p Type ## _newTWbox ( double x1, double y1, double x2, double y2, int  color, int  bordersize, int  bordermode ); \
-
+Type ## _p Type ## _newTWbox ( double x1, double y1, double x2, double y2, int  color, int  bordersize, int  bordermode )
 #undef ROOT_TFRAME_DECLARATIONNONVIRT
 #define ROOT_TFRAME_DECLARATIONNONVIRT(Type) \
-Type ## _p Type ## _newTFrame ( double x1, double y1, double x2, double y2 ); \
-
+Type ## _p Type ## _newTFrame ( double x1, double y1, double x2, double y2 )
 #undef ROOT_TSLIDERBOX_DECLARATIONNONVIRT
 #define ROOT_TSLIDERBOX_DECLARATIONNONVIRT(Type) \
-Type ## _p Type ## _newTSliderBox ( double x1, double y1, double x2, double y2, int  color, int  bordersize, int  bordermode ); \
-
+Type ## _p Type ## _newTSliderBox ( double x1, double y1, double x2, double y2, int  color, int  bordersize, int  bordermode )
 #undef ROOT_TTREE_DECLARATIONNONVIRT
 #define ROOT_TTREE_DECLARATIONNONVIRT(Type) \
-Type ## _p Type ## _newTTree ( const char * name, const char * title, int  splitlevel ); \
-
+Type ## _p Type ## _newTTree ( const char * name, const char * title, int  splitlevel )
 #undef ROOT_TCHAIN_DECLARATIONNONVIRT
 #define ROOT_TCHAIN_DECLARATIONNONVIRT(Type) \
-Type ## _p Type ## _newTChain ( const char * name, const char * title ); \
-
+Type ## _p Type ## _newTChain ( const char * name, const char * title )
 #undef ROOT_TNTUPLE_DECLARATIONNONVIRT
 #define ROOT_TNTUPLE_DECLARATIONNONVIRT(Type) \
-Type ## _p Type ## _newTNtuple ( const char * name, const char * title, const char * varlist, int  bufsize ); \
-
+Type ## _p Type ## _newTNtuple ( const char * name, const char * title, const char * varlist, int  bufsize )
 #undef ROOT_TNTUPLED_DECLARATIONNONVIRT
 #define ROOT_TNTUPLED_DECLARATIONNONVIRT(Type) \
-Type ## _p Type ## _newTNtupleD ( const char * name, const char * title, const char * varlist, int  bufsize ); \
-
+Type ## _p Type ## _newTNtupleD ( const char * name, const char * title, const char * varlist, int  bufsize )
 #undef ROOT_TTREESQL_DECLARATIONNONVIRT
 #define ROOT_TTREESQL_DECLARATIONNONVIRT(Type) \
 
 #undef ROOT_TPOLYLINE_DECLARATIONNONVIRT
 #define ROOT_TPOLYLINE_DECLARATIONNONVIRT(Type) \
-Type ## _p Type ## _newTPolyLine ( int  n, double * x, double * y, const char * option ); \
-
+Type ## _p Type ## _newTPolyLine ( int  n, double * x, double * y, const char * option )
 #undef ROOT_TCURLYLINE_DECLARATIONNONVIRT
 #define ROOT_TCURLYLINE_DECLARATIONNONVIRT(Type) \
-Type ## _p Type ## _newTCurlyLine ( double x1, double y1, double x2, double y2, double wl, double amp ); \
-
+Type ## _p Type ## _newTCurlyLine ( double x1, double y1, double x2, double y2, double wl, double amp )
 #undef ROOT_TCURLYARC_DECLARATIONNONVIRT
 #define ROOT_TCURLYARC_DECLARATIONNONVIRT(Type) \
-Type ## _p Type ## _newTCurlyArc ( double x1, double y1, double rad, double phimin, double phimax, double wl, double amp ); \
-
+Type ## _p Type ## _newTCurlyArc ( double x1, double y1, double rad, double phimin, double phimax, double wl, double amp )
 #undef ROOT_TEFFICIENCY_DECLARATIONNONVIRT
 #define ROOT_TEFFICIENCY_DECLARATIONNONVIRT(Type) \
 
@@ -664,8 +668,7 @@
 #undef ROOT_TLATEX_DECLARATIONNONVIRT
 #define ROOT_TLATEX_DECLARATIONNONVIRT(Type) \
 Type ## _p Type ## _newTLatex ( double x, double y, const char * text ); \
-Type ## _p Type ## _tLatexDrawLatex ( Type ## _p p, double x, double y, const char * text ); \
-
+Type ## _p Type ## _tLatexDrawLatex ( Type ## _p p, double x, double y, const char * text )
 #undef ROOT_TTEXT_DECLARATIONNONVIRT
 #define ROOT_TTEXT_DECLARATIONNONVIRT(Type) \
 
@@ -677,8 +680,7 @@
 
 #undef ROOT_TFILE_DECLARATIONNONVIRT
 #define ROOT_TFILE_DECLARATIONNONVIRT(Type) \
-Type ## _p Type ## _newTFile ( const char * fname, const char * option, const char * ftitle, int  compress ); \
-
+Type ## _p Type ## _newTFile ( const char * fname, const char * option, const char * ftitle, int  compress )
 #undef ROOT_TBRANCH_DECLARATIONNONVIRT
 #define ROOT_TBRANCH_DECLARATIONNONVIRT(Type) \
 
@@ -714,7 +716,13 @@
 
 #undef ROOT_TH1_DECLARATIONNONVIRT
 #define ROOT_TH1_DECLARATIONNONVIRT(Type) \
-
+Type ## _p Type ## _tH1GetAsymmetry ( Type ## _p p, TH1_p h2, double c2, double dc2 ); \
+int  Type ## _tH1GetBufferLength ( Type ## _p p ); \
+int  Type ## _tH1GetBufferSize ( Type ## _p p ); \
+TDirectory_p Type ## _tH1GetDirectory ( Type ## _p p ); \
+TAxis_p Type ## _tH1GetXaxis ( Type ## _p p ); \
+TAxis_p Type ## _tH1GetYaxis ( Type ## _p p ); \
+TAxis_p Type ## _tH1GetZaxis ( Type ## _p p )
 #undef ROOT_TH2_DECLARATIONNONVIRT
 #define ROOT_TH2_DECLARATIONNONVIRT(Type) \
 
@@ -729,8 +737,7 @@
 
 #undef ROOT_TH1F_DECLARATIONNONVIRT
 #define ROOT_TH1F_DECLARATIONNONVIRT(Type) \
-Type ## _p Type ## _newTH1F ( const char * name, const char * title, int  nbinsx, double xlow, double xup ); \
-
+Type ## _p Type ## _newTH1F ( const char * name, const char * title, int  nbinsx, double xlow, double xup )
 #undef ROOT_TH1I_DECLARATIONNONVIRT
 #define ROOT_TH1I_DECLARATIONNONVIRT(Type) \
 
@@ -745,8 +752,7 @@
 
 #undef ROOT_TH2F_DECLARATIONNONVIRT
 #define ROOT_TH2F_DECLARATIONNONVIRT(Type) \
-Type ## _p Type ## _newTH2F ( const char * name, const char * title, int  nbinsx, double xlow, double xup, int  nbinsy, double ylow, double yup ); \
-
+Type ## _p Type ## _newTH2F ( const char * name, const char * title, int  nbinsx, double xlow, double xup, int  nbinsy, double ylow, double yup )
 #undef ROOT_TH2I_DECLARATIONNONVIRT
 #define ROOT_TH2I_DECLARATIONNONVIRT(Type) \
 
@@ -788,8 +794,7 @@
 
 #undef ROOT_TCANVAS_DECLARATIONNONVIRT
 #define ROOT_TCANVAS_DECLARATIONNONVIRT(Type) \
-Type ## _p Type ## _newTCanvas ( const char * name, const char * title, int  ww, int  wh ); \
-
+Type ## _p Type ## _newTCanvas ( const char * name, const char * title, int  ww, int  wh )
 #undef ROOT_TDIALOGCANVAS_DECLARATIONNONVIRT
 #define ROOT_TDIALOGCANVAS_DECLARATIONNONVIRT(Type) \
 
@@ -807,9 +812,9 @@
 Type ## _p Type ## _newTApplication ( const char * appClassName, int * argc, char ** argv )
 #undef ROOT_TRINT_DECLARATIONNONVIRT
 #define ROOT_TRINT_DECLARATIONNONVIRT(Type) \
-Type ## _p Type ## _newTRint ( const char * appClassName, int * argc, char ** argv ); \
-
+Type ## _p Type ## _newTRint ( const char * appClassName, int * argc, char ** argv )
 
+ROOT_TYPE_DECLARATION(Deletable);
 ROOT_TYPE_DECLARATION(TObject);
 ROOT_TYPE_DECLARATION(TNamed);
 ROOT_TYPE_DECLARATION(TFormula);
@@ -915,6 +920,110 @@
 ROOT_TYPE_DECLARATION(TApplication);
 ROOT_TYPE_DECLARATION(TRint);
 
+ROOT_DELETABLE_DECLARATIONVIRT(TRint);
+ROOT_DELETABLE_DECLARATIONVIRT(TApplication);
+ROOT_DELETABLE_DECLARATIONVIRT(TSlider);
+ROOT_DELETABLE_DECLARATIONVIRT(TEvePad);
+ROOT_DELETABLE_DECLARATIONVIRT(TInspectCanvas);
+ROOT_DELETABLE_DECLARATIONVIRT(TDialogCanvas);
+ROOT_DELETABLE_DECLARATIONVIRT(TCanvas);
+ROOT_DELETABLE_DECLARATIONVIRT(TGroupButton);
+ROOT_DELETABLE_DECLARATIONVIRT(TButton);
+ROOT_DELETABLE_DECLARATIONVIRT(TPad);
+ROOT_DELETABLE_DECLARATIONVIRT(TVirtualPad);
+ROOT_DELETABLE_DECLARATIONVIRT(TQObject);
+ROOT_DELETABLE_DECLARATIONVIRT(TH3S);
+ROOT_DELETABLE_DECLARATIONVIRT(TH3I);
+ROOT_DELETABLE_DECLARATIONVIRT(TH3F);
+ROOT_DELETABLE_DECLARATIONVIRT(TH3D);
+ROOT_DELETABLE_DECLARATIONVIRT(TH3C);
+ROOT_DELETABLE_DECLARATIONVIRT(TH2S);
+ROOT_DELETABLE_DECLARATIONVIRT(TH2Poly);
+ROOT_DELETABLE_DECLARATIONVIRT(TH2I);
+ROOT_DELETABLE_DECLARATIONVIRT(TH2F);
+ROOT_DELETABLE_DECLARATIONVIRT(TH2D);
+ROOT_DELETABLE_DECLARATIONVIRT(TH2C);
+ROOT_DELETABLE_DECLARATIONVIRT(TH1S);
+ROOT_DELETABLE_DECLARATIONVIRT(TH1I);
+ROOT_DELETABLE_DECLARATIONVIRT(TH1F);
+ROOT_DELETABLE_DECLARATIONVIRT(TH1D);
+ROOT_DELETABLE_DECLARATIONVIRT(TH1C);
+ROOT_DELETABLE_DECLARATIONVIRT(TH3);
+ROOT_DELETABLE_DECLARATIONVIRT(TH2);
+ROOT_DELETABLE_DECLARATIONVIRT(TH1);
+ROOT_DELETABLE_DECLARATIONVIRT(TArrayS);
+ROOT_DELETABLE_DECLARATIONVIRT(TArrayL64);
+ROOT_DELETABLE_DECLARATIONVIRT(TArrayL);
+ROOT_DELETABLE_DECLARATIONVIRT(TArrayI);
+ROOT_DELETABLE_DECLARATIONVIRT(TArrayF);
+ROOT_DELETABLE_DECLARATIONVIRT(TArrayD);
+ROOT_DELETABLE_DECLARATIONVIRT(TArrayC);
+ROOT_DELETABLE_DECLARATIONVIRT(TArray);
+ROOT_DELETABLE_DECLARATIONVIRT(TTreePlayer);
+ROOT_DELETABLE_DECLARATIONVIRT(TVirtualTreePlayer);
+ROOT_DELETABLE_DECLARATIONVIRT(TBranch);
+ROOT_DELETABLE_DECLARATIONVIRT(TFile);
+ROOT_DELETABLE_DECLARATIONVIRT(TDirectoryFile);
+ROOT_DELETABLE_DECLARATIONVIRT(TDirectory);
+ROOT_DELETABLE_DECLARATIONVIRT(TText);
+ROOT_DELETABLE_DECLARATIONVIRT(TLatex);
+ROOT_DELETABLE_DECLARATIONVIRT(TAxis);
+ROOT_DELETABLE_DECLARATIONVIRT(TEfficiency);
+ROOT_DELETABLE_DECLARATIONVIRT(TCurlyArc);
+ROOT_DELETABLE_DECLARATIONVIRT(TCurlyLine);
+ROOT_DELETABLE_DECLARATIONVIRT(TPolyLine);
+ROOT_DELETABLE_DECLARATIONVIRT(TTreeSQL);
+ROOT_DELETABLE_DECLARATIONVIRT(TNtupleD);
+ROOT_DELETABLE_DECLARATIONVIRT(TNtuple);
+ROOT_DELETABLE_DECLARATIONVIRT(TChain);
+ROOT_DELETABLE_DECLARATIONVIRT(TTree);
+ROOT_DELETABLE_DECLARATIONVIRT(TSliderBox);
+ROOT_DELETABLE_DECLARATIONVIRT(TFrame);
+ROOT_DELETABLE_DECLARATIONVIRT(TWbox);
+ROOT_DELETABLE_DECLARATIONVIRT(TPaveClass);
+ROOT_DELETABLE_DECLARATIONVIRT(TPaveLabel);
+ROOT_DELETABLE_DECLARATIONVIRT(TLegend);
+ROOT_DELETABLE_DECLARATIONVIRT(TPavesText);
+ROOT_DELETABLE_DECLARATIONVIRT(TPaveStats);
+ROOT_DELETABLE_DECLARATIONVIRT(TDiamond);
+ROOT_DELETABLE_DECLARATIONVIRT(TPaveText);
+ROOT_DELETABLE_DECLARATIONVIRT(TPave);
+ROOT_DELETABLE_DECLARATIONVIRT(TBox);
+ROOT_DELETABLE_DECLARATIONVIRT(TXTRU);
+ROOT_DELETABLE_DECLARATIONVIRT(TSPHE);
+ROOT_DELETABLE_DECLARATIONVIRT(TPCON);
+ROOT_DELETABLE_DECLARATIONVIRT(TTUBE);
+ROOT_DELETABLE_DECLARATIONVIRT(TBRIK);
+ROOT_DELETABLE_DECLARATIONVIRT(TShape);
+ROOT_DELETABLE_DECLARATIONVIRT(TGaxis);
+ROOT_DELETABLE_DECLARATIONVIRT(TArrow);
+ROOT_DELETABLE_DECLARATIONVIRT(TLine);
+ROOT_DELETABLE_DECLARATIONVIRT(TCrown);
+ROOT_DELETABLE_DECLARATIONVIRT(TArc);
+ROOT_DELETABLE_DECLARATIONVIRT(TEllipse);
+ROOT_DELETABLE_DECLARATIONVIRT(TGraphQQ);
+ROOT_DELETABLE_DECLARATIONVIRT(TGraphPolar);
+ROOT_DELETABLE_DECLARATIONVIRT(TGraphErrors);
+ROOT_DELETABLE_DECLARATIONVIRT(TGraphBentErrors);
+ROOT_DELETABLE_DECLARATIONVIRT(TCutG);
+ROOT_DELETABLE_DECLARATIONVIRT(TGraphAsymmErrors);
+ROOT_DELETABLE_DECLARATIONVIRT(TGraph);
+ROOT_DELETABLE_DECLARATIONVIRT(TF1);
+ROOT_DELETABLE_DECLARATIONVIRT(THStack);
+ROOT_DELETABLE_DECLARATIONVIRT(TAttText);
+ROOT_DELETABLE_DECLARATIONVIRT(TAttParticle);
+ROOT_DELETABLE_DECLARATIONVIRT(TAttPad);
+ROOT_DELETABLE_DECLARATIONVIRT(TAttMarker);
+ROOT_DELETABLE_DECLARATIONVIRT(TAttLine);
+ROOT_DELETABLE_DECLARATIONVIRT(TAttImage);
+ROOT_DELETABLE_DECLARATIONVIRT(TAttFill);
+ROOT_DELETABLE_DECLARATIONVIRT(TAttCanvas);
+ROOT_DELETABLE_DECLARATIONVIRT(TAttBBox);
+ROOT_DELETABLE_DECLARATIONVIRT(TAttAxis);
+ROOT_DELETABLE_DECLARATIONVIRT(TAtt3D);
+ROOT_DELETABLE_DECLARATIONVIRT(TFormula);
+ROOT_DELETABLE_DECLARATIONVIRT(TNamed);
+ROOT_DELETABLE_DECLARATIONVIRT(TObject);
 ROOT_TAPPLICATION_DECLARATIONVIRT(TRint);
 ROOT_TAPPLICATION_DECLARATIONVIRT(TApplication);
 ROOT_TARC_DECLARATIONVIRT(TArc);
@@ -1339,8 +1448,10 @@
 ROOT_TNAMED_DECLARATIONVIRT(TCutG);
 ROOT_TNAMED_DECLARATIONVIRT(TGraphAsymmErrors);
 ROOT_TNAMED_DECLARATIONVIRT(TGraph);
+ROOT_TNAMED_DECLARATIONVIRT(TF1);
 ROOT_TNAMED_DECLARATIONVIRT(THStack);
 ROOT_TNAMED_DECLARATIONVIRT(TAttParticle);
+ROOT_TNAMED_DECLARATIONVIRT(TFormula);
 ROOT_TNAMED_DECLARATIONVIRT(TNamed);
 ROOT_TNTUPLE_DECLARATIONVIRT(TNtuple);
 ROOT_TNTUPLED_DECLARATIONVIRT(TNtupleD);
@@ -1423,8 +1534,10 @@
 ROOT_TOBJECT_DECLARATIONVIRT(TCutG);
 ROOT_TOBJECT_DECLARATIONVIRT(TGraphAsymmErrors);
 ROOT_TOBJECT_DECLARATIONVIRT(TGraph);
+ROOT_TOBJECT_DECLARATIONVIRT(TF1);
 ROOT_TOBJECT_DECLARATIONVIRT(THStack);
 ROOT_TOBJECT_DECLARATIONVIRT(TAttParticle);
+ROOT_TOBJECT_DECLARATIONVIRT(TFormula);
 ROOT_TOBJECT_DECLARATIONVIRT(TNamed);
 ROOT_TOBJECT_DECLARATIONVIRT(TObject);
 ROOT_TPCON_DECLARATIONVIRT(TPCON);
@@ -1504,6 +1617,8 @@
 ROOT_TWBOX_DECLARATIONVIRT(TWbox);
 ROOT_TXTRU_DECLARATIONVIRT(TXTRU);
 
+
+ROOT_DELETABLE_DECLARATIONNONVIRT(Deletable);
 
 ROOT_TOBJECT_DECLARATIONNONVIRT(TObject);
 
diff --git a/example/histadd.hs b/example/histadd.hs
--- a/example/histadd.hs
+++ b/example/histadd.hs
@@ -29,6 +29,11 @@
   saveAs tcanvas "histadd.pdf" "" 
   saveAs tcanvas "histadd.jpg" ""
   saveAs tcanvas "histadd.png" ""
+
+  delete h1
+  delete h2
+  delete tcanvas
+
   return () 
 
           
diff --git a/example/random1d.hs b/example/random1d.hs
--- a/example/random1d.hs
+++ b/example/random1d.hs
@@ -26,6 +26,9 @@
   saveAs tcanvas "random1d.pdf" ""
   saveAs tcanvas "random1d.jpg" "" 
   saveAs tcanvas "random1d.png" "" 
+  delete h1
+  delete tcanvas
+
 
 
 histfill :: Normal Double -> TH1F ->  IO () 
diff --git a/example/random2d.hs b/example/random2d.hs
--- a/example/random2d.hs
+++ b/example/random2d.hs
@@ -27,6 +27,8 @@
   saveAs tcanvas "random2d.pdf" ""
   saveAs tcanvas "random2d.jpg" "" 
   saveAs tcanvas "random2d.png" ""
+  delete h2
+  delete tcanvas
 
 
 
diff --git a/example/random2dApp.hs b/example/random2dApp.hs
--- a/example/random2dApp.hs
+++ b/example/random2dApp.hs
@@ -27,6 +27,10 @@
   go 1000000
   draw h2 "lego"
   run tapp 1 
+  delete h2
+  delete tapp
+
+
 
 histfill :: Normal Double -> Normal Double-> TH2F ->  IO () 
 histfill dist1 dist2 hist = do 
diff --git a/example/saveAsROOT.hs b/example/saveAsROOT.hs
--- a/example/saveAsROOT.hs
+++ b/example/saveAsROOT.hs
@@ -20,5 +20,10 @@
   write h1 "" 0 0 
   close tfile ""
 
+  delete tfile
+  delete h1
+  delete h2
+
+  delete tcanvas
 
           
diff --git a/src/HROOT/Class.hs b/src/HROOT/Class.hs
--- a/src/HROOT/Class.hs
+++ b/src/HROOT/Class.hs
@@ -5,2517 +5,3729 @@
 
 module HROOT.Class where
 
-import Foreign.C            
-import Foreign.Ptr
-import Foreign.ForeignPtr
-
-import System.IO.Unsafe
-
-import HROOT.Type
-import HROOT.Function
-
-class ITObject a where
-    getName :: a -> IO String 
-    draw :: a -> String -> IO () 
-    saveAs :: a -> String -> String -> IO () 
-    write :: a -> String -> Int -> Int -> IO Int 
-
-class ITNamed a where
-    setTitle :: a -> String -> IO () 
-
-class ITFormula a where
-    getParameter :: a -> Int -> IO Double 
-    setParameter :: a -> Int -> Double -> IO () 
-
-class ITAtt3D a where
-
-class ITAttAxis a where
-    setLabelColor :: a -> Int -> IO () 
-    setLabelSize :: a -> Double -> IO () 
-    setTickLength :: a -> Double -> IO () 
-    setTitleOffset :: a -> Double -> IO () 
-    setNdivisions :: a -> Int -> Int -> IO () 
-
-class ITAttBBox a where
-
-class ITAttCanvas a where
-
-class ITAttFill a where
-    setFillColor :: a -> Int -> IO () 
-    setFillStyle :: a -> Int -> IO () 
-
-class ITAttImage a where
-
-class ITAttLine a where
-    setLineColor :: a -> Int -> IO () 
-
-class ITAttMarker a where
-
-class ITAttPad a where
-
-class ITAttParticle a where
-
-class ITAttText a where
-    setTextColor :: a -> Int -> IO () 
-    setTextAlign :: a -> Int -> IO () 
-    setTextSize :: a -> Double -> IO () 
-
-class ITHStack a where
-
-class ITF1 a where
-
-class ITGraph a where
-
-class ITGraphAsymmErrors a where
-
-class ITCutG a where
-
-class ITGraphBentErrors a where
-
-class ITGraphErrors a where
-
-class ITGraphPolar a where
-
-class ITGraphQQ a where
-
-class ITEllipse a where
-
-class ITArc a where
-
-class ITCrown a where
-
-class ITLine a where
-
-class ITArrow a where
-
-class ITGaxis a where
-
-class ITShape a where
-
-class ITBRIK a where
-
-class ITTUBE a where
-
-class ITPCON a where
-
-class ITSPHE a where
-
-class ITXTRU a where
-
-class ITBox a where
-
-class ITPave a where
-
-class ITPaveText a where
-
-class ITDiamond a where
-
-class ITPaveStats a where
-
-class ITPavesText a where
-
-class ITLegend a where
-
-class ITPaveLabel a where
-
-class ITPaveClass a where
-
-class ITWbox a where
-    setBorderMode :: a -> Int -> IO () 
-
-class ITFrame a where
-
-class ITSliderBox a where
-
-class ITTree a where
-
-class ITChain a where
-
-class ITNtuple a where
-
-class ITNtupleD a where
-
-class ITTreeSQL a where
-
-class ITPolyLine a where
-
-class ITCurlyLine a where
-
-class ITCurlyArc a where
-
-class ITEfficiency a where
-
-class ITAxis a where
-
-class ITLatex a where
-
-class ITText a where
-
-class ITDirectory a where
-    close :: a -> String -> IO () 
-
-class ITDirectoryFile a where
-
-class ITFile a where
-
-class ITBranch a where
-
-class ITVirtualTreePlayer a where
-
-class ITTreePlayer a where
-
-class ITArray a where
-
-class ITArrayC a where
-
-class ITArrayD a where
-
-class ITArrayF a where
-
-class ITArrayI a where
-
-class ITArrayL a where
-
-class ITArrayL64 a where
-
-class ITArrayS a where
-
-class ITH1 a where
-    getXaxis :: a -> IO TAxis 
-    getYaxis :: a -> IO TAxis 
-    getZaxis :: a -> IO TAxis 
-    add :: (ITH1 c0, FPtr c0) => a -> c0 -> Double -> IO () 
-    fill1 :: a -> Double -> IO Int 
-
-class ITH2 a where
-    fill2 :: a -> Double -> Double -> IO Int 
-
-class ITH3 a where
-
-class ITH1C a where
-
-class ITH1D a where
-
-class ITH1F a where
-
-class ITH1I a where
-
-class ITH1S a where
-
-class ITH2C a where
-
-class ITH2D a where
-
-class ITH2F a where
-
-class ITH2I a where
-
-class ITH2Poly a where
-
-class ITH2S a where
-
-class ITH3C a where
-
-class ITH3D a where
-
-class ITH3F a where
-
-class ITH3I a where
-
-class ITH3S a where
-
-class ITQObject a where
-
-class ITVirtualPad a where
-    getFrame :: a -> IO TFrame 
-    range :: a -> Double -> Double -> Double -> Double -> IO () 
-
-class ITPad a where
-
-class ITButton a where
-
-class ITGroupButton a where
-
-class ITCanvas a where
-
-class ITDialogCanvas a where
-
-class ITInspectCanvas a where
-
-class ITEvePad a where
-
-class ITSlider a where
-
-class ITApplication a where
-    run :: a -> Int -> IO () 
-
-class ITRint a where
-
-instance (ITObject a, FPtr a) => Castable a (Ptr RawTObject) where
-  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr
-  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ 
-
-instance (ITNamed a, FPtr a) => Castable a (Ptr RawTNamed) where
-  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr
-  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ 
-
-instance (ITFormula a, FPtr a) => Castable a (Ptr RawTFormula) where
-  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr
-  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ 
-
-instance (ITAtt3D a, FPtr a) => Castable a (Ptr RawTAtt3D) where
-  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr
-  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ 
-
-instance (ITAttAxis a, FPtr a) => Castable a (Ptr RawTAttAxis) where
-  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr
-  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ 
-
-instance (ITAttBBox a, FPtr a) => Castable a (Ptr RawTAttBBox) where
-  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr
-  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ 
-
-instance (ITAttCanvas a, FPtr a) => Castable a (Ptr RawTAttCanvas) where
-  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr
-  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ 
-
-instance (ITAttFill a, FPtr a) => Castable a (Ptr RawTAttFill) where
-  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr
-  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ 
-
-instance (ITAttImage a, FPtr a) => Castable a (Ptr RawTAttImage) where
-  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr
-  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ 
-
-instance (ITAttLine a, FPtr a) => Castable a (Ptr RawTAttLine) where
-  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr
-  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ 
-
-instance (ITAttMarker a, FPtr a) => Castable a (Ptr RawTAttMarker) where
-  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr
-  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ 
-
-instance (ITAttPad a, FPtr a) => Castable a (Ptr RawTAttPad) where
-  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr
-  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ 
-
-instance (ITAttParticle a, FPtr a) => Castable a (Ptr RawTAttParticle) where
-  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr
-  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ 
-
-instance (ITAttText a, FPtr a) => Castable a (Ptr RawTAttText) where
-  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr
-  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ 
-
-instance (ITHStack a, FPtr a) => Castable a (Ptr RawTHStack) where
-  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr
-  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ 
-
-instance (ITF1 a, FPtr a) => Castable a (Ptr RawTF1) where
-  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr
-  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ 
-
-instance (ITGraph a, FPtr a) => Castable a (Ptr RawTGraph) where
-  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr
-  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ 
-
-instance (ITGraphAsymmErrors a, FPtr a) => Castable a (Ptr RawTGraphAsymmErrors) where
-  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr
-  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ 
-
-instance (ITCutG a, FPtr a) => Castable a (Ptr RawTCutG) where
-  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr
-  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ 
-
-instance (ITGraphBentErrors a, FPtr a) => Castable a (Ptr RawTGraphBentErrors) where
-  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr
-  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ 
-
-instance (ITGraphErrors a, FPtr a) => Castable a (Ptr RawTGraphErrors) where
-  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr
-  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ 
-
-instance (ITGraphPolar a, FPtr a) => Castable a (Ptr RawTGraphPolar) where
-  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr
-  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ 
-
-instance (ITGraphQQ a, FPtr a) => Castable a (Ptr RawTGraphQQ) where
-  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr
-  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ 
-
-instance (ITEllipse a, FPtr a) => Castable a (Ptr RawTEllipse) where
-  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr
-  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ 
-
-instance (ITArc a, FPtr a) => Castable a (Ptr RawTArc) where
-  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr
-  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ 
-
-instance (ITCrown a, FPtr a) => Castable a (Ptr RawTCrown) where
-  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr
-  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ 
-
-instance (ITLine a, FPtr a) => Castable a (Ptr RawTLine) where
-  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr
-  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ 
-
-instance (ITArrow a, FPtr a) => Castable a (Ptr RawTArrow) where
-  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr
-  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ 
-
-instance (ITGaxis a, FPtr a) => Castable a (Ptr RawTGaxis) where
-  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr
-  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ 
-
-instance (ITShape a, FPtr a) => Castable a (Ptr RawTShape) where
-  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr
-  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ 
-
-instance (ITBRIK a, FPtr a) => Castable a (Ptr RawTBRIK) where
-  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr
-  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ 
-
-instance (ITTUBE a, FPtr a) => Castable a (Ptr RawTTUBE) where
-  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr
-  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ 
-
-instance (ITPCON a, FPtr a) => Castable a (Ptr RawTPCON) where
-  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr
-  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ 
-
-instance (ITSPHE a, FPtr a) => Castable a (Ptr RawTSPHE) where
-  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr
-  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ 
-
-instance (ITXTRU a, FPtr a) => Castable a (Ptr RawTXTRU) where
-  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr
-  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ 
-
-instance (ITBox a, FPtr a) => Castable a (Ptr RawTBox) where
-  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr
-  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ 
-
-instance (ITPave a, FPtr a) => Castable a (Ptr RawTPave) where
-  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr
-  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ 
-
-instance (ITPaveText a, FPtr a) => Castable a (Ptr RawTPaveText) where
-  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr
-  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ 
-
-instance (ITDiamond a, FPtr a) => Castable a (Ptr RawTDiamond) where
-  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr
-  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ 
-
-instance (ITPaveStats a, FPtr a) => Castable a (Ptr RawTPaveStats) where
-  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr
-  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ 
-
-instance (ITPavesText a, FPtr a) => Castable a (Ptr RawTPavesText) where
-  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr
-  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ 
-
-instance (ITLegend a, FPtr a) => Castable a (Ptr RawTLegend) where
-  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr
-  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ 
-
-instance (ITPaveLabel a, FPtr a) => Castable a (Ptr RawTPaveLabel) where
-  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr
-  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ 
-
-instance (ITPaveClass a, FPtr a) => Castable a (Ptr RawTPaveClass) where
-  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr
-  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ 
-
-instance (ITWbox a, FPtr a) => Castable a (Ptr RawTWbox) where
-  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr
-  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ 
-
-instance (ITFrame a, FPtr a) => Castable a (Ptr RawTFrame) where
-  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr
-  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ 
-
-instance (ITSliderBox a, FPtr a) => Castable a (Ptr RawTSliderBox) where
-  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr
-  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ 
-
-instance (ITTree a, FPtr a) => Castable a (Ptr RawTTree) where
-  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr
-  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ 
-
-instance (ITChain a, FPtr a) => Castable a (Ptr RawTChain) where
-  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr
-  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ 
-
-instance (ITNtuple a, FPtr a) => Castable a (Ptr RawTNtuple) where
-  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr
-  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ 
-
-instance (ITNtupleD a, FPtr a) => Castable a (Ptr RawTNtupleD) where
-  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr
-  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ 
-
-instance (ITTreeSQL a, FPtr a) => Castable a (Ptr RawTTreeSQL) where
-  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr
-  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ 
-
-instance (ITPolyLine a, FPtr a) => Castable a (Ptr RawTPolyLine) where
-  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr
-  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ 
-
-instance (ITCurlyLine a, FPtr a) => Castable a (Ptr RawTCurlyLine) where
-  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr
-  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ 
-
-instance (ITCurlyArc a, FPtr a) => Castable a (Ptr RawTCurlyArc) where
-  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr
-  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ 
-
-instance (ITEfficiency a, FPtr a) => Castable a (Ptr RawTEfficiency) where
-  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr
-  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ 
-
-instance (ITAxis a, FPtr a) => Castable a (Ptr RawTAxis) where
-  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr
-  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ 
-
-instance (ITLatex a, FPtr a) => Castable a (Ptr RawTLatex) where
-  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr
-  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ 
-
-instance (ITText a, FPtr a) => Castable a (Ptr RawTText) where
-  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr
-  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ 
-
-instance (ITDirectory a, FPtr a) => Castable a (Ptr RawTDirectory) where
-  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr
-  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ 
-
-instance (ITDirectoryFile a, FPtr a) => Castable a (Ptr RawTDirectoryFile) where
-  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr
-  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ 
-
-instance (ITFile a, FPtr a) => Castable a (Ptr RawTFile) where
-  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr
-  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ 
-
-instance (ITBranch a, FPtr a) => Castable a (Ptr RawTBranch) where
-  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr
-  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ 
-
-instance (ITVirtualTreePlayer a, FPtr a) => Castable a (Ptr RawTVirtualTreePlayer) where
-  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr
-  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ 
-
-instance (ITTreePlayer a, FPtr a) => Castable a (Ptr RawTTreePlayer) where
-  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr
-  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ 
-
-instance (ITArray a, FPtr a) => Castable a (Ptr RawTArray) where
-  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr
-  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ 
-
-instance (ITArrayC a, FPtr a) => Castable a (Ptr RawTArrayC) where
-  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr
-  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ 
-
-instance (ITArrayD a, FPtr a) => Castable a (Ptr RawTArrayD) where
-  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr
-  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ 
-
-instance (ITArrayF a, FPtr a) => Castable a (Ptr RawTArrayF) where
-  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr
-  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ 
-
-instance (ITArrayI a, FPtr a) => Castable a (Ptr RawTArrayI) where
-  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr
-  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ 
-
-instance (ITArrayL a, FPtr a) => Castable a (Ptr RawTArrayL) where
-  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr
-  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ 
-
-instance (ITArrayL64 a, FPtr a) => Castable a (Ptr RawTArrayL64) where
-  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr
-  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ 
-
-instance (ITArrayS a, FPtr a) => Castable a (Ptr RawTArrayS) where
-  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr
-  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ 
-
-instance (ITH1 a, FPtr a) => Castable a (Ptr RawTH1) where
-  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr
-  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ 
-
-instance (ITH2 a, FPtr a) => Castable a (Ptr RawTH2) where
-  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr
-  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ 
-
-instance (ITH3 a, FPtr a) => Castable a (Ptr RawTH3) where
-  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr
-  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ 
-
-instance (ITH1C a, FPtr a) => Castable a (Ptr RawTH1C) where
-  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr
-  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ 
-
-instance (ITH1D a, FPtr a) => Castable a (Ptr RawTH1D) where
-  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr
-  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ 
-
-instance (ITH1F a, FPtr a) => Castable a (Ptr RawTH1F) where
-  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr
-  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ 
-
-instance (ITH1I a, FPtr a) => Castable a (Ptr RawTH1I) where
-  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr
-  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ 
-
-instance (ITH1S a, FPtr a) => Castable a (Ptr RawTH1S) where
-  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr
-  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ 
-
-instance (ITH2C a, FPtr a) => Castable a (Ptr RawTH2C) where
-  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr
-  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ 
-
-instance (ITH2D a, FPtr a) => Castable a (Ptr RawTH2D) where
-  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr
-  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ 
-
-instance (ITH2F a, FPtr a) => Castable a (Ptr RawTH2F) where
-  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr
-  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ 
-
-instance (ITH2I a, FPtr a) => Castable a (Ptr RawTH2I) where
-  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr
-  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ 
-
-instance (ITH2Poly a, FPtr a) => Castable a (Ptr RawTH2Poly) where
-  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr
-  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ 
-
-instance (ITH2S a, FPtr a) => Castable a (Ptr RawTH2S) where
-  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr
-  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ 
-
-instance (ITH3C a, FPtr a) => Castable a (Ptr RawTH3C) where
-  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr
-  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ 
-
-instance (ITH3D a, FPtr a) => Castable a (Ptr RawTH3D) where
-  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr
-  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ 
-
-instance (ITH3F a, FPtr a) => Castable a (Ptr RawTH3F) where
-  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr
-  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ 
-
-instance (ITH3I a, FPtr a) => Castable a (Ptr RawTH3I) where
-  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr
-  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ 
-
-instance (ITH3S a, FPtr a) => Castable a (Ptr RawTH3S) where
-  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr
-  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ 
-
-instance (ITQObject a, FPtr a) => Castable a (Ptr RawTQObject) where
-  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr
-  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ 
-
-instance (ITVirtualPad a, FPtr a) => Castable a (Ptr RawTVirtualPad) where
-  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr
-  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ 
-
-instance (ITPad a, FPtr a) => Castable a (Ptr RawTPad) where
-  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr
-  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ 
-
-instance (ITButton a, FPtr a) => Castable a (Ptr RawTButton) where
-  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr
-  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ 
-
-instance (ITGroupButton a, FPtr a) => Castable a (Ptr RawTGroupButton) where
-  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr
-  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ 
-
-instance (ITCanvas a, FPtr a) => Castable a (Ptr RawTCanvas) where
-  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr
-  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ 
-
-instance (ITDialogCanvas a, FPtr a) => Castable a (Ptr RawTDialogCanvas) where
-  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr
-  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ 
-
-instance (ITInspectCanvas a, FPtr a) => Castable a (Ptr RawTInspectCanvas) where
-  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr
-  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ 
-
-instance (ITEvePad a, FPtr a) => Castable a (Ptr RawTEvePad) where
-  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr
-  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ 
-
-instance (ITSlider a, FPtr a) => Castable a (Ptr RawTSlider) where
-  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr
-  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ 
-
-instance (ITApplication a, FPtr a) => Castable a (Ptr RawTApplication) where
-  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr
-  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ 
-
-instance (ITRint a, FPtr a) => Castable a (Ptr RawTRint) where
-  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr
-  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ 
-
-instance ITObject TObject where
-  getName = xform0 c_tobject_getname
-  draw = xform1 c_tobject_draw
-  saveAs = xform2 c_tobject_saveas
-  write = xform3 c_tobject_write
-
-instance ITNamed TNamed where
-  setTitle = xform1 c_tnamed_settitle
-
-instance ITFormula TFormula where
-  getParameter = xform1 c_tformula_getparameter
-  setParameter = xform2 c_tformula_setparameter
-
-instance ITAtt3D TAtt3D where
-
-instance ITAttAxis TAttAxis where
-  setLabelColor = xform1 c_tattaxis_setlabelcolor
-  setLabelSize = xform1 c_tattaxis_setlabelsize
-  setTickLength = xform1 c_tattaxis_setticklength
-  setTitleOffset = xform1 c_tattaxis_settitleoffset
-  setNdivisions = xform2 c_tattaxis_setndivisions
-
-instance ITAttBBox TAttBBox where
-
-instance ITAttCanvas TAttCanvas where
-
-instance ITAttFill TAttFill where
-  setFillColor = xform1 c_tattfill_setfillcolor
-  setFillStyle = xform1 c_tattfill_setfillstyle
-
-instance ITAttImage TAttImage where
-
-instance ITAttLine TAttLine where
-  setLineColor = xform1 c_tattline_setlinecolor
-
-instance ITAttMarker TAttMarker where
-
-instance ITAttPad TAttPad where
-
-instance ITAttParticle TAttParticle where
-
-instance ITAttText TAttText where
-  setTextColor = xform1 c_tatttext_settextcolor
-  setTextAlign = xform1 c_tatttext_settextalign
-  setTextSize = xform1 c_tatttext_settextsize
-
-instance ITHStack THStack where
-
-instance ITF1 TF1 where
-
-instance ITGraph TGraph where
-
-instance ITGraphAsymmErrors TGraphAsymmErrors where
-
-instance ITCutG TCutG where
-
-instance ITGraphBentErrors TGraphBentErrors where
-
-instance ITGraphErrors TGraphErrors where
-
-instance ITGraphPolar TGraphPolar where
-
-instance ITGraphQQ TGraphQQ where
-
-instance ITEllipse TEllipse where
-
-instance ITArc TArc where
-
-instance ITCrown TCrown where
-
-instance ITLine TLine where
-
-instance ITArrow TArrow where
-
-instance ITGaxis TGaxis where
-
-instance ITShape TShape where
-
-instance ITBRIK TBRIK where
-
-instance ITTUBE TTUBE where
-
-instance ITPCON TPCON where
-
-instance ITSPHE TSPHE where
-
-instance ITXTRU TXTRU where
-
-instance ITBox TBox where
-
-instance ITPave TPave where
-
-instance ITPaveText TPaveText where
-
-instance ITDiamond TDiamond where
-
-instance ITPaveStats TPaveStats where
-
-instance ITPavesText TPavesText where
-
-instance ITLegend TLegend where
-
-instance ITPaveLabel TPaveLabel where
-
-instance ITPaveClass TPaveClass where
-
-instance ITWbox TWbox where
-  setBorderMode = xform1 c_twbox_setbordermode
-
-instance ITFrame TFrame where
-
-instance ITSliderBox TSliderBox where
-
-instance ITTree TTree where
-
-instance ITChain TChain where
-
-instance ITNtuple TNtuple where
-
-instance ITNtupleD TNtupleD where
-
-instance ITTreeSQL TTreeSQL where
-
-instance ITPolyLine TPolyLine where
-
-instance ITCurlyLine TCurlyLine where
-
-instance ITCurlyArc TCurlyArc where
-
-instance ITEfficiency TEfficiency where
-
-instance ITAxis TAxis where
-
-instance ITLatex TLatex where
-
-instance ITText TText where
-
-instance ITDirectory TDirectory where
-  close = xform1 c_tdirectory_close
-
-instance ITDirectoryFile TDirectoryFile where
-
-instance ITFile TFile where
-
-instance ITBranch TBranch where
-
-instance ITVirtualTreePlayer TVirtualTreePlayer where
-
-instance ITTreePlayer TTreePlayer where
-
-instance ITArray TArray where
-
-instance ITArrayC TArrayC where
-
-instance ITArrayD TArrayD where
-
-instance ITArrayF TArrayF where
-
-instance ITArrayI TArrayI where
-
-instance ITArrayL TArrayL where
-
-instance ITArrayL64 TArrayL64 where
-
-instance ITArrayS TArrayS where
-
-instance ITH1 TH1 where
-  getXaxis = xform0 c_th1_getxaxis
-  getYaxis = xform0 c_th1_getyaxis
-  getZaxis = xform0 c_th1_getzaxis
-  add = xform2 c_th1_add
-  fill1 = xform1 c_th1_fill1
-
-instance ITH2 TH2 where
-  fill2 = xform2 c_th2_fill2
-
-instance ITH3 TH3 where
-
-instance ITH1C TH1C where
-
-instance ITH1D TH1D where
-
-instance ITH1F TH1F where
-
-instance ITH1I TH1I where
-
-instance ITH1S TH1S where
-
-instance ITH2C TH2C where
-
-instance ITH2D TH2D where
-
-instance ITH2F TH2F where
-
-instance ITH2I TH2I where
-
-instance ITH2Poly TH2Poly where
-
-instance ITH2S TH2S where
-
-instance ITH3C TH3C where
-
-instance ITH3D TH3D where
-
-instance ITH3F TH3F where
-
-instance ITH3I TH3I where
-
-instance ITH3S TH3S where
-
-instance ITQObject TQObject where
-
-instance ITVirtualPad TVirtualPad where
-  getFrame = xform0 c_tvirtualpad_getframe
-  range = xform4 c_tvirtualpad_range
-
-instance ITPad TPad where
-
-instance ITButton TButton where
-
-instance ITGroupButton TGroupButton where
-
-instance ITCanvas TCanvas where
-
-instance ITDialogCanvas TDialogCanvas where
-
-instance ITInspectCanvas TInspectCanvas where
-
-instance ITEvePad TEvePad where
-
-instance ITSlider TSlider where
-
-instance ITApplication TApplication where
-  run = xform1 c_tapplication_run
-
-instance ITRint TRint where
-
-instance ITApplication TRint where
-  run = xform1 c_trint_run
-
-instance ITArray TH3S where
-instance ITArray TH3I where
-instance ITArray TH3F where
-instance ITArray TH3D where
-instance ITArray TH3C where
-instance ITArray TH2S where
-instance ITArray TH2I where
-instance ITArray TH2F where
-instance ITArray TH2D where
-instance ITArray TH2C where
-instance ITArray TH1S where
-instance ITArray TH1I where
-instance ITArray TH1F where
-instance ITArray TH1D where
-instance ITArray TH1C where
-instance ITArray TArrayS where
-instance ITArray TArrayL64 where
-instance ITArray TArrayL where
-instance ITArray TArrayI where
-instance ITArray TArrayF where
-instance ITArray TArrayD where
-instance ITArray TArrayC where
-
-instance ITArrayC TH3C where
-instance ITArrayC TH2C where
-instance ITArrayC TH1C where
-
-instance ITArrayD TH3D where
-instance ITArrayD TH2D where
-instance ITArrayD TH1D where
-
-instance ITArrayF TH3F where
-instance ITArrayF TH2F where
-instance ITArrayF TH1F where
-
-instance ITArrayI TH3I where
-instance ITArrayI TH2I where
-instance ITArrayI TH1I where
-
-instance ITArrayS TH3S where
-instance ITArrayS TH2S where
-instance ITArrayS TH1S where
-
-instance ITAtt3D TH3S where
-instance ITAtt3D TH3I where
-instance ITAtt3D TH3F where
-instance ITAtt3D TH3D where
-instance ITAtt3D TH3C where
-instance ITAtt3D TH3 where
-instance ITAtt3D TXTRU where
-instance ITAtt3D TSPHE where
-instance ITAtt3D TPCON where
-instance ITAtt3D TTUBE where
-instance ITAtt3D TBRIK where
-instance ITAtt3D TShape where
-
-instance ITAttAxis TAxis where
-  setLabelColor = xform1 c_taxis_setlabelcolor
-  setLabelSize = xform1 c_taxis_setlabelsize
-  setTickLength = xform1 c_taxis_setticklength
-  setTitleOffset = xform1 c_taxis_settitleoffset
-  setNdivisions = xform2 c_taxis_setndivisions
-
-instance ITAttFill TSlider where
-  setFillColor = xform1 c_tslider_setfillcolor
-  setFillStyle = xform1 c_tslider_setfillstyle
-instance ITAttFill TEvePad where
-  setFillColor = xform1 c_tevepad_setfillcolor
-  setFillStyle = xform1 c_tevepad_setfillstyle
-instance ITAttFill TInspectCanvas where
-  setFillColor = xform1 c_tinspectcanvas_setfillcolor
-  setFillStyle = xform1 c_tinspectcanvas_setfillstyle
-instance ITAttFill TDialogCanvas where
-  setFillColor = xform1 c_tdialogcanvas_setfillcolor
-  setFillStyle = xform1 c_tdialogcanvas_setfillstyle
-instance ITAttFill TCanvas where
-  setFillColor = xform1 c_tcanvas_setfillcolor
-  setFillStyle = xform1 c_tcanvas_setfillstyle
-instance ITAttFill TGroupButton where
-  setFillColor = xform1 c_tgroupbutton_setfillcolor
-  setFillStyle = xform1 c_tgroupbutton_setfillstyle
-instance ITAttFill TButton where
-  setFillColor = xform1 c_tbutton_setfillcolor
-  setFillStyle = xform1 c_tbutton_setfillstyle
-instance ITAttFill TPad where
-  setFillColor = xform1 c_tpad_setfillcolor
-  setFillStyle = xform1 c_tpad_setfillstyle
-instance ITAttFill TVirtualPad where
-  setFillColor = xform1 c_tvirtualpad_setfillcolor
-  setFillStyle = xform1 c_tvirtualpad_setfillstyle
-instance ITAttFill TH3S where
-  setFillColor = xform1 c_th3s_setfillcolor
-  setFillStyle = xform1 c_th3s_setfillstyle
-instance ITAttFill TH3I where
-  setFillColor = xform1 c_th3i_setfillcolor
-  setFillStyle = xform1 c_th3i_setfillstyle
-instance ITAttFill TH3F where
-  setFillColor = xform1 c_th3f_setfillcolor
-  setFillStyle = xform1 c_th3f_setfillstyle
-instance ITAttFill TH3D where
-  setFillColor = xform1 c_th3d_setfillcolor
-  setFillStyle = xform1 c_th3d_setfillstyle
-instance ITAttFill TH3C where
-  setFillColor = xform1 c_th3c_setfillcolor
-  setFillStyle = xform1 c_th3c_setfillstyle
-instance ITAttFill TH2S where
-  setFillColor = xform1 c_th2s_setfillcolor
-  setFillStyle = xform1 c_th2s_setfillstyle
-instance ITAttFill TH2Poly where
-  setFillColor = xform1 c_th2poly_setfillcolor
-  setFillStyle = xform1 c_th2poly_setfillstyle
-instance ITAttFill TH2I where
-  setFillColor = xform1 c_th2i_setfillcolor
-  setFillStyle = xform1 c_th2i_setfillstyle
-instance ITAttFill TH2F where
-  setFillColor = xform1 c_th2f_setfillcolor
-  setFillStyle = xform1 c_th2f_setfillstyle
-instance ITAttFill TH2D where
-  setFillColor = xform1 c_th2d_setfillcolor
-  setFillStyle = xform1 c_th2d_setfillstyle
-instance ITAttFill TH2C where
-  setFillColor = xform1 c_th2c_setfillcolor
-  setFillStyle = xform1 c_th2c_setfillstyle
-instance ITAttFill TH1S where
-  setFillColor = xform1 c_th1s_setfillcolor
-  setFillStyle = xform1 c_th1s_setfillstyle
-instance ITAttFill TH1I where
-  setFillColor = xform1 c_th1i_setfillcolor
-  setFillStyle = xform1 c_th1i_setfillstyle
-instance ITAttFill TH1F where
-  setFillColor = xform1 c_th1f_setfillcolor
-  setFillStyle = xform1 c_th1f_setfillstyle
-instance ITAttFill TH1D where
-  setFillColor = xform1 c_th1d_setfillcolor
-  setFillStyle = xform1 c_th1d_setfillstyle
-instance ITAttFill TH1C where
-  setFillColor = xform1 c_th1c_setfillcolor
-  setFillStyle = xform1 c_th1c_setfillstyle
-instance ITAttFill TH3 where
-  setFillColor = xform1 c_th3_setfillcolor
-  setFillStyle = xform1 c_th3_setfillstyle
-instance ITAttFill TH2 where
-  setFillColor = xform1 c_th2_setfillcolor
-  setFillStyle = xform1 c_th2_setfillstyle
-instance ITAttFill TH1 where
-  setFillColor = xform1 c_th1_setfillcolor
-  setFillStyle = xform1 c_th1_setfillstyle
-instance ITAttFill TBranch where
-  setFillColor = xform1 c_tbranch_setfillcolor
-  setFillStyle = xform1 c_tbranch_setfillstyle
-instance ITAttFill TEfficiency where
-  setFillColor = xform1 c_tefficiency_setfillcolor
-  setFillStyle = xform1 c_tefficiency_setfillstyle
-instance ITAttFill TCurlyArc where
-  setFillColor = xform1 c_tcurlyarc_setfillcolor
-  setFillStyle = xform1 c_tcurlyarc_setfillstyle
-instance ITAttFill TCurlyLine where
-  setFillColor = xform1 c_tcurlyline_setfillcolor
-  setFillStyle = xform1 c_tcurlyline_setfillstyle
-instance ITAttFill TPolyLine where
-  setFillColor = xform1 c_tpolyline_setfillcolor
-  setFillStyle = xform1 c_tpolyline_setfillstyle
-instance ITAttFill TTreeSQL where
-  setFillColor = xform1 c_ttreesql_setfillcolor
-  setFillStyle = xform1 c_ttreesql_setfillstyle
-instance ITAttFill TNtupleD where
-  setFillColor = xform1 c_tntupled_setfillcolor
-  setFillStyle = xform1 c_tntupled_setfillstyle
-instance ITAttFill TNtuple where
-  setFillColor = xform1 c_tntuple_setfillcolor
-  setFillStyle = xform1 c_tntuple_setfillstyle
-instance ITAttFill TChain where
-  setFillColor = xform1 c_tchain_setfillcolor
-  setFillStyle = xform1 c_tchain_setfillstyle
-instance ITAttFill TTree where
-  setFillColor = xform1 c_ttree_setfillcolor
-  setFillStyle = xform1 c_ttree_setfillstyle
-instance ITAttFill TSliderBox where
-  setFillColor = xform1 c_tsliderbox_setfillcolor
-  setFillStyle = xform1 c_tsliderbox_setfillstyle
-instance ITAttFill TFrame where
-  setFillColor = xform1 c_tframe_setfillcolor
-  setFillStyle = xform1 c_tframe_setfillstyle
-instance ITAttFill TWbox where
-  setFillColor = xform1 c_twbox_setfillcolor
-  setFillStyle = xform1 c_twbox_setfillstyle
-instance ITAttFill TPaveClass where
-  setFillColor = xform1 c_tpaveclass_setfillcolor
-  setFillStyle = xform1 c_tpaveclass_setfillstyle
-instance ITAttFill TPaveLabel where
-  setFillColor = xform1 c_tpavelabel_setfillcolor
-  setFillStyle = xform1 c_tpavelabel_setfillstyle
-instance ITAttFill TLegend where
-  setFillColor = xform1 c_tlegend_setfillcolor
-  setFillStyle = xform1 c_tlegend_setfillstyle
-instance ITAttFill TPavesText where
-  setFillColor = xform1 c_tpavestext_setfillcolor
-  setFillStyle = xform1 c_tpavestext_setfillstyle
-instance ITAttFill TPaveStats where
-  setFillColor = xform1 c_tpavestats_setfillcolor
-  setFillStyle = xform1 c_tpavestats_setfillstyle
-instance ITAttFill TDiamond where
-  setFillColor = xform1 c_tdiamond_setfillcolor
-  setFillStyle = xform1 c_tdiamond_setfillstyle
-instance ITAttFill TPaveText where
-  setFillColor = xform1 c_tpavetext_setfillcolor
-  setFillStyle = xform1 c_tpavetext_setfillstyle
-instance ITAttFill TPave where
-  setFillColor = xform1 c_tpave_setfillcolor
-  setFillStyle = xform1 c_tpave_setfillstyle
-instance ITAttFill TBox where
-  setFillColor = xform1 c_tbox_setfillcolor
-  setFillStyle = xform1 c_tbox_setfillstyle
-instance ITAttFill TXTRU where
-  setFillColor = xform1 c_txtru_setfillcolor
-  setFillStyle = xform1 c_txtru_setfillstyle
-instance ITAttFill TSPHE where
-  setFillColor = xform1 c_tsphe_setfillcolor
-  setFillStyle = xform1 c_tsphe_setfillstyle
-instance ITAttFill TPCON where
-  setFillColor = xform1 c_tpcon_setfillcolor
-  setFillStyle = xform1 c_tpcon_setfillstyle
-instance ITAttFill TTUBE where
-  setFillColor = xform1 c_ttube_setfillcolor
-  setFillStyle = xform1 c_ttube_setfillstyle
-instance ITAttFill TBRIK where
-  setFillColor = xform1 c_tbrik_setfillcolor
-  setFillStyle = xform1 c_tbrik_setfillstyle
-instance ITAttFill TShape where
-  setFillColor = xform1 c_tshape_setfillcolor
-  setFillStyle = xform1 c_tshape_setfillstyle
-instance ITAttFill TArrow where
-  setFillColor = xform1 c_tarrow_setfillcolor
-  setFillStyle = xform1 c_tarrow_setfillstyle
-instance ITAttFill TCrown where
-  setFillColor = xform1 c_tcrown_setfillcolor
-  setFillStyle = xform1 c_tcrown_setfillstyle
-instance ITAttFill TArc where
-  setFillColor = xform1 c_tarc_setfillcolor
-  setFillStyle = xform1 c_tarc_setfillstyle
-instance ITAttFill TEllipse where
-  setFillColor = xform1 c_tellipse_setfillcolor
-  setFillStyle = xform1 c_tellipse_setfillstyle
-instance ITAttFill TGraphQQ where
-  setFillColor = xform1 c_tgraphqq_setfillcolor
-  setFillStyle = xform1 c_tgraphqq_setfillstyle
-instance ITAttFill TGraphPolar where
-  setFillColor = xform1 c_tgraphpolar_setfillcolor
-  setFillStyle = xform1 c_tgraphpolar_setfillstyle
-instance ITAttFill TGraphErrors where
-  setFillColor = xform1 c_tgrapherrors_setfillcolor
-  setFillStyle = xform1 c_tgrapherrors_setfillstyle
-instance ITAttFill TGraphBentErrors where
-  setFillColor = xform1 c_tgraphbenterrors_setfillcolor
-  setFillStyle = xform1 c_tgraphbenterrors_setfillstyle
-instance ITAttFill TCutG where
-  setFillColor = xform1 c_tcutg_setfillcolor
-  setFillStyle = xform1 c_tcutg_setfillstyle
-instance ITAttFill TGraphAsymmErrors where
-  setFillColor = xform1 c_tgraphasymmerrors_setfillcolor
-  setFillStyle = xform1 c_tgraphasymmerrors_setfillstyle
-instance ITAttFill TGraph where
-  setFillColor = xform1 c_tgraph_setfillcolor
-  setFillStyle = xform1 c_tgraph_setfillstyle
-instance ITAttFill TF1 where
-  setFillColor = xform1 c_tf1_setfillcolor
-  setFillStyle = xform1 c_tf1_setfillstyle
-
-instance ITAttLine TSlider where
-  setLineColor = xform1 c_tslider_setlinecolor
-instance ITAttLine TEvePad where
-  setLineColor = xform1 c_tevepad_setlinecolor
-instance ITAttLine TInspectCanvas where
-  setLineColor = xform1 c_tinspectcanvas_setlinecolor
-instance ITAttLine TDialogCanvas where
-  setLineColor = xform1 c_tdialogcanvas_setlinecolor
-instance ITAttLine TCanvas where
-  setLineColor = xform1 c_tcanvas_setlinecolor
-instance ITAttLine TGroupButton where
-  setLineColor = xform1 c_tgroupbutton_setlinecolor
-instance ITAttLine TButton where
-  setLineColor = xform1 c_tbutton_setlinecolor
-instance ITAttLine TPad where
-  setLineColor = xform1 c_tpad_setlinecolor
-instance ITAttLine TVirtualPad where
-  setLineColor = xform1 c_tvirtualpad_setlinecolor
-instance ITAttLine TH3S where
-  setLineColor = xform1 c_th3s_setlinecolor
-instance ITAttLine TH3I where
-  setLineColor = xform1 c_th3i_setlinecolor
-instance ITAttLine TH3F where
-  setLineColor = xform1 c_th3f_setlinecolor
-instance ITAttLine TH3D where
-  setLineColor = xform1 c_th3d_setlinecolor
-instance ITAttLine TH3C where
-  setLineColor = xform1 c_th3c_setlinecolor
-instance ITAttLine TH2S where
-  setLineColor = xform1 c_th2s_setlinecolor
-instance ITAttLine TH2Poly where
-  setLineColor = xform1 c_th2poly_setlinecolor
-instance ITAttLine TH2I where
-  setLineColor = xform1 c_th2i_setlinecolor
-instance ITAttLine TH2F where
-  setLineColor = xform1 c_th2f_setlinecolor
-instance ITAttLine TH2D where
-  setLineColor = xform1 c_th2d_setlinecolor
-instance ITAttLine TH2C where
-  setLineColor = xform1 c_th2c_setlinecolor
-instance ITAttLine TH1S where
-  setLineColor = xform1 c_th1s_setlinecolor
-instance ITAttLine TH1I where
-  setLineColor = xform1 c_th1i_setlinecolor
-instance ITAttLine TH1F where
-  setLineColor = xform1 c_th1f_setlinecolor
-instance ITAttLine TH1D where
-  setLineColor = xform1 c_th1d_setlinecolor
-instance ITAttLine TH1C where
-  setLineColor = xform1 c_th1c_setlinecolor
-instance ITAttLine TH3 where
-  setLineColor = xform1 c_th3_setlinecolor
-instance ITAttLine TH2 where
-  setLineColor = xform1 c_th2_setlinecolor
-instance ITAttLine TH1 where
-  setLineColor = xform1 c_th1_setlinecolor
-instance ITAttLine TLatex where
-  setLineColor = xform1 c_tlatex_setlinecolor
-instance ITAttLine TEfficiency where
-  setLineColor = xform1 c_tefficiency_setlinecolor
-instance ITAttLine TCurlyArc where
-  setLineColor = xform1 c_tcurlyarc_setlinecolor
-instance ITAttLine TCurlyLine where
-  setLineColor = xform1 c_tcurlyline_setlinecolor
-instance ITAttLine TPolyLine where
-  setLineColor = xform1 c_tpolyline_setlinecolor
-instance ITAttLine TTreeSQL where
-  setLineColor = xform1 c_ttreesql_setlinecolor
-instance ITAttLine TNtupleD where
-  setLineColor = xform1 c_tntupled_setlinecolor
-instance ITAttLine TNtuple where
-  setLineColor = xform1 c_tntuple_setlinecolor
-instance ITAttLine TChain where
-  setLineColor = xform1 c_tchain_setlinecolor
-instance ITAttLine TTree where
-  setLineColor = xform1 c_ttree_setlinecolor
-instance ITAttLine TSliderBox where
-  setLineColor = xform1 c_tsliderbox_setlinecolor
-instance ITAttLine TFrame where
-  setLineColor = xform1 c_tframe_setlinecolor
-instance ITAttLine TWbox where
-  setLineColor = xform1 c_twbox_setlinecolor
-instance ITAttLine TPaveClass where
-  setLineColor = xform1 c_tpaveclass_setlinecolor
-instance ITAttLine TPaveLabel where
-  setLineColor = xform1 c_tpavelabel_setlinecolor
-instance ITAttLine TLegend where
-  setLineColor = xform1 c_tlegend_setlinecolor
-instance ITAttLine TPavesText where
-  setLineColor = xform1 c_tpavestext_setlinecolor
-instance ITAttLine TPaveStats where
-  setLineColor = xform1 c_tpavestats_setlinecolor
-instance ITAttLine TDiamond where
-  setLineColor = xform1 c_tdiamond_setlinecolor
-instance ITAttLine TPaveText where
-  setLineColor = xform1 c_tpavetext_setlinecolor
-instance ITAttLine TPave where
-  setLineColor = xform1 c_tpave_setlinecolor
-instance ITAttLine TBox where
-  setLineColor = xform1 c_tbox_setlinecolor
-instance ITAttLine TXTRU where
-  setLineColor = xform1 c_txtru_setlinecolor
-instance ITAttLine TSPHE where
-  setLineColor = xform1 c_tsphe_setlinecolor
-instance ITAttLine TPCON where
-  setLineColor = xform1 c_tpcon_setlinecolor
-instance ITAttLine TTUBE where
-  setLineColor = xform1 c_ttube_setlinecolor
-instance ITAttLine TBRIK where
-  setLineColor = xform1 c_tbrik_setlinecolor
-instance ITAttLine TShape where
-  setLineColor = xform1 c_tshape_setlinecolor
-instance ITAttLine TGaxis where
-  setLineColor = xform1 c_tgaxis_setlinecolor
-instance ITAttLine TArrow where
-  setLineColor = xform1 c_tarrow_setlinecolor
-instance ITAttLine TLine where
-  setLineColor = xform1 c_tline_setlinecolor
-instance ITAttLine TCrown where
-  setLineColor = xform1 c_tcrown_setlinecolor
-instance ITAttLine TArc where
-  setLineColor = xform1 c_tarc_setlinecolor
-instance ITAttLine TEllipse where
-  setLineColor = xform1 c_tellipse_setlinecolor
-instance ITAttLine TGraphQQ where
-  setLineColor = xform1 c_tgraphqq_setlinecolor
-instance ITAttLine TGraphPolar where
-  setLineColor = xform1 c_tgraphpolar_setlinecolor
-instance ITAttLine TGraphErrors where
-  setLineColor = xform1 c_tgrapherrors_setlinecolor
-instance ITAttLine TGraphBentErrors where
-  setLineColor = xform1 c_tgraphbenterrors_setlinecolor
-instance ITAttLine TCutG where
-  setLineColor = xform1 c_tcutg_setlinecolor
-instance ITAttLine TGraphAsymmErrors where
-  setLineColor = xform1 c_tgraphasymmerrors_setlinecolor
-instance ITAttLine TGraph where
-  setLineColor = xform1 c_tgraph_setlinecolor
-instance ITAttLine TF1 where
-  setLineColor = xform1 c_tf1_setlinecolor
-
-instance ITAttMarker TH3S where
-instance ITAttMarker TH3I where
-instance ITAttMarker TH3F where
-instance ITAttMarker TH3D where
-instance ITAttMarker TH3C where
-instance ITAttMarker TH2S where
-instance ITAttMarker TH2Poly where
-instance ITAttMarker TH2I where
-instance ITAttMarker TH2F where
-instance ITAttMarker TH2D where
-instance ITAttMarker TH2C where
-instance ITAttMarker TH1S where
-instance ITAttMarker TH1I where
-instance ITAttMarker TH1F where
-instance ITAttMarker TH1D where
-instance ITAttMarker TH1C where
-instance ITAttMarker TH3 where
-instance ITAttMarker TH2 where
-instance ITAttMarker TH1 where
-instance ITAttMarker TEfficiency where
-instance ITAttMarker TTreeSQL where
-instance ITAttMarker TNtupleD where
-instance ITAttMarker TNtuple where
-instance ITAttMarker TChain where
-instance ITAttMarker TTree where
-instance ITAttMarker TGraphQQ where
-instance ITAttMarker TGraphPolar where
-instance ITAttMarker TGraphErrors where
-instance ITAttMarker TGraphBentErrors where
-instance ITAttMarker TCutG where
-instance ITAttMarker TGraphAsymmErrors where
-instance ITAttMarker TGraph where
-
-instance ITAttPad TSlider where
-instance ITAttPad TEvePad where
-instance ITAttPad TInspectCanvas where
-instance ITAttPad TDialogCanvas where
-instance ITAttPad TCanvas where
-instance ITAttPad TGroupButton where
-instance ITAttPad TButton where
-instance ITAttPad TPad where
-instance ITAttPad TVirtualPad where
-
-instance ITAttText TInspectCanvas where
-  setTextColor = xform1 c_tinspectcanvas_settextcolor
-  setTextAlign = xform1 c_tinspectcanvas_settextalign
-  setTextSize = xform1 c_tinspectcanvas_settextsize
-instance ITAttText TDialogCanvas where
-  setTextColor = xform1 c_tdialogcanvas_settextcolor
-  setTextAlign = xform1 c_tdialogcanvas_settextalign
-  setTextSize = xform1 c_tdialogcanvas_settextsize
-instance ITAttText TGroupButton where
-  setTextColor = xform1 c_tgroupbutton_settextcolor
-  setTextAlign = xform1 c_tgroupbutton_settextalign
-  setTextSize = xform1 c_tgroupbutton_settextsize
-instance ITAttText TButton where
-  setTextColor = xform1 c_tbutton_settextcolor
-  setTextAlign = xform1 c_tbutton_settextalign
-  setTextSize = xform1 c_tbutton_settextsize
-instance ITAttText TText where
-  setTextColor = xform1 c_ttext_settextcolor
-  setTextAlign = xform1 c_ttext_settextalign
-  setTextSize = xform1 c_ttext_settextsize
-instance ITAttText TLatex where
-  setTextColor = xform1 c_tlatex_settextcolor
-  setTextAlign = xform1 c_tlatex_settextalign
-  setTextSize = xform1 c_tlatex_settextsize
-instance ITAttText TPaveClass where
-  setTextColor = xform1 c_tpaveclass_settextcolor
-  setTextAlign = xform1 c_tpaveclass_settextalign
-  setTextSize = xform1 c_tpaveclass_settextsize
-instance ITAttText TPaveLabel where
-  setTextColor = xform1 c_tpavelabel_settextcolor
-  setTextAlign = xform1 c_tpavelabel_settextalign
-  setTextSize = xform1 c_tpavelabel_settextsize
-instance ITAttText TLegend where
-  setTextColor = xform1 c_tlegend_settextcolor
-  setTextAlign = xform1 c_tlegend_settextalign
-  setTextSize = xform1 c_tlegend_settextsize
-instance ITAttText TPavesText where
-  setTextColor = xform1 c_tpavestext_settextcolor
-  setTextAlign = xform1 c_tpavestext_settextalign
-  setTextSize = xform1 c_tpavestext_settextsize
-instance ITAttText TPaveStats where
-  setTextColor = xform1 c_tpavestats_settextcolor
-  setTextAlign = xform1 c_tpavestats_settextalign
-  setTextSize = xform1 c_tpavestats_settextsize
-instance ITAttText TDiamond where
-  setTextColor = xform1 c_tdiamond_settextcolor
-  setTextAlign = xform1 c_tdiamond_settextalign
-  setTextSize = xform1 c_tdiamond_settextsize
-instance ITAttText TPaveText where
-  setTextColor = xform1 c_tpavetext_settextcolor
-  setTextAlign = xform1 c_tpavetext_settextalign
-  setTextSize = xform1 c_tpavetext_settextsize
-instance ITAttText TGaxis where
-  setTextColor = xform1 c_tgaxis_settextcolor
-  setTextAlign = xform1 c_tgaxis_settextalign
-  setTextSize = xform1 c_tgaxis_settextsize
-
-instance ITBox TSliderBox where
-instance ITBox TFrame where
-instance ITBox TWbox where
-instance ITBox TPaveClass where
-instance ITBox TPaveLabel where
-instance ITBox TLegend where
-instance ITBox TPavesText where
-instance ITBox TPaveStats where
-instance ITBox TDiamond where
-instance ITBox TPaveText where
-instance ITBox TPave where
-
-instance ITButton TGroupButton where
-
-instance ITCanvas TInspectCanvas where
-instance ITCanvas TDialogCanvas where
-
-instance ITCurlyLine TCurlyArc where
-
-instance ITDirectory TFile where
-  close = xform1 c_tfile_close
-instance ITDirectory TDirectoryFile where
-  close = xform1 c_tdirectoryfile_close
-
-instance ITDirectoryFile TFile where
-
-instance ITEllipse TCrown where
-instance ITEllipse TArc where
-
-instance ITFormula TF1 where
-  getParameter = xform1 c_tf1_getparameter
-  setParameter = xform2 c_tf1_setparameter
-
-instance ITGraph TGraphQQ where
-instance ITGraph TGraphPolar where
-instance ITGraph TGraphErrors where
-instance ITGraph TGraphBentErrors where
-instance ITGraph TCutG where
-instance ITGraph TGraphAsymmErrors where
-
-instance ITGraphErrors TGraphPolar where
-
-instance ITH1 TH3S where
-  getXaxis = xform0 c_th3s_getxaxis
-  getYaxis = xform0 c_th3s_getyaxis
-  getZaxis = xform0 c_th3s_getzaxis
-  add = xform2 c_th3s_add
-  fill1 = xform1 c_th3s_fill1
-instance ITH1 TH3I where
-  getXaxis = xform0 c_th3i_getxaxis
-  getYaxis = xform0 c_th3i_getyaxis
-  getZaxis = xform0 c_th3i_getzaxis
-  add = xform2 c_th3i_add
-  fill1 = xform1 c_th3i_fill1
-instance ITH1 TH3F where
-  getXaxis = xform0 c_th3f_getxaxis
-  getYaxis = xform0 c_th3f_getyaxis
-  getZaxis = xform0 c_th3f_getzaxis
-  add = xform2 c_th3f_add
-  fill1 = xform1 c_th3f_fill1
-instance ITH1 TH3D where
-  getXaxis = xform0 c_th3d_getxaxis
-  getYaxis = xform0 c_th3d_getyaxis
-  getZaxis = xform0 c_th3d_getzaxis
-  add = xform2 c_th3d_add
-  fill1 = xform1 c_th3d_fill1
-instance ITH1 TH3C where
-  getXaxis = xform0 c_th3c_getxaxis
-  getYaxis = xform0 c_th3c_getyaxis
-  getZaxis = xform0 c_th3c_getzaxis
-  add = xform2 c_th3c_add
-  fill1 = xform1 c_th3c_fill1
-instance ITH1 TH2S where
-  getXaxis = xform0 c_th2s_getxaxis
-  getYaxis = xform0 c_th2s_getyaxis
-  getZaxis = xform0 c_th2s_getzaxis
-  add = xform2 c_th2s_add
-  fill1 = xform1 c_th2s_fill1
-instance ITH1 TH2Poly where
-  getXaxis = xform0 c_th2poly_getxaxis
-  getYaxis = xform0 c_th2poly_getyaxis
-  getZaxis = xform0 c_th2poly_getzaxis
-  add = xform2 c_th2poly_add
-  fill1 = xform1 c_th2poly_fill1
-instance ITH1 TH2I where
-  getXaxis = xform0 c_th2i_getxaxis
-  getYaxis = xform0 c_th2i_getyaxis
-  getZaxis = xform0 c_th2i_getzaxis
-  add = xform2 c_th2i_add
-  fill1 = xform1 c_th2i_fill1
-instance ITH1 TH2F where
-  getXaxis = xform0 c_th2f_getxaxis
-  getYaxis = xform0 c_th2f_getyaxis
-  getZaxis = xform0 c_th2f_getzaxis
-  add = xform2 c_th2f_add
-  fill1 = xform1 c_th2f_fill1
-instance ITH1 TH2D where
-  getXaxis = xform0 c_th2d_getxaxis
-  getYaxis = xform0 c_th2d_getyaxis
-  getZaxis = xform0 c_th2d_getzaxis
-  add = xform2 c_th2d_add
-  fill1 = xform1 c_th2d_fill1
-instance ITH1 TH2C where
-  getXaxis = xform0 c_th2c_getxaxis
-  getYaxis = xform0 c_th2c_getyaxis
-  getZaxis = xform0 c_th2c_getzaxis
-  add = xform2 c_th2c_add
-  fill1 = xform1 c_th2c_fill1
-instance ITH1 TH1S where
-  getXaxis = xform0 c_th1s_getxaxis
-  getYaxis = xform0 c_th1s_getyaxis
-  getZaxis = xform0 c_th1s_getzaxis
-  add = xform2 c_th1s_add
-  fill1 = xform1 c_th1s_fill1
-instance ITH1 TH1I where
-  getXaxis = xform0 c_th1i_getxaxis
-  getYaxis = xform0 c_th1i_getyaxis
-  getZaxis = xform0 c_th1i_getzaxis
-  add = xform2 c_th1i_add
-  fill1 = xform1 c_th1i_fill1
-instance ITH1 TH1F where
-  getXaxis = xform0 c_th1f_getxaxis
-  getYaxis = xform0 c_th1f_getyaxis
-  getZaxis = xform0 c_th1f_getzaxis
-  add = xform2 c_th1f_add
-  fill1 = xform1 c_th1f_fill1
-instance ITH1 TH1D where
-  getXaxis = xform0 c_th1d_getxaxis
-  getYaxis = xform0 c_th1d_getyaxis
-  getZaxis = xform0 c_th1d_getzaxis
-  add = xform2 c_th1d_add
-  fill1 = xform1 c_th1d_fill1
-instance ITH1 TH1C where
-  getXaxis = xform0 c_th1c_getxaxis
-  getYaxis = xform0 c_th1c_getyaxis
-  getZaxis = xform0 c_th1c_getzaxis
-  add = xform2 c_th1c_add
-  fill1 = xform1 c_th1c_fill1
-instance ITH1 TH3 where
-  getXaxis = xform0 c_th3_getxaxis
-  getYaxis = xform0 c_th3_getyaxis
-  getZaxis = xform0 c_th3_getzaxis
-  add = xform2 c_th3_add
-  fill1 = xform1 c_th3_fill1
-instance ITH1 TH2 where
-  getXaxis = xform0 c_th2_getxaxis
-  getYaxis = xform0 c_th2_getyaxis
-  getZaxis = xform0 c_th2_getzaxis
-  add = xform2 c_th2_add
-  fill1 = xform1 c_th2_fill1
-
-instance ITH2 TH2S where
-  fill2 = xform2 c_th2s_fill2
-instance ITH2 TH2Poly where
-  fill2 = xform2 c_th2poly_fill2
-instance ITH2 TH2I where
-  fill2 = xform2 c_th2i_fill2
-instance ITH2 TH2F where
-  fill2 = xform2 c_th2f_fill2
-instance ITH2 TH2D where
-  fill2 = xform2 c_th2d_fill2
-instance ITH2 TH2C where
-  fill2 = xform2 c_th2c_fill2
-
-instance ITH3 TH3S where
-instance ITH3 TH3I where
-instance ITH3 TH3F where
-instance ITH3 TH3D where
-instance ITH3 TH3C where
-
-instance ITLine TGaxis where
-instance ITLine TArrow where
-
-instance ITNamed TH3S where
-  setTitle = xform1 c_th3s_settitle
-instance ITNamed TH3I where
-  setTitle = xform1 c_th3i_settitle
-instance ITNamed TH3F where
-  setTitle = xform1 c_th3f_settitle
-instance ITNamed TH3D where
-  setTitle = xform1 c_th3d_settitle
-instance ITNamed TH3C where
-  setTitle = xform1 c_th3c_settitle
-instance ITNamed TH2S where
-  setTitle = xform1 c_th2s_settitle
-instance ITNamed TH2Poly where
-  setTitle = xform1 c_th2poly_settitle
-instance ITNamed TH2I where
-  setTitle = xform1 c_th2i_settitle
-instance ITNamed TH2F where
-  setTitle = xform1 c_th2f_settitle
-instance ITNamed TH2D where
-  setTitle = xform1 c_th2d_settitle
-instance ITNamed TH2C where
-  setTitle = xform1 c_th2c_settitle
-instance ITNamed TH1S where
-  setTitle = xform1 c_th1s_settitle
-instance ITNamed TH1I where
-  setTitle = xform1 c_th1i_settitle
-instance ITNamed TH1F where
-  setTitle = xform1 c_th1f_settitle
-instance ITNamed TH1D where
-  setTitle = xform1 c_th1d_settitle
-instance ITNamed TH1C where
-  setTitle = xform1 c_th1c_settitle
-instance ITNamed TH3 where
-  setTitle = xform1 c_th3_settitle
-instance ITNamed TH2 where
-  setTitle = xform1 c_th2_settitle
-instance ITNamed TH1 where
-  setTitle = xform1 c_th1_settitle
-instance ITNamed TBranch where
-  setTitle = xform1 c_tbranch_settitle
-instance ITNamed TFile where
-  setTitle = xform1 c_tfile_settitle
-instance ITNamed TDirectoryFile where
-  setTitle = xform1 c_tdirectoryfile_settitle
-instance ITNamed TDirectory where
-  setTitle = xform1 c_tdirectory_settitle
-instance ITNamed TText where
-  setTitle = xform1 c_ttext_settitle
-instance ITNamed TLatex where
-  setTitle = xform1 c_tlatex_settitle
-instance ITNamed TAxis where
-  setTitle = xform1 c_taxis_settitle
-instance ITNamed TEfficiency where
-  setTitle = xform1 c_tefficiency_settitle
-instance ITNamed TTreeSQL where
-  setTitle = xform1 c_ttreesql_settitle
-instance ITNamed TNtupleD where
-  setTitle = xform1 c_tntupled_settitle
-instance ITNamed TNtuple where
-  setTitle = xform1 c_tntuple_settitle
-instance ITNamed TChain where
-  setTitle = xform1 c_tchain_settitle
-instance ITNamed TTree where
-  setTitle = xform1 c_ttree_settitle
-instance ITNamed TXTRU where
-  setTitle = xform1 c_txtru_settitle
-instance ITNamed TSPHE where
-  setTitle = xform1 c_tsphe_settitle
-instance ITNamed TPCON where
-  setTitle = xform1 c_tpcon_settitle
-instance ITNamed TTUBE where
-  setTitle = xform1 c_ttube_settitle
-instance ITNamed TBRIK where
-  setTitle = xform1 c_tbrik_settitle
-instance ITNamed TShape where
-  setTitle = xform1 c_tshape_settitle
-instance ITNamed TGraphQQ where
-  setTitle = xform1 c_tgraphqq_settitle
-instance ITNamed TGraphPolar where
-  setTitle = xform1 c_tgraphpolar_settitle
-instance ITNamed TGraphErrors where
-  setTitle = xform1 c_tgrapherrors_settitle
-instance ITNamed TGraphBentErrors where
-  setTitle = xform1 c_tgraphbenterrors_settitle
-instance ITNamed TCutG where
-  setTitle = xform1 c_tcutg_settitle
-instance ITNamed TGraphAsymmErrors where
-  setTitle = xform1 c_tgraphasymmerrors_settitle
-instance ITNamed TGraph where
-  setTitle = xform1 c_tgraph_settitle
-instance ITNamed THStack where
-  setTitle = xform1 c_thstack_settitle
-instance ITNamed TAttParticle where
-  setTitle = xform1 c_tattparticle_settitle
-
-instance ITObject TRint where
-  getName = xform0 c_trint_getname
-  draw = xform1 c_trint_draw
-  saveAs = xform2 c_trint_saveas
-  write = xform3 c_trint_write
-instance ITObject TApplication where
-  getName = xform0 c_tapplication_getname
-  draw = xform1 c_tapplication_draw
-  saveAs = xform2 c_tapplication_saveas
-  write = xform3 c_tapplication_write
-instance ITObject TSlider where
-  getName = xform0 c_tslider_getname
-  draw = xform1 c_tslider_draw
-  saveAs = xform2 c_tslider_saveas
-  write = xform3 c_tslider_write
-instance ITObject TEvePad where
-  getName = xform0 c_tevepad_getname
-  draw = xform1 c_tevepad_draw
-  saveAs = xform2 c_tevepad_saveas
-  write = xform3 c_tevepad_write
-instance ITObject TInspectCanvas where
-  getName = xform0 c_tinspectcanvas_getname
-  draw = xform1 c_tinspectcanvas_draw
-  saveAs = xform2 c_tinspectcanvas_saveas
-  write = xform3 c_tinspectcanvas_write
-instance ITObject TDialogCanvas where
-  getName = xform0 c_tdialogcanvas_getname
-  draw = xform1 c_tdialogcanvas_draw
-  saveAs = xform2 c_tdialogcanvas_saveas
-  write = xform3 c_tdialogcanvas_write
-instance ITObject TCanvas where
-  getName = xform0 c_tcanvas_getname
-  draw = xform1 c_tcanvas_draw
-  saveAs = xform2 c_tcanvas_saveas
-  write = xform3 c_tcanvas_write
-instance ITObject TGroupButton where
-  getName = xform0 c_tgroupbutton_getname
-  draw = xform1 c_tgroupbutton_draw
-  saveAs = xform2 c_tgroupbutton_saveas
-  write = xform3 c_tgroupbutton_write
-instance ITObject TButton where
-  getName = xform0 c_tbutton_getname
-  draw = xform1 c_tbutton_draw
-  saveAs = xform2 c_tbutton_saveas
-  write = xform3 c_tbutton_write
-instance ITObject TPad where
-  getName = xform0 c_tpad_getname
-  draw = xform1 c_tpad_draw
-  saveAs = xform2 c_tpad_saveas
-  write = xform3 c_tpad_write
-instance ITObject TVirtualPad where
-  getName = xform0 c_tvirtualpad_getname
-  draw = xform1 c_tvirtualpad_draw
-  saveAs = xform2 c_tvirtualpad_saveas
-  write = xform3 c_tvirtualpad_write
-instance ITObject TH3S where
-  getName = xform0 c_th3s_getname
-  draw = xform1 c_th3s_draw
-  saveAs = xform2 c_th3s_saveas
-  write = xform3 c_th3s_write
-instance ITObject TH3I where
-  getName = xform0 c_th3i_getname
-  draw = xform1 c_th3i_draw
-  saveAs = xform2 c_th3i_saveas
-  write = xform3 c_th3i_write
-instance ITObject TH3F where
-  getName = xform0 c_th3f_getname
-  draw = xform1 c_th3f_draw
-  saveAs = xform2 c_th3f_saveas
-  write = xform3 c_th3f_write
-instance ITObject TH3D where
-  getName = xform0 c_th3d_getname
-  draw = xform1 c_th3d_draw
-  saveAs = xform2 c_th3d_saveas
-  write = xform3 c_th3d_write
-instance ITObject TH3C where
-  getName = xform0 c_th3c_getname
-  draw = xform1 c_th3c_draw
-  saveAs = xform2 c_th3c_saveas
-  write = xform3 c_th3c_write
-instance ITObject TH2S where
-  getName = xform0 c_th2s_getname
-  draw = xform1 c_th2s_draw
-  saveAs = xform2 c_th2s_saveas
-  write = xform3 c_th2s_write
-instance ITObject TH2Poly where
-  getName = xform0 c_th2poly_getname
-  draw = xform1 c_th2poly_draw
-  saveAs = xform2 c_th2poly_saveas
-  write = xform3 c_th2poly_write
-instance ITObject TH2I where
-  getName = xform0 c_th2i_getname
-  draw = xform1 c_th2i_draw
-  saveAs = xform2 c_th2i_saveas
-  write = xform3 c_th2i_write
-instance ITObject TH2F where
-  getName = xform0 c_th2f_getname
-  draw = xform1 c_th2f_draw
-  saveAs = xform2 c_th2f_saveas
-  write = xform3 c_th2f_write
-instance ITObject TH2D where
-  getName = xform0 c_th2d_getname
-  draw = xform1 c_th2d_draw
-  saveAs = xform2 c_th2d_saveas
-  write = xform3 c_th2d_write
-instance ITObject TH2C where
-  getName = xform0 c_th2c_getname
-  draw = xform1 c_th2c_draw
-  saveAs = xform2 c_th2c_saveas
-  write = xform3 c_th2c_write
-instance ITObject TH1S where
-  getName = xform0 c_th1s_getname
-  draw = xform1 c_th1s_draw
-  saveAs = xform2 c_th1s_saveas
-  write = xform3 c_th1s_write
-instance ITObject TH1I where
-  getName = xform0 c_th1i_getname
-  draw = xform1 c_th1i_draw
-  saveAs = xform2 c_th1i_saveas
-  write = xform3 c_th1i_write
-instance ITObject TH1F where
-  getName = xform0 c_th1f_getname
-  draw = xform1 c_th1f_draw
-  saveAs = xform2 c_th1f_saveas
-  write = xform3 c_th1f_write
-instance ITObject TH1D where
-  getName = xform0 c_th1d_getname
-  draw = xform1 c_th1d_draw
-  saveAs = xform2 c_th1d_saveas
-  write = xform3 c_th1d_write
-instance ITObject TH1C where
-  getName = xform0 c_th1c_getname
-  draw = xform1 c_th1c_draw
-  saveAs = xform2 c_th1c_saveas
-  write = xform3 c_th1c_write
-instance ITObject TH3 where
-  getName = xform0 c_th3_getname
-  draw = xform1 c_th3_draw
-  saveAs = xform2 c_th3_saveas
-  write = xform3 c_th3_write
-instance ITObject TH2 where
-  getName = xform0 c_th2_getname
-  draw = xform1 c_th2_draw
-  saveAs = xform2 c_th2_saveas
-  write = xform3 c_th2_write
-instance ITObject TH1 where
-  getName = xform0 c_th1_getname
-  draw = xform1 c_th1_draw
-  saveAs = xform2 c_th1_saveas
-  write = xform3 c_th1_write
-instance ITObject TTreePlayer where
-  getName = xform0 c_ttreeplayer_getname
-  draw = xform1 c_ttreeplayer_draw
-  saveAs = xform2 c_ttreeplayer_saveas
-  write = xform3 c_ttreeplayer_write
-instance ITObject TVirtualTreePlayer where
-  getName = xform0 c_tvirtualtreeplayer_getname
-  draw = xform1 c_tvirtualtreeplayer_draw
-  saveAs = xform2 c_tvirtualtreeplayer_saveas
-  write = xform3 c_tvirtualtreeplayer_write
-instance ITObject TBranch where
-  getName = xform0 c_tbranch_getname
-  draw = xform1 c_tbranch_draw
-  saveAs = xform2 c_tbranch_saveas
-  write = xform3 c_tbranch_write
-instance ITObject TFile where
-  getName = xform0 c_tfile_getname
-  draw = xform1 c_tfile_draw
-  saveAs = xform2 c_tfile_saveas
-  write = xform3 c_tfile_write
-instance ITObject TDirectoryFile where
-  getName = xform0 c_tdirectoryfile_getname
-  draw = xform1 c_tdirectoryfile_draw
-  saveAs = xform2 c_tdirectoryfile_saveas
-  write = xform3 c_tdirectoryfile_write
-instance ITObject TDirectory where
-  getName = xform0 c_tdirectory_getname
-  draw = xform1 c_tdirectory_draw
-  saveAs = xform2 c_tdirectory_saveas
-  write = xform3 c_tdirectory_write
-instance ITObject TText where
-  getName = xform0 c_ttext_getname
-  draw = xform1 c_ttext_draw
-  saveAs = xform2 c_ttext_saveas
-  write = xform3 c_ttext_write
-instance ITObject TLatex where
-  getName = xform0 c_tlatex_getname
-  draw = xform1 c_tlatex_draw
-  saveAs = xform2 c_tlatex_saveas
-  write = xform3 c_tlatex_write
-instance ITObject TAxis where
-  getName = xform0 c_taxis_getname
-  draw = xform1 c_taxis_draw
-  saveAs = xform2 c_taxis_saveas
-  write = xform3 c_taxis_write
-instance ITObject TEfficiency where
-  getName = xform0 c_tefficiency_getname
-  draw = xform1 c_tefficiency_draw
-  saveAs = xform2 c_tefficiency_saveas
-  write = xform3 c_tefficiency_write
-instance ITObject TCurlyArc where
-  getName = xform0 c_tcurlyarc_getname
-  draw = xform1 c_tcurlyarc_draw
-  saveAs = xform2 c_tcurlyarc_saveas
-  write = xform3 c_tcurlyarc_write
-instance ITObject TCurlyLine where
-  getName = xform0 c_tcurlyline_getname
-  draw = xform1 c_tcurlyline_draw
-  saveAs = xform2 c_tcurlyline_saveas
-  write = xform3 c_tcurlyline_write
-instance ITObject TPolyLine where
-  getName = xform0 c_tpolyline_getname
-  draw = xform1 c_tpolyline_draw
-  saveAs = xform2 c_tpolyline_saveas
-  write = xform3 c_tpolyline_write
-instance ITObject TTreeSQL where
-  getName = xform0 c_ttreesql_getname
-  draw = xform1 c_ttreesql_draw
-  saveAs = xform2 c_ttreesql_saveas
-  write = xform3 c_ttreesql_write
-instance ITObject TNtupleD where
-  getName = xform0 c_tntupled_getname
-  draw = xform1 c_tntupled_draw
-  saveAs = xform2 c_tntupled_saveas
-  write = xform3 c_tntupled_write
-instance ITObject TNtuple where
-  getName = xform0 c_tntuple_getname
-  draw = xform1 c_tntuple_draw
-  saveAs = xform2 c_tntuple_saveas
-  write = xform3 c_tntuple_write
-instance ITObject TChain where
-  getName = xform0 c_tchain_getname
-  draw = xform1 c_tchain_draw
-  saveAs = xform2 c_tchain_saveas
-  write = xform3 c_tchain_write
-instance ITObject TTree where
-  getName = xform0 c_ttree_getname
-  draw = xform1 c_ttree_draw
-  saveAs = xform2 c_ttree_saveas
-  write = xform3 c_ttree_write
-instance ITObject TSliderBox where
-  getName = xform0 c_tsliderbox_getname
-  draw = xform1 c_tsliderbox_draw
-  saveAs = xform2 c_tsliderbox_saveas
-  write = xform3 c_tsliderbox_write
-instance ITObject TFrame where
-  getName = xform0 c_tframe_getname
-  draw = xform1 c_tframe_draw
-  saveAs = xform2 c_tframe_saveas
-  write = xform3 c_tframe_write
-instance ITObject TWbox where
-  getName = xform0 c_twbox_getname
-  draw = xform1 c_twbox_draw
-  saveAs = xform2 c_twbox_saveas
-  write = xform3 c_twbox_write
-instance ITObject TPaveClass where
-  getName = xform0 c_tpaveclass_getname
-  draw = xform1 c_tpaveclass_draw
-  saveAs = xform2 c_tpaveclass_saveas
-  write = xform3 c_tpaveclass_write
-instance ITObject TPaveLabel where
-  getName = xform0 c_tpavelabel_getname
-  draw = xform1 c_tpavelabel_draw
-  saveAs = xform2 c_tpavelabel_saveas
-  write = xform3 c_tpavelabel_write
-instance ITObject TLegend where
-  getName = xform0 c_tlegend_getname
-  draw = xform1 c_tlegend_draw
-  saveAs = xform2 c_tlegend_saveas
-  write = xform3 c_tlegend_write
-instance ITObject TPavesText where
-  getName = xform0 c_tpavestext_getname
-  draw = xform1 c_tpavestext_draw
-  saveAs = xform2 c_tpavestext_saveas
-  write = xform3 c_tpavestext_write
-instance ITObject TPaveStats where
-  getName = xform0 c_tpavestats_getname
-  draw = xform1 c_tpavestats_draw
-  saveAs = xform2 c_tpavestats_saveas
-  write = xform3 c_tpavestats_write
-instance ITObject TDiamond where
-  getName = xform0 c_tdiamond_getname
-  draw = xform1 c_tdiamond_draw
-  saveAs = xform2 c_tdiamond_saveas
-  write = xform3 c_tdiamond_write
-instance ITObject TPaveText where
-  getName = xform0 c_tpavetext_getname
-  draw = xform1 c_tpavetext_draw
-  saveAs = xform2 c_tpavetext_saveas
-  write = xform3 c_tpavetext_write
-instance ITObject TPave where
-  getName = xform0 c_tpave_getname
-  draw = xform1 c_tpave_draw
-  saveAs = xform2 c_tpave_saveas
-  write = xform3 c_tpave_write
-instance ITObject TBox where
-  getName = xform0 c_tbox_getname
-  draw = xform1 c_tbox_draw
-  saveAs = xform2 c_tbox_saveas
-  write = xform3 c_tbox_write
-instance ITObject TXTRU where
-  getName = xform0 c_txtru_getname
-  draw = xform1 c_txtru_draw
-  saveAs = xform2 c_txtru_saveas
-  write = xform3 c_txtru_write
-instance ITObject TSPHE where
-  getName = xform0 c_tsphe_getname
-  draw = xform1 c_tsphe_draw
-  saveAs = xform2 c_tsphe_saveas
-  write = xform3 c_tsphe_write
-instance ITObject TPCON where
-  getName = xform0 c_tpcon_getname
-  draw = xform1 c_tpcon_draw
-  saveAs = xform2 c_tpcon_saveas
-  write = xform3 c_tpcon_write
-instance ITObject TTUBE where
-  getName = xform0 c_ttube_getname
-  draw = xform1 c_ttube_draw
-  saveAs = xform2 c_ttube_saveas
-  write = xform3 c_ttube_write
-instance ITObject TBRIK where
-  getName = xform0 c_tbrik_getname
-  draw = xform1 c_tbrik_draw
-  saveAs = xform2 c_tbrik_saveas
-  write = xform3 c_tbrik_write
-instance ITObject TShape where
-  getName = xform0 c_tshape_getname
-  draw = xform1 c_tshape_draw
-  saveAs = xform2 c_tshape_saveas
-  write = xform3 c_tshape_write
-instance ITObject TGaxis where
-  getName = xform0 c_tgaxis_getname
-  draw = xform1 c_tgaxis_draw
-  saveAs = xform2 c_tgaxis_saveas
-  write = xform3 c_tgaxis_write
-instance ITObject TArrow where
-  getName = xform0 c_tarrow_getname
-  draw = xform1 c_tarrow_draw
-  saveAs = xform2 c_tarrow_saveas
-  write = xform3 c_tarrow_write
-instance ITObject TLine where
-  getName = xform0 c_tline_getname
-  draw = xform1 c_tline_draw
-  saveAs = xform2 c_tline_saveas
-  write = xform3 c_tline_write
-instance ITObject TCrown where
-  getName = xform0 c_tcrown_getname
-  draw = xform1 c_tcrown_draw
-  saveAs = xform2 c_tcrown_saveas
-  write = xform3 c_tcrown_write
-instance ITObject TArc where
-  getName = xform0 c_tarc_getname
-  draw = xform1 c_tarc_draw
-  saveAs = xform2 c_tarc_saveas
-  write = xform3 c_tarc_write
-instance ITObject TEllipse where
-  getName = xform0 c_tellipse_getname
-  draw = xform1 c_tellipse_draw
-  saveAs = xform2 c_tellipse_saveas
-  write = xform3 c_tellipse_write
-instance ITObject TGraphQQ where
-  getName = xform0 c_tgraphqq_getname
-  draw = xform1 c_tgraphqq_draw
-  saveAs = xform2 c_tgraphqq_saveas
-  write = xform3 c_tgraphqq_write
-instance ITObject TGraphPolar where
-  getName = xform0 c_tgraphpolar_getname
-  draw = xform1 c_tgraphpolar_draw
-  saveAs = xform2 c_tgraphpolar_saveas
-  write = xform3 c_tgraphpolar_write
-instance ITObject TGraphErrors where
-  getName = xform0 c_tgrapherrors_getname
-  draw = xform1 c_tgrapherrors_draw
-  saveAs = xform2 c_tgrapherrors_saveas
-  write = xform3 c_tgrapherrors_write
-instance ITObject TGraphBentErrors where
-  getName = xform0 c_tgraphbenterrors_getname
-  draw = xform1 c_tgraphbenterrors_draw
-  saveAs = xform2 c_tgraphbenterrors_saveas
-  write = xform3 c_tgraphbenterrors_write
-instance ITObject TCutG where
-  getName = xform0 c_tcutg_getname
-  draw = xform1 c_tcutg_draw
-  saveAs = xform2 c_tcutg_saveas
-  write = xform3 c_tcutg_write
-instance ITObject TGraphAsymmErrors where
-  getName = xform0 c_tgraphasymmerrors_getname
-  draw = xform1 c_tgraphasymmerrors_draw
-  saveAs = xform2 c_tgraphasymmerrors_saveas
-  write = xform3 c_tgraphasymmerrors_write
-instance ITObject TGraph where
-  getName = xform0 c_tgraph_getname
-  draw = xform1 c_tgraph_draw
-  saveAs = xform2 c_tgraph_saveas
-  write = xform3 c_tgraph_write
-instance ITObject THStack where
-  getName = xform0 c_thstack_getname
-  draw = xform1 c_thstack_draw
-  saveAs = xform2 c_thstack_saveas
-  write = xform3 c_thstack_write
-instance ITObject TAttParticle where
-  getName = xform0 c_tattparticle_getname
-  draw = xform1 c_tattparticle_draw
-  saveAs = xform2 c_tattparticle_saveas
-  write = xform3 c_tattparticle_write
-instance ITObject TNamed where
-  getName = xform0 c_tnamed_getname
-  draw = xform1 c_tnamed_draw
-  saveAs = xform2 c_tnamed_saveas
-  write = xform3 c_tnamed_write
-
-instance ITPad TSlider where
-instance ITPad TEvePad where
-instance ITPad TInspectCanvas where
-instance ITPad TDialogCanvas where
-instance ITPad TCanvas where
-instance ITPad TGroupButton where
-instance ITPad TButton where
-
-instance ITPave TPaveClass where
-instance ITPave TPaveLabel where
-instance ITPave TLegend where
-instance ITPave TPavesText where
-instance ITPave TPaveStats where
-instance ITPave TDiamond where
-instance ITPave TPaveText where
-
-instance ITPaveLabel TPaveClass where
-
-instance ITPaveText TPavesText where
-instance ITPaveText TPaveStats where
-instance ITPaveText TDiamond where
-
-instance ITPolyLine TCurlyArc where
-instance ITPolyLine TCurlyLine where
-
-instance ITQObject TRint where
-instance ITQObject TApplication where
-instance ITQObject TSlider where
-instance ITQObject TEvePad where
-instance ITQObject TInspectCanvas where
-instance ITQObject TDialogCanvas where
-instance ITQObject TCanvas where
-instance ITQObject TGroupButton where
-instance ITQObject TButton where
-instance ITQObject TPad where
-instance ITQObject TVirtualPad where
-
-instance ITShape TXTRU where
-instance ITShape TSPHE where
-instance ITShape TPCON where
-instance ITShape TTUBE where
-instance ITShape TBRIK where
-
-instance ITText TLatex where
-
-instance ITTree TTreeSQL where
-instance ITTree TNtupleD where
-instance ITTree TNtuple where
-instance ITTree TChain where
-
-instance ITVirtualPad TSlider where
-  getFrame = xform0 c_tslider_getframe
-  range = xform4 c_tslider_range
-instance ITVirtualPad TEvePad where
-  getFrame = xform0 c_tevepad_getframe
-  range = xform4 c_tevepad_range
-instance ITVirtualPad TInspectCanvas where
-  getFrame = xform0 c_tinspectcanvas_getframe
-  range = xform4 c_tinspectcanvas_range
-instance ITVirtualPad TDialogCanvas where
-  getFrame = xform0 c_tdialogcanvas_getframe
-  range = xform4 c_tdialogcanvas_range
-instance ITVirtualPad TCanvas where
-  getFrame = xform0 c_tcanvas_getframe
-  range = xform4 c_tcanvas_range
-instance ITVirtualPad TGroupButton where
-  getFrame = xform0 c_tgroupbutton_getframe
-  range = xform4 c_tgroupbutton_range
-instance ITVirtualPad TButton where
-  getFrame = xform0 c_tbutton_getframe
-  range = xform4 c_tbutton_range
-instance ITVirtualPad TPad where
-  getFrame = xform0 c_tpad_getframe
-  range = xform4 c_tpad_range
-
-instance ITVirtualTreePlayer TTreePlayer where
-
-instance ITWbox TSliderBox where
-  setBorderMode = xform1 c_tsliderbox_setbordermode
-instance ITWbox TFrame where
-  setBorderMode = xform1 c_tframe_setbordermode
-
-newTObject :: IO TObject
-newTObject = xformnull c_tobject_newtobject
-
-newTNamed :: String -> String -> IO TNamed
-newTNamed = xform1 c_tnamed_newtnamed
-
-newTFormula :: String -> String -> IO TFormula
-newTFormula = xform1 c_tformula_newtformula
-
-
-
-newTAttAxis :: IO TAttAxis
-newTAttAxis = xformnull c_tattaxis_newtattaxis
-
-
-
-newTAttCanvas :: IO TAttCanvas
-newTAttCanvas = xformnull c_tattcanvas_newtattcanvas
-
-newTAttFill :: Int -> Int -> IO TAttFill
-newTAttFill = xform1 c_tattfill_newtattfill
-
-
-
-newTAttLine :: Int -> Int -> Int -> IO TAttLine
-newTAttLine = xform2 c_tattline_newtattline
-
-newTAttMarker :: Int -> Int -> Int -> IO TAttMarker
-newTAttMarker = xform2 c_tattmarker_newtattmarker
-
-newTAttPad :: IO TAttPad
-newTAttPad = xformnull c_tattpad_newtattpad
-
-
-
-newTAttText :: Int -> Double -> Int -> Int -> Double -> IO TAttText
-newTAttText = xform4 c_tatttext_newtatttext
-
-newTHStack :: String -> String -> IO THStack
-newTHStack = xform1 c_thstack_newthstack
-
-newTF1 :: String -> String -> Double -> Double -> IO TF1
-newTF1 = xform3 c_tf1_newtf1
-
-newTGraph :: Int -> [Double] -> [Double] -> IO TGraph
-newTGraph = xform2 c_tgraph_newtgraph
-
-newTGraphAsymmErrors :: Int -> [Double] -> [Double] -> [Double] -> [Double] -> [Double] -> [Double] -> IO TGraphAsymmErrors
-newTGraphAsymmErrors = xform6 c_tgraphasymmerrors_newtgraphasymmerrors
-
-newTCutG :: String -> Int -> [Double] -> [Double] -> IO TCutG
-newTCutG = xform3 c_tcutg_newtcutg
-
-newTGraphBentErrors :: Int -> [Double] -> [Double] -> [Double] -> [Double] -> [Double] -> [Double] -> [Double] -> [Double] -> [Double] -> [Double] -> IO TGraphBentErrors
-newTGraphBentErrors = xform10 c_tgraphbenterrors_newtgraphbenterrors
-
-newTGraphErrors :: Int -> [Double] -> [Double] -> [Double] -> [Double] -> IO TGraphErrors
-newTGraphErrors = xform4 c_tgrapherrors_newtgrapherrors
-
-newTGraphPolar :: Int -> [Double] -> [Double] -> [Double] -> [Double] -> IO TGraphPolar
-newTGraphPolar = xform4 c_tgraphpolar_newtgraphpolar
-
-newTGraphQQ :: Int -> [Double] -> Int -> [Double] -> IO TGraphQQ
-newTGraphQQ = xform3 c_tgraphqq_newtgraphqq
-
-newTEllipse :: Double -> Double -> Double -> Double -> Double -> Double -> Double -> IO TEllipse
-newTEllipse = xform6 c_tellipse_newtellipse
-
-newTArc :: Double -> Double -> Double -> Double -> Double -> IO TArc
-newTArc = xform4 c_tarc_newtarc
-
-newTCrown :: Double -> Double -> Double -> Double -> Double -> Double -> IO TCrown
-newTCrown = xform5 c_tcrown_newtcrown
-
-newTLine :: Double -> Double -> Double -> Double -> IO TLine
-newTLine = xform3 c_tline_newtline
-
-newTArrow :: Double -> Double -> Double -> Double -> Double -> String -> IO TArrow
-newTArrow = xform5 c_tarrow_newtarrow
-
-newTGaxis :: Double -> Double -> Double -> Double -> Double -> Double -> Int -> String -> Double -> IO TGaxis
-newTGaxis = xform8 c_tgaxis_newtgaxis
-
-newTShape :: String -> String -> String -> IO TShape
-newTShape = xform2 c_tshape_newtshape
-
-newTBRIK :: String -> String -> String -> Double -> Double -> Double -> IO TBRIK
-newTBRIK = xform5 c_tbrik_newtbrik
-
-newTTUBE :: String -> String -> String -> Double -> Double -> Double -> Double -> IO TTUBE
-newTTUBE = xform6 c_ttube_newttube
-
-newTPCON :: String -> String -> String -> Double -> Double -> Int -> IO TPCON
-newTPCON = xform5 c_tpcon_newtpcon
-
-newTSPHE :: String -> String -> String -> Double -> Double -> Double -> Double -> Double -> Double -> IO TSPHE
-newTSPHE = xform8 c_tsphe_newtsphe
-
-newTXTRU :: String -> String -> String -> Int -> Int -> IO TXTRU
-newTXTRU = xform4 c_txtru_newtxtru
-
-newTBox :: Double -> Double -> Double -> Double -> IO TBox
-newTBox = xform3 c_tbox_newtbox
-
-newTPave :: Double -> Double -> Double -> Double -> Int -> String -> IO TPave
-newTPave = xform5 c_tpave_newtpave
-
-newTPaveText :: Double -> Double -> Double -> Double -> String -> IO TPaveText
-newTPaveText = xform4 c_tpavetext_newtpavetext
-
-newTDiamond :: Double -> Double -> Double -> Double -> IO TDiamond
-newTDiamond = xform3 c_tdiamond_newtdiamond
-
-newTPaveStats :: Double -> Double -> Double -> Double -> String -> IO TPaveStats
-newTPaveStats = xform4 c_tpavestats_newtpavestats
-
-newTPavesText :: Double -> Double -> Double -> Double -> Int -> String -> IO TPavesText
-newTPavesText = xform5 c_tpavestext_newtpavestext
-
-newTLegend :: Double -> Double -> Double -> Double -> String -> String -> IO TLegend
-newTLegend = xform5 c_tlegend_newtlegend
-
-newTPaveLabel :: Double -> Double -> Double -> Double -> String -> String -> IO TPaveLabel
-newTPaveLabel = xform5 c_tpavelabel_newtpavelabel
-
-
-
-newTWbox :: Double -> Double -> Double -> Double -> Int -> Int -> Int -> IO TWbox
-newTWbox = xform6 c_twbox_newtwbox
-
-newTFrame :: Double -> Double -> Double -> Double -> IO TFrame
-newTFrame = xform3 c_tframe_newtframe
-
-newTSliderBox :: Double -> Double -> Double -> Double -> Int -> Int -> Int -> IO TSliderBox
-newTSliderBox = xform6 c_tsliderbox_newtsliderbox
-
-newTTree :: String -> String -> Int -> IO TTree
-newTTree = xform2 c_ttree_newttree
-
-newTChain :: String -> String -> IO TChain
-newTChain = xform1 c_tchain_newtchain
-
-newTNtuple :: String -> String -> String -> Int -> IO TNtuple
-newTNtuple = xform3 c_tntuple_newtntuple
-
-newTNtupleD :: String -> String -> String -> Int -> IO TNtupleD
-newTNtupleD = xform3 c_tntupled_newtntupled
-
-
-
-newTPolyLine :: Int -> [Double] -> [Double] -> String -> IO TPolyLine
-newTPolyLine = xform3 c_tpolyline_newtpolyline
-
-newTCurlyLine :: Double -> Double -> Double -> Double -> Double -> Double -> IO TCurlyLine
-newTCurlyLine = xform5 c_tcurlyline_newtcurlyline
-
-newTCurlyArc :: Double -> Double -> Double -> Double -> Double -> Double -> Double -> IO TCurlyArc
-newTCurlyArc = xform6 c_tcurlyarc_newtcurlyarc
-
-
-
-
-
-newTLatex :: Double -> Double -> String -> IO TLatex
-newTLatex = xform2 c_tlatex_newtlatex
-
-
-
-
-
-
-
-newTFile :: String -> String -> String -> Int -> IO TFile
-newTFile = xform3 c_tfile_newtfile
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-newTH1F :: String -> String -> Int -> Double -> Double -> IO TH1F
-newTH1F = xform4 c_th1f_newth1f
-
-
-
-
-
-
-
-
-
-newTH2F :: String -> String -> Int -> Double -> Double -> Int -> Double -> Double -> IO TH2F
-newTH2F = xform7 c_th2f_newth2f
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-newTCanvas :: String -> String -> Int -> Int -> IO TCanvas
-newTCanvas = xform3 c_tcanvas_newtcanvas
-
-
-
-
-
-
-
-
-
-newTApplication :: String -> [Int] -> [String] -> IO TApplication
-newTApplication = xform2 c_tapplication_newtapplication
-
-newTRint :: String -> [Int] -> [String] -> IO TRint
-newTRint = xform2 c_trint_newtrint
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-tLatexDrawLatex :: TLatex -> Double -> Double -> String -> IO TLatex
-tLatexDrawLatex = xform3 c_tlatex_tlatexdrawlatex
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+-- import Foreign.C            
+import Foreign.Ptr
+import Foreign.ForeignPtr
+
+import System.IO.Unsafe
+
+import HROOT.Type
+import HROOT.Function
+
+class IDeletable a where
+    delete :: a -> IO () 
+
+class ITObject a where
+    getName :: a -> IO String 
+    draw :: a -> String -> IO () 
+    findObject :: a -> String -> IO TObject 
+    saveAs :: a -> String -> String -> IO () 
+    write :: a -> String -> Int -> Int -> IO Int 
+
+class ITNamed a where
+    setTitle :: a -> String -> IO () 
+
+class ITFormula a where
+    getParameter :: a -> Int -> IO Double 
+    setParameter :: a -> Int -> Double -> IO () 
+
+class ITAtt3D a where
+
+class ITAttAxis a where
+    setLabelColor :: a -> Int -> IO () 
+    setLabelSize :: a -> Double -> IO () 
+    setTickLength :: a -> Double -> IO () 
+    setTitleOffset :: a -> Double -> IO () 
+    setNdivisions :: a -> Int -> Int -> IO () 
+
+class ITAttBBox a where
+
+class ITAttCanvas a where
+
+class ITAttFill a where
+    setFillColor :: a -> Int -> IO () 
+    setFillStyle :: a -> Int -> IO () 
+
+class ITAttImage a where
+
+class ITAttLine a where
+    setLineColor :: a -> Int -> IO () 
+
+class ITAttMarker a where
+
+class ITAttPad a where
+
+class ITAttParticle a where
+
+class ITAttText a where
+    setTextColor :: a -> Int -> IO () 
+    setTextAlign :: a -> Int -> IO () 
+    setTextSize :: a -> Double -> IO () 
+
+class ITHStack a where
+
+class ITF1 a where
+
+class ITGraph a where
+
+class ITGraphAsymmErrors a where
+
+class ITCutG a where
+
+class ITGraphBentErrors a where
+
+class ITGraphErrors a where
+
+class ITGraphPolar a where
+
+class ITGraphQQ a where
+
+class ITEllipse a where
+
+class ITArc a where
+
+class ITCrown a where
+
+class ITLine a where
+
+class ITArrow a where
+
+class ITGaxis a where
+
+class ITShape a where
+
+class ITBRIK a where
+
+class ITTUBE a where
+
+class ITPCON a where
+
+class ITSPHE a where
+
+class ITXTRU a where
+
+class ITBox a where
+
+class ITPave a where
+
+class ITPaveText a where
+
+class ITDiamond a where
+
+class ITPaveStats a where
+
+class ITPavesText a where
+
+class ITLegend a where
+
+class ITPaveLabel a where
+
+class ITPaveClass a where
+
+class ITWbox a where
+    setBorderMode :: a -> Int -> IO () 
+
+class ITFrame a where
+
+class ITSliderBox a where
+
+class ITTree a where
+
+class ITChain a where
+
+class ITNtuple a where
+
+class ITNtupleD a where
+
+class ITTreeSQL a where
+
+class ITPolyLine a where
+
+class ITCurlyLine a where
+
+class ITCurlyArc a where
+
+class ITEfficiency a where
+
+class ITAxis a where
+
+class ITLatex a where
+
+class ITText a where
+
+class ITDirectory a where
+    close :: a -> String -> IO () 
+
+class ITDirectoryFile a where
+
+class ITFile a where
+
+class ITBranch a where
+
+class ITVirtualTreePlayer a where
+
+class ITTreePlayer a where
+
+class ITArray a where
+
+class ITArrayC a where
+
+class ITArrayD a where
+
+class ITArrayF a where
+
+class ITArrayI a where
+
+class ITArrayL a where
+
+class ITArrayL64 a where
+
+class ITArrayS a where
+
+class ITH1 a where
+    add :: (ITH1 c0, FPtr c0) => a -> c0 -> Double -> IO () 
+    addBinContent :: a -> Int -> Double -> IO () 
+    chi2Test :: (ITH1 c0, FPtr c0) => a -> c0 -> String -> [Double] -> IO Double 
+    computeIntegral :: a -> IO Double 
+    directoryAutoAdd :: (ITDirectory c0, FPtr c0) => a -> c0 -> IO () 
+    distancetoPrimitive :: a -> Int -> Int -> IO Int 
+    divide :: (ITH2 c1, FPtr c1, ITH1 c0, FPtr c0) => a -> c0 -> c1 -> Double -> Double -> String -> IO () 
+    drawCopy :: a -> String -> IO a 
+    drawNormalized :: a -> String -> Double -> IO TH1 
+    drawPanel :: a -> IO () 
+    bufferEmpty :: a -> Int -> IO Int 
+    eval :: (ITF1 c0, FPtr c0) => a -> c0 -> String -> IO () 
+    executeEvent :: a -> Int -> Int -> Int -> IO () 
+    fFT :: (ITH1 c0, FPtr c0) => a -> c0 -> String -> IO TH1 
+    fill1 :: a -> Double -> IO Int 
+    fillN :: a -> Int -> [Double] -> [Double] -> Int -> IO () 
+    fillRandom :: (ITH1 c0, FPtr c0) => a -> c0 -> Int -> IO () 
+    findBin :: a -> Double -> Double -> Double -> IO Int 
+    findFixBin :: a -> Double -> Double -> Double -> IO Int 
+    findFirstBinAbove :: a -> Double -> Int -> IO Int 
+    findLastBinAbove :: a -> Double -> Int -> IO Int 
+    fitPanel :: a -> IO () 
+    getNdivisions :: a -> String -> IO Int 
+    getAxisColor :: a -> String -> IO Int 
+    getLabelColor :: a -> String -> IO Int 
+    getLabelFont :: a -> String -> IO Int 
+    getLabelOffset :: a -> String -> IO Double 
+    getLabelSize :: a -> String -> IO Double 
+    getTitleFont :: a -> String -> IO Int 
+    getTitleOffset :: a -> String -> IO Double 
+    getTitleSize :: a -> String -> IO Double 
+    getTickLength :: a -> String -> IO Double 
+    getBarOffset :: a -> IO Double 
+    getBarWidth :: a -> IO Double 
+    getContour :: a -> [Double] -> IO Int 
+    getContourLevel :: a -> Int -> IO Double 
+    getContourLevelPad :: a -> Int -> IO Double 
+    getBin :: a -> Int -> Int -> Int -> IO Int 
+    getBinCenter :: a -> Int -> IO Double 
+    getBinContent1 :: a -> Int -> IO Double 
+    getBinContent2 :: a -> Int -> Int -> IO Double 
+    getBinContent3 :: a -> Int -> Int -> Int -> IO Double 
+    getBinError1 :: a -> Int -> IO Double 
+    getBinError2 :: a -> Int -> Int -> IO Double 
+    getBinError3 :: a -> Int -> Int -> Int -> IO Double 
+    getBinLowEdge :: a -> Int -> IO Double 
+    getBinWidth :: a -> Int -> IO Double 
+    getCellContent :: a -> Int -> Int -> IO Double 
+    getCellError :: a -> Int -> Int -> IO Double 
+
+class ITH2 a where
+    fill2 :: a -> Double -> Double -> IO Int 
+
+class ITH3 a where
+
+class ITH1C a where
+
+class ITH1D a where
+
+class ITH1F a where
+
+class ITH1I a where
+
+class ITH1S a where
+
+class ITH2C a where
+
+class ITH2D a where
+
+class ITH2F a where
+
+class ITH2I a where
+
+class ITH2Poly a where
+
+class ITH2S a where
+
+class ITH3C a where
+
+class ITH3D a where
+
+class ITH3F a where
+
+class ITH3I a where
+
+class ITH3S a where
+
+class ITQObject a where
+
+class ITVirtualPad a where
+    getFrame :: a -> IO TFrame 
+    range :: a -> Double -> Double -> Double -> Double -> IO () 
+
+class ITPad a where
+
+class ITButton a where
+
+class ITGroupButton a where
+
+class ITCanvas a where
+
+class ITDialogCanvas a where
+
+class ITInspectCanvas a where
+
+class ITEvePad a where
+
+class ITSlider a where
+
+class ITApplication a where
+    run :: a -> Int -> IO () 
+
+class ITRint a where
+
+
+
+instance (ITObject a, FPtr a) => Castable a (Ptr RawTObject) where
+  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr
+  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ 
+
+instance (ITNamed a, FPtr a) => Castable a (Ptr RawTNamed) where
+  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr
+  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ 
+
+instance (ITFormula a, FPtr a) => Castable a (Ptr RawTFormula) where
+  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr
+  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ 
+
+instance (ITAtt3D a, FPtr a) => Castable a (Ptr RawTAtt3D) where
+  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr
+  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ 
+
+instance (ITAttAxis a, FPtr a) => Castable a (Ptr RawTAttAxis) where
+  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr
+  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ 
+
+instance (ITAttBBox a, FPtr a) => Castable a (Ptr RawTAttBBox) where
+  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr
+  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ 
+
+instance (ITAttCanvas a, FPtr a) => Castable a (Ptr RawTAttCanvas) where
+  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr
+  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ 
+
+instance (ITAttFill a, FPtr a) => Castable a (Ptr RawTAttFill) where
+  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr
+  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ 
+
+instance (ITAttImage a, FPtr a) => Castable a (Ptr RawTAttImage) where
+  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr
+  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ 
+
+instance (ITAttLine a, FPtr a) => Castable a (Ptr RawTAttLine) where
+  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr
+  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ 
+
+instance (ITAttMarker a, FPtr a) => Castable a (Ptr RawTAttMarker) where
+  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr
+  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ 
+
+instance (ITAttPad a, FPtr a) => Castable a (Ptr RawTAttPad) where
+  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr
+  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ 
+
+instance (ITAttParticle a, FPtr a) => Castable a (Ptr RawTAttParticle) where
+  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr
+  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ 
+
+instance (ITAttText a, FPtr a) => Castable a (Ptr RawTAttText) where
+  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr
+  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ 
+
+instance (ITHStack a, FPtr a) => Castable a (Ptr RawTHStack) where
+  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr
+  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ 
+
+instance (ITF1 a, FPtr a) => Castable a (Ptr RawTF1) where
+  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr
+  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ 
+
+instance (ITGraph a, FPtr a) => Castable a (Ptr RawTGraph) where
+  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr
+  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ 
+
+instance (ITGraphAsymmErrors a, FPtr a) => Castable a (Ptr RawTGraphAsymmErrors) where
+  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr
+  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ 
+
+instance (ITCutG a, FPtr a) => Castable a (Ptr RawTCutG) where
+  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr
+  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ 
+
+instance (ITGraphBentErrors a, FPtr a) => Castable a (Ptr RawTGraphBentErrors) where
+  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr
+  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ 
+
+instance (ITGraphErrors a, FPtr a) => Castable a (Ptr RawTGraphErrors) where
+  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr
+  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ 
+
+instance (ITGraphPolar a, FPtr a) => Castable a (Ptr RawTGraphPolar) where
+  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr
+  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ 
+
+instance (ITGraphQQ a, FPtr a) => Castable a (Ptr RawTGraphQQ) where
+  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr
+  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ 
+
+instance (ITEllipse a, FPtr a) => Castable a (Ptr RawTEllipse) where
+  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr
+  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ 
+
+instance (ITArc a, FPtr a) => Castable a (Ptr RawTArc) where
+  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr
+  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ 
+
+instance (ITCrown a, FPtr a) => Castable a (Ptr RawTCrown) where
+  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr
+  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ 
+
+instance (ITLine a, FPtr a) => Castable a (Ptr RawTLine) where
+  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr
+  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ 
+
+instance (ITArrow a, FPtr a) => Castable a (Ptr RawTArrow) where
+  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr
+  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ 
+
+instance (ITGaxis a, FPtr a) => Castable a (Ptr RawTGaxis) where
+  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr
+  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ 
+
+instance (ITShape a, FPtr a) => Castable a (Ptr RawTShape) where
+  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr
+  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ 
+
+instance (ITBRIK a, FPtr a) => Castable a (Ptr RawTBRIK) where
+  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr
+  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ 
+
+instance (ITTUBE a, FPtr a) => Castable a (Ptr RawTTUBE) where
+  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr
+  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ 
+
+instance (ITPCON a, FPtr a) => Castable a (Ptr RawTPCON) where
+  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr
+  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ 
+
+instance (ITSPHE a, FPtr a) => Castable a (Ptr RawTSPHE) where
+  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr
+  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ 
+
+instance (ITXTRU a, FPtr a) => Castable a (Ptr RawTXTRU) where
+  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr
+  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ 
+
+instance (ITBox a, FPtr a) => Castable a (Ptr RawTBox) where
+  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr
+  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ 
+
+instance (ITPave a, FPtr a) => Castable a (Ptr RawTPave) where
+  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr
+  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ 
+
+instance (ITPaveText a, FPtr a) => Castable a (Ptr RawTPaveText) where
+  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr
+  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ 
+
+instance (ITDiamond a, FPtr a) => Castable a (Ptr RawTDiamond) where
+  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr
+  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ 
+
+instance (ITPaveStats a, FPtr a) => Castable a (Ptr RawTPaveStats) where
+  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr
+  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ 
+
+instance (ITPavesText a, FPtr a) => Castable a (Ptr RawTPavesText) where
+  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr
+  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ 
+
+instance (ITLegend a, FPtr a) => Castable a (Ptr RawTLegend) where
+  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr
+  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ 
+
+instance (ITPaveLabel a, FPtr a) => Castable a (Ptr RawTPaveLabel) where
+  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr
+  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ 
+
+instance (ITPaveClass a, FPtr a) => Castable a (Ptr RawTPaveClass) where
+  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr
+  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ 
+
+instance (ITWbox a, FPtr a) => Castable a (Ptr RawTWbox) where
+  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr
+  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ 
+
+instance (ITFrame a, FPtr a) => Castable a (Ptr RawTFrame) where
+  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr
+  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ 
+
+instance (ITSliderBox a, FPtr a) => Castable a (Ptr RawTSliderBox) where
+  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr
+  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ 
+
+instance (ITTree a, FPtr a) => Castable a (Ptr RawTTree) where
+  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr
+  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ 
+
+instance (ITChain a, FPtr a) => Castable a (Ptr RawTChain) where
+  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr
+  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ 
+
+instance (ITNtuple a, FPtr a) => Castable a (Ptr RawTNtuple) where
+  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr
+  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ 
+
+instance (ITNtupleD a, FPtr a) => Castable a (Ptr RawTNtupleD) where
+  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr
+  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ 
+
+instance (ITTreeSQL a, FPtr a) => Castable a (Ptr RawTTreeSQL) where
+  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr
+  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ 
+
+instance (ITPolyLine a, FPtr a) => Castable a (Ptr RawTPolyLine) where
+  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr
+  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ 
+
+instance (ITCurlyLine a, FPtr a) => Castable a (Ptr RawTCurlyLine) where
+  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr
+  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ 
+
+instance (ITCurlyArc a, FPtr a) => Castable a (Ptr RawTCurlyArc) where
+  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr
+  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ 
+
+instance (ITEfficiency a, FPtr a) => Castable a (Ptr RawTEfficiency) where
+  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr
+  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ 
+
+instance (ITAxis a, FPtr a) => Castable a (Ptr RawTAxis) where
+  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr
+  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ 
+
+instance (ITLatex a, FPtr a) => Castable a (Ptr RawTLatex) where
+  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr
+  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ 
+
+instance (ITText a, FPtr a) => Castable a (Ptr RawTText) where
+  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr
+  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ 
+
+instance (ITDirectory a, FPtr a) => Castable a (Ptr RawTDirectory) where
+  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr
+  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ 
+
+instance (ITDirectoryFile a, FPtr a) => Castable a (Ptr RawTDirectoryFile) where
+  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr
+  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ 
+
+instance (ITFile a, FPtr a) => Castable a (Ptr RawTFile) where
+  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr
+  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ 
+
+instance (ITBranch a, FPtr a) => Castable a (Ptr RawTBranch) where
+  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr
+  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ 
+
+instance (ITVirtualTreePlayer a, FPtr a) => Castable a (Ptr RawTVirtualTreePlayer) where
+  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr
+  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ 
+
+instance (ITTreePlayer a, FPtr a) => Castable a (Ptr RawTTreePlayer) where
+  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr
+  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ 
+
+instance (ITArray a, FPtr a) => Castable a (Ptr RawTArray) where
+  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr
+  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ 
+
+instance (ITArrayC a, FPtr a) => Castable a (Ptr RawTArrayC) where
+  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr
+  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ 
+
+instance (ITArrayD a, FPtr a) => Castable a (Ptr RawTArrayD) where
+  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr
+  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ 
+
+instance (ITArrayF a, FPtr a) => Castable a (Ptr RawTArrayF) where
+  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr
+  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ 
+
+instance (ITArrayI a, FPtr a) => Castable a (Ptr RawTArrayI) where
+  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr
+  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ 
+
+instance (ITArrayL a, FPtr a) => Castable a (Ptr RawTArrayL) where
+  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr
+  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ 
+
+instance (ITArrayL64 a, FPtr a) => Castable a (Ptr RawTArrayL64) where
+  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr
+  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ 
+
+instance (ITArrayS a, FPtr a) => Castable a (Ptr RawTArrayS) where
+  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr
+  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ 
+
+instance (ITH1 a, FPtr a) => Castable a (Ptr RawTH1) where
+  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr
+  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ 
+
+instance (ITH2 a, FPtr a) => Castable a (Ptr RawTH2) where
+  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr
+  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ 
+
+instance (ITH3 a, FPtr a) => Castable a (Ptr RawTH3) where
+  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr
+  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ 
+
+instance (ITH1C a, FPtr a) => Castable a (Ptr RawTH1C) where
+  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr
+  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ 
+
+instance (ITH1D a, FPtr a) => Castable a (Ptr RawTH1D) where
+  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr
+  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ 
+
+instance (ITH1F a, FPtr a) => Castable a (Ptr RawTH1F) where
+  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr
+  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ 
+
+instance (ITH1I a, FPtr a) => Castable a (Ptr RawTH1I) where
+  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr
+  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ 
+
+instance (ITH1S a, FPtr a) => Castable a (Ptr RawTH1S) where
+  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr
+  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ 
+
+instance (ITH2C a, FPtr a) => Castable a (Ptr RawTH2C) where
+  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr
+  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ 
+
+instance (ITH2D a, FPtr a) => Castable a (Ptr RawTH2D) where
+  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr
+  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ 
+
+instance (ITH2F a, FPtr a) => Castable a (Ptr RawTH2F) where
+  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr
+  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ 
+
+instance (ITH2I a, FPtr a) => Castable a (Ptr RawTH2I) where
+  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr
+  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ 
+
+instance (ITH2Poly a, FPtr a) => Castable a (Ptr RawTH2Poly) where
+  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr
+  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ 
+
+instance (ITH2S a, FPtr a) => Castable a (Ptr RawTH2S) where
+  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr
+  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ 
+
+instance (ITH3C a, FPtr a) => Castable a (Ptr RawTH3C) where
+  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr
+  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ 
+
+instance (ITH3D a, FPtr a) => Castable a (Ptr RawTH3D) where
+  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr
+  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ 
+
+instance (ITH3F a, FPtr a) => Castable a (Ptr RawTH3F) where
+  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr
+  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ 
+
+instance (ITH3I a, FPtr a) => Castable a (Ptr RawTH3I) where
+  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr
+  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ 
+
+instance (ITH3S a, FPtr a) => Castable a (Ptr RawTH3S) where
+  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr
+  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ 
+
+instance (ITQObject a, FPtr a) => Castable a (Ptr RawTQObject) where
+  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr
+  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ 
+
+instance (ITVirtualPad a, FPtr a) => Castable a (Ptr RawTVirtualPad) where
+  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr
+  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ 
+
+instance (ITPad a, FPtr a) => Castable a (Ptr RawTPad) where
+  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr
+  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ 
+
+instance (ITButton a, FPtr a) => Castable a (Ptr RawTButton) where
+  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr
+  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ 
+
+instance (ITGroupButton a, FPtr a) => Castable a (Ptr RawTGroupButton) where
+  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr
+  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ 
+
+instance (ITCanvas a, FPtr a) => Castable a (Ptr RawTCanvas) where
+  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr
+  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ 
+
+instance (ITDialogCanvas a, FPtr a) => Castable a (Ptr RawTDialogCanvas) where
+  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr
+  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ 
+
+instance (ITInspectCanvas a, FPtr a) => Castable a (Ptr RawTInspectCanvas) where
+  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr
+  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ 
+
+instance (ITEvePad a, FPtr a) => Castable a (Ptr RawTEvePad) where
+  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr
+  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ 
+
+instance (ITSlider a, FPtr a) => Castable a (Ptr RawTSlider) where
+  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr
+  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ 
+
+instance (ITApplication a, FPtr a) => Castable a (Ptr RawTApplication) where
+  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr
+  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ 
+
+instance (ITRint a, FPtr a) => Castable a (Ptr RawTRint) where
+  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr
+  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ 
+
+
+
+instance ITObject TObject where
+  getName = xform0 c_tobject_getname
+  draw = xform1 c_tobject_draw
+  findObject = xform1 c_tobject_findobject
+  saveAs = xform2 c_tobject_saveas
+  write = xform3 c_tobject_write
+
+instance ITNamed TNamed where
+  setTitle = xform1 c_tnamed_settitle
+
+instance ITFormula TFormula where
+  getParameter = xform1 c_tformula_getparameter
+  setParameter = xform2 c_tformula_setparameter
+
+instance ITAtt3D TAtt3D where
+
+instance ITAttAxis TAttAxis where
+  setLabelColor = xform1 c_tattaxis_setlabelcolor
+  setLabelSize = xform1 c_tattaxis_setlabelsize
+  setTickLength = xform1 c_tattaxis_setticklength
+  setTitleOffset = xform1 c_tattaxis_settitleoffset
+  setNdivisions = xform2 c_tattaxis_setndivisions
+
+instance ITAttBBox TAttBBox where
+
+instance ITAttCanvas TAttCanvas where
+
+instance ITAttFill TAttFill where
+  setFillColor = xform1 c_tattfill_setfillcolor
+  setFillStyle = xform1 c_tattfill_setfillstyle
+
+instance ITAttImage TAttImage where
+
+instance ITAttLine TAttLine where
+  setLineColor = xform1 c_tattline_setlinecolor
+
+instance ITAttMarker TAttMarker where
+
+instance ITAttPad TAttPad where
+
+instance ITAttParticle TAttParticle where
+
+instance ITAttText TAttText where
+  setTextColor = xform1 c_tatttext_settextcolor
+  setTextAlign = xform1 c_tatttext_settextalign
+  setTextSize = xform1 c_tatttext_settextsize
+
+instance ITHStack THStack where
+
+instance ITF1 TF1 where
+
+instance ITGraph TGraph where
+
+instance ITGraphAsymmErrors TGraphAsymmErrors where
+
+instance ITCutG TCutG where
+
+instance ITGraphBentErrors TGraphBentErrors where
+
+instance ITGraphErrors TGraphErrors where
+
+instance ITGraphPolar TGraphPolar where
+
+instance ITGraphQQ TGraphQQ where
+
+instance ITEllipse TEllipse where
+
+instance ITArc TArc where
+
+instance ITCrown TCrown where
+
+instance ITLine TLine where
+
+instance ITArrow TArrow where
+
+instance ITGaxis TGaxis where
+
+instance ITShape TShape where
+
+instance ITBRIK TBRIK where
+
+instance ITTUBE TTUBE where
+
+instance ITPCON TPCON where
+
+instance ITSPHE TSPHE where
+
+instance ITXTRU TXTRU where
+
+instance ITBox TBox where
+
+instance ITPave TPave where
+
+instance ITPaveText TPaveText where
+
+instance ITDiamond TDiamond where
+
+instance ITPaveStats TPaveStats where
+
+instance ITPavesText TPavesText where
+
+instance ITLegend TLegend where
+
+instance ITPaveLabel TPaveLabel where
+
+instance ITPaveClass TPaveClass where
+
+instance ITWbox TWbox where
+  setBorderMode = xform1 c_twbox_setbordermode
+
+instance ITFrame TFrame where
+
+instance ITSliderBox TSliderBox where
+
+instance ITTree TTree where
+
+instance ITChain TChain where
+
+instance ITNtuple TNtuple where
+
+instance ITNtupleD TNtupleD where
+
+instance ITTreeSQL TTreeSQL where
+
+instance ITPolyLine TPolyLine where
+
+instance ITCurlyLine TCurlyLine where
+
+instance ITCurlyArc TCurlyArc where
+
+instance ITEfficiency TEfficiency where
+
+instance ITAxis TAxis where
+
+instance ITLatex TLatex where
+
+instance ITText TText where
+
+instance ITDirectory TDirectory where
+  close = xform1 c_tdirectory_close
+
+instance ITDirectoryFile TDirectoryFile where
+
+instance ITFile TFile where
+
+instance ITBranch TBranch where
+
+instance ITVirtualTreePlayer TVirtualTreePlayer where
+
+instance ITTreePlayer TTreePlayer where
+
+instance ITArray TArray where
+
+instance ITArrayC TArrayC where
+
+instance ITArrayD TArrayD where
+
+instance ITArrayF TArrayF where
+
+instance ITArrayI TArrayI where
+
+instance ITArrayL TArrayL where
+
+instance ITArrayL64 TArrayL64 where
+
+instance ITArrayS TArrayS where
+
+instance ITH1 TH1 where
+  add = xform2 c_th1_add
+  addBinContent = xform2 c_th1_addbincontent
+  chi2Test = xform3 c_th1_chi2test
+  computeIntegral = xform0 c_th1_computeintegral
+  directoryAutoAdd = xform1 c_th1_directoryautoadd
+  distancetoPrimitive = xform2 c_th1_distancetoprimitive
+  divide = xform5 c_th1_divide
+  drawCopy = xform1 c_th1_drawcopy
+  drawNormalized = xform2 c_th1_drawnormalized
+  drawPanel = xform0 c_th1_drawpanel
+  bufferEmpty = xform1 c_th1_bufferempty
+  eval = xform2 c_th1_eval
+  executeEvent = xform3 c_th1_executeevent
+  fFT = xform2 c_th1_fft
+  fill1 = xform1 c_th1_fill1
+  fillN = xform4 c_th1_filln
+  fillRandom = xform2 c_th1_fillrandom
+  findBin = xform3 c_th1_findbin
+  findFixBin = xform3 c_th1_findfixbin
+  findFirstBinAbove = xform2 c_th1_findfirstbinabove
+  findLastBinAbove = xform2 c_th1_findlastbinabove
+  fitPanel = xform0 c_th1_fitpanel
+  getNdivisions = xform1 c_th1_getndivisions
+  getAxisColor = xform1 c_th1_getaxiscolor
+  getLabelColor = xform1 c_th1_getlabelcolor
+  getLabelFont = xform1 c_th1_getlabelfont
+  getLabelOffset = xform1 c_th1_getlabeloffset
+  getLabelSize = xform1 c_th1_getlabelsize
+  getTitleFont = xform1 c_th1_gettitlefont
+  getTitleOffset = xform1 c_th1_gettitleoffset
+  getTitleSize = xform1 c_th1_gettitlesize
+  getTickLength = xform1 c_th1_getticklength
+  getBarOffset = xform0 c_th1_getbaroffset
+  getBarWidth = xform0 c_th1_getbarwidth
+  getContour = xform1 c_th1_getcontour
+  getContourLevel = xform1 c_th1_getcontourlevel
+  getContourLevelPad = xform1 c_th1_getcontourlevelpad
+  getBin = xform3 c_th1_getbin
+  getBinCenter = xform1 c_th1_getbincenter
+  getBinContent1 = xform1 c_th1_getbincontent1
+  getBinContent2 = xform2 c_th1_getbincontent2
+  getBinContent3 = xform3 c_th1_getbincontent3
+  getBinError1 = xform1 c_th1_getbinerror1
+  getBinError2 = xform2 c_th1_getbinerror2
+  getBinError3 = xform3 c_th1_getbinerror3
+  getBinLowEdge = xform1 c_th1_getbinlowedge
+  getBinWidth = xform1 c_th1_getbinwidth
+  getCellContent = xform2 c_th1_getcellcontent
+  getCellError = xform2 c_th1_getcellerror
+
+instance ITH2 TH2 where
+  fill2 = xform2 c_th2_fill2
+
+instance ITH3 TH3 where
+
+instance ITH1C TH1C where
+
+instance ITH1D TH1D where
+
+instance ITH1F TH1F where
+
+instance ITH1I TH1I where
+
+instance ITH1S TH1S where
+
+instance ITH2C TH2C where
+
+instance ITH2D TH2D where
+
+instance ITH2F TH2F where
+
+instance ITH2I TH2I where
+
+instance ITH2Poly TH2Poly where
+
+instance ITH2S TH2S where
+
+instance ITH3C TH3C where
+
+instance ITH3D TH3D where
+
+instance ITH3F TH3F where
+
+instance ITH3I TH3I where
+
+instance ITH3S TH3S where
+
+instance ITQObject TQObject where
+
+instance ITVirtualPad TVirtualPad where
+  getFrame = xform0 c_tvirtualpad_getframe
+  range = xform4 c_tvirtualpad_range
+
+instance ITPad TPad where
+
+instance ITButton TButton where
+
+instance ITGroupButton TGroupButton where
+
+instance ITCanvas TCanvas where
+
+instance ITDialogCanvas TDialogCanvas where
+
+instance ITInspectCanvas TInspectCanvas where
+
+instance ITEvePad TEvePad where
+
+instance ITSlider TSlider where
+
+instance ITApplication TApplication where
+  run = xform1 c_tapplication_run
+
+instance ITRint TRint where
+
+instance IDeletable TRint where
+  delete = xform0 c_trint_delete
+instance IDeletable TApplication where
+  delete = xform0 c_tapplication_delete
+instance IDeletable TSlider where
+  delete = xform0 c_tslider_delete
+instance IDeletable TEvePad where
+  delete = xform0 c_tevepad_delete
+instance IDeletable TInspectCanvas where
+  delete = xform0 c_tinspectcanvas_delete
+instance IDeletable TDialogCanvas where
+  delete = xform0 c_tdialogcanvas_delete
+instance IDeletable TCanvas where
+  delete = xform0 c_tcanvas_delete
+instance IDeletable TGroupButton where
+  delete = xform0 c_tgroupbutton_delete
+instance IDeletable TButton where
+  delete = xform0 c_tbutton_delete
+instance IDeletable TPad where
+  delete = xform0 c_tpad_delete
+instance IDeletable TVirtualPad where
+  delete = xform0 c_tvirtualpad_delete
+instance IDeletable TQObject where
+  delete = xform0 c_tqobject_delete
+instance IDeletable TH3S where
+  delete = xform0 c_th3s_delete
+instance IDeletable TH3I where
+  delete = xform0 c_th3i_delete
+instance IDeletable TH3F where
+  delete = xform0 c_th3f_delete
+instance IDeletable TH3D where
+  delete = xform0 c_th3d_delete
+instance IDeletable TH3C where
+  delete = xform0 c_th3c_delete
+instance IDeletable TH2S where
+  delete = xform0 c_th2s_delete
+instance IDeletable TH2Poly where
+  delete = xform0 c_th2poly_delete
+instance IDeletable TH2I where
+  delete = xform0 c_th2i_delete
+instance IDeletable TH2F where
+  delete = xform0 c_th2f_delete
+instance IDeletable TH2D where
+  delete = xform0 c_th2d_delete
+instance IDeletable TH2C where
+  delete = xform0 c_th2c_delete
+instance IDeletable TH1S where
+  delete = xform0 c_th1s_delete
+instance IDeletable TH1I where
+  delete = xform0 c_th1i_delete
+instance IDeletable TH1F where
+  delete = xform0 c_th1f_delete
+instance IDeletable TH1D where
+  delete = xform0 c_th1d_delete
+instance IDeletable TH1C where
+  delete = xform0 c_th1c_delete
+instance IDeletable TH3 where
+  delete = xform0 c_th3_delete
+instance IDeletable TH2 where
+  delete = xform0 c_th2_delete
+instance IDeletable TH1 where
+  delete = xform0 c_th1_delete
+instance IDeletable TArrayS where
+  delete = xform0 c_tarrays_delete
+instance IDeletable TArrayL64 where
+  delete = xform0 c_tarrayl64_delete
+instance IDeletable TArrayL where
+  delete = xform0 c_tarrayl_delete
+instance IDeletable TArrayI where
+  delete = xform0 c_tarrayi_delete
+instance IDeletable TArrayF where
+  delete = xform0 c_tarrayf_delete
+instance IDeletable TArrayD where
+  delete = xform0 c_tarrayd_delete
+instance IDeletable TArrayC where
+  delete = xform0 c_tarrayc_delete
+instance IDeletable TArray where
+  delete = xform0 c_tarray_delete
+instance IDeletable TTreePlayer where
+  delete = xform0 c_ttreeplayer_delete
+instance IDeletable TVirtualTreePlayer where
+  delete = xform0 c_tvirtualtreeplayer_delete
+instance IDeletable TBranch where
+  delete = xform0 c_tbranch_delete
+instance IDeletable TFile where
+  delete = xform0 c_tfile_delete
+instance IDeletable TDirectoryFile where
+  delete = xform0 c_tdirectoryfile_delete
+instance IDeletable TDirectory where
+  delete = xform0 c_tdirectory_delete
+instance IDeletable TText where
+  delete = xform0 c_ttext_delete
+instance IDeletable TLatex where
+  delete = xform0 c_tlatex_delete
+instance IDeletable TAxis where
+  delete = xform0 c_taxis_delete
+instance IDeletable TEfficiency where
+  delete = xform0 c_tefficiency_delete
+instance IDeletable TCurlyArc where
+  delete = xform0 c_tcurlyarc_delete
+instance IDeletable TCurlyLine where
+  delete = xform0 c_tcurlyline_delete
+instance IDeletable TPolyLine where
+  delete = xform0 c_tpolyline_delete
+instance IDeletable TTreeSQL where
+  delete = xform0 c_ttreesql_delete
+instance IDeletable TNtupleD where
+  delete = xform0 c_tntupled_delete
+instance IDeletable TNtuple where
+  delete = xform0 c_tntuple_delete
+instance IDeletable TChain where
+  delete = xform0 c_tchain_delete
+instance IDeletable TTree where
+  delete = xform0 c_ttree_delete
+instance IDeletable TSliderBox where
+  delete = xform0 c_tsliderbox_delete
+instance IDeletable TFrame where
+  delete = xform0 c_tframe_delete
+instance IDeletable TWbox where
+  delete = xform0 c_twbox_delete
+instance IDeletable TPaveClass where
+  delete = xform0 c_tpaveclass_delete
+instance IDeletable TPaveLabel where
+  delete = xform0 c_tpavelabel_delete
+instance IDeletable TLegend where
+  delete = xform0 c_tlegend_delete
+instance IDeletable TPavesText where
+  delete = xform0 c_tpavestext_delete
+instance IDeletable TPaveStats where
+  delete = xform0 c_tpavestats_delete
+instance IDeletable TDiamond where
+  delete = xform0 c_tdiamond_delete
+instance IDeletable TPaveText where
+  delete = xform0 c_tpavetext_delete
+instance IDeletable TPave where
+  delete = xform0 c_tpave_delete
+instance IDeletable TBox where
+  delete = xform0 c_tbox_delete
+instance IDeletable TXTRU where
+  delete = xform0 c_txtru_delete
+instance IDeletable TSPHE where
+  delete = xform0 c_tsphe_delete
+instance IDeletable TPCON where
+  delete = xform0 c_tpcon_delete
+instance IDeletable TTUBE where
+  delete = xform0 c_ttube_delete
+instance IDeletable TBRIK where
+  delete = xform0 c_tbrik_delete
+instance IDeletable TShape where
+  delete = xform0 c_tshape_delete
+instance IDeletable TGaxis where
+  delete = xform0 c_tgaxis_delete
+instance IDeletable TArrow where
+  delete = xform0 c_tarrow_delete
+instance IDeletable TLine where
+  delete = xform0 c_tline_delete
+instance IDeletable TCrown where
+  delete = xform0 c_tcrown_delete
+instance IDeletable TArc where
+  delete = xform0 c_tarc_delete
+instance IDeletable TEllipse where
+  delete = xform0 c_tellipse_delete
+instance IDeletable TGraphQQ where
+  delete = xform0 c_tgraphqq_delete
+instance IDeletable TGraphPolar where
+  delete = xform0 c_tgraphpolar_delete
+instance IDeletable TGraphErrors where
+  delete = xform0 c_tgrapherrors_delete
+instance IDeletable TGraphBentErrors where
+  delete = xform0 c_tgraphbenterrors_delete
+instance IDeletable TCutG where
+  delete = xform0 c_tcutg_delete
+instance IDeletable TGraphAsymmErrors where
+  delete = xform0 c_tgraphasymmerrors_delete
+instance IDeletable TGraph where
+  delete = xform0 c_tgraph_delete
+instance IDeletable TF1 where
+  delete = xform0 c_tf1_delete
+instance IDeletable THStack where
+  delete = xform0 c_thstack_delete
+instance IDeletable TAttText where
+  delete = xform0 c_tatttext_delete
+instance IDeletable TAttParticle where
+  delete = xform0 c_tattparticle_delete
+instance IDeletable TAttPad where
+  delete = xform0 c_tattpad_delete
+instance IDeletable TAttMarker where
+  delete = xform0 c_tattmarker_delete
+instance IDeletable TAttLine where
+  delete = xform0 c_tattline_delete
+instance IDeletable TAttImage where
+  delete = xform0 c_tattimage_delete
+instance IDeletable TAttFill where
+  delete = xform0 c_tattfill_delete
+instance IDeletable TAttCanvas where
+  delete = xform0 c_tattcanvas_delete
+instance IDeletable TAttBBox where
+  delete = xform0 c_tattbbox_delete
+instance IDeletable TAttAxis where
+  delete = xform0 c_tattaxis_delete
+instance IDeletable TAtt3D where
+  delete = xform0 c_tatt3d_delete
+instance IDeletable TFormula where
+  delete = xform0 c_tformula_delete
+instance IDeletable TNamed where
+  delete = xform0 c_tnamed_delete
+instance IDeletable TObject where
+  delete = xform0 c_tobject_delete
+
+instance ITApplication TRint where
+  run = xform1 c_trint_run
+
+instance ITArray TH3S where
+instance ITArray TH3I where
+instance ITArray TH3F where
+instance ITArray TH3D where
+instance ITArray TH3C where
+instance ITArray TH2S where
+instance ITArray TH2I where
+instance ITArray TH2F where
+instance ITArray TH2D where
+instance ITArray TH2C where
+instance ITArray TH1S where
+instance ITArray TH1I where
+instance ITArray TH1F where
+instance ITArray TH1D where
+instance ITArray TH1C where
+instance ITArray TArrayS where
+instance ITArray TArrayL64 where
+instance ITArray TArrayL where
+instance ITArray TArrayI where
+instance ITArray TArrayF where
+instance ITArray TArrayD where
+instance ITArray TArrayC where
+
+instance ITArrayC TH3C where
+instance ITArrayC TH2C where
+instance ITArrayC TH1C where
+
+instance ITArrayD TH3D where
+instance ITArrayD TH2D where
+instance ITArrayD TH1D where
+
+instance ITArrayF TH3F where
+instance ITArrayF TH2F where
+instance ITArrayF TH1F where
+
+instance ITArrayI TH3I where
+instance ITArrayI TH2I where
+instance ITArrayI TH1I where
+
+instance ITArrayS TH3S where
+instance ITArrayS TH2S where
+instance ITArrayS TH1S where
+
+instance ITAtt3D TH3S where
+instance ITAtt3D TH3I where
+instance ITAtt3D TH3F where
+instance ITAtt3D TH3D where
+instance ITAtt3D TH3C where
+instance ITAtt3D TH3 where
+instance ITAtt3D TXTRU where
+instance ITAtt3D TSPHE where
+instance ITAtt3D TPCON where
+instance ITAtt3D TTUBE where
+instance ITAtt3D TBRIK where
+instance ITAtt3D TShape where
+
+instance ITAttAxis TAxis where
+  setLabelColor = xform1 c_taxis_setlabelcolor
+  setLabelSize = xform1 c_taxis_setlabelsize
+  setTickLength = xform1 c_taxis_setticklength
+  setTitleOffset = xform1 c_taxis_settitleoffset
+  setNdivisions = xform2 c_taxis_setndivisions
+
+instance ITAttFill TSlider where
+  setFillColor = xform1 c_tslider_setfillcolor
+  setFillStyle = xform1 c_tslider_setfillstyle
+instance ITAttFill TEvePad where
+  setFillColor = xform1 c_tevepad_setfillcolor
+  setFillStyle = xform1 c_tevepad_setfillstyle
+instance ITAttFill TInspectCanvas where
+  setFillColor = xform1 c_tinspectcanvas_setfillcolor
+  setFillStyle = xform1 c_tinspectcanvas_setfillstyle
+instance ITAttFill TDialogCanvas where
+  setFillColor = xform1 c_tdialogcanvas_setfillcolor
+  setFillStyle = xform1 c_tdialogcanvas_setfillstyle
+instance ITAttFill TCanvas where
+  setFillColor = xform1 c_tcanvas_setfillcolor
+  setFillStyle = xform1 c_tcanvas_setfillstyle
+instance ITAttFill TGroupButton where
+  setFillColor = xform1 c_tgroupbutton_setfillcolor
+  setFillStyle = xform1 c_tgroupbutton_setfillstyle
+instance ITAttFill TButton where
+  setFillColor = xform1 c_tbutton_setfillcolor
+  setFillStyle = xform1 c_tbutton_setfillstyle
+instance ITAttFill TPad where
+  setFillColor = xform1 c_tpad_setfillcolor
+  setFillStyle = xform1 c_tpad_setfillstyle
+instance ITAttFill TVirtualPad where
+  setFillColor = xform1 c_tvirtualpad_setfillcolor
+  setFillStyle = xform1 c_tvirtualpad_setfillstyle
+instance ITAttFill TH3S where
+  setFillColor = xform1 c_th3s_setfillcolor
+  setFillStyle = xform1 c_th3s_setfillstyle
+instance ITAttFill TH3I where
+  setFillColor = xform1 c_th3i_setfillcolor
+  setFillStyle = xform1 c_th3i_setfillstyle
+instance ITAttFill TH3F where
+  setFillColor = xform1 c_th3f_setfillcolor
+  setFillStyle = xform1 c_th3f_setfillstyle
+instance ITAttFill TH3D where
+  setFillColor = xform1 c_th3d_setfillcolor
+  setFillStyle = xform1 c_th3d_setfillstyle
+instance ITAttFill TH3C where
+  setFillColor = xform1 c_th3c_setfillcolor
+  setFillStyle = xform1 c_th3c_setfillstyle
+instance ITAttFill TH2S where
+  setFillColor = xform1 c_th2s_setfillcolor
+  setFillStyle = xform1 c_th2s_setfillstyle
+instance ITAttFill TH2Poly where
+  setFillColor = xform1 c_th2poly_setfillcolor
+  setFillStyle = xform1 c_th2poly_setfillstyle
+instance ITAttFill TH2I where
+  setFillColor = xform1 c_th2i_setfillcolor
+  setFillStyle = xform1 c_th2i_setfillstyle
+instance ITAttFill TH2F where
+  setFillColor = xform1 c_th2f_setfillcolor
+  setFillStyle = xform1 c_th2f_setfillstyle
+instance ITAttFill TH2D where
+  setFillColor = xform1 c_th2d_setfillcolor
+  setFillStyle = xform1 c_th2d_setfillstyle
+instance ITAttFill TH2C where
+  setFillColor = xform1 c_th2c_setfillcolor
+  setFillStyle = xform1 c_th2c_setfillstyle
+instance ITAttFill TH1S where
+  setFillColor = xform1 c_th1s_setfillcolor
+  setFillStyle = xform1 c_th1s_setfillstyle
+instance ITAttFill TH1I where
+  setFillColor = xform1 c_th1i_setfillcolor
+  setFillStyle = xform1 c_th1i_setfillstyle
+instance ITAttFill TH1F where
+  setFillColor = xform1 c_th1f_setfillcolor
+  setFillStyle = xform1 c_th1f_setfillstyle
+instance ITAttFill TH1D where
+  setFillColor = xform1 c_th1d_setfillcolor
+  setFillStyle = xform1 c_th1d_setfillstyle
+instance ITAttFill TH1C where
+  setFillColor = xform1 c_th1c_setfillcolor
+  setFillStyle = xform1 c_th1c_setfillstyle
+instance ITAttFill TH3 where
+  setFillColor = xform1 c_th3_setfillcolor
+  setFillStyle = xform1 c_th3_setfillstyle
+instance ITAttFill TH2 where
+  setFillColor = xform1 c_th2_setfillcolor
+  setFillStyle = xform1 c_th2_setfillstyle
+instance ITAttFill TH1 where
+  setFillColor = xform1 c_th1_setfillcolor
+  setFillStyle = xform1 c_th1_setfillstyle
+instance ITAttFill TBranch where
+  setFillColor = xform1 c_tbranch_setfillcolor
+  setFillStyle = xform1 c_tbranch_setfillstyle
+instance ITAttFill TEfficiency where
+  setFillColor = xform1 c_tefficiency_setfillcolor
+  setFillStyle = xform1 c_tefficiency_setfillstyle
+instance ITAttFill TCurlyArc where
+  setFillColor = xform1 c_tcurlyarc_setfillcolor
+  setFillStyle = xform1 c_tcurlyarc_setfillstyle
+instance ITAttFill TCurlyLine where
+  setFillColor = xform1 c_tcurlyline_setfillcolor
+  setFillStyle = xform1 c_tcurlyline_setfillstyle
+instance ITAttFill TPolyLine where
+  setFillColor = xform1 c_tpolyline_setfillcolor
+  setFillStyle = xform1 c_tpolyline_setfillstyle
+instance ITAttFill TTreeSQL where
+  setFillColor = xform1 c_ttreesql_setfillcolor
+  setFillStyle = xform1 c_ttreesql_setfillstyle
+instance ITAttFill TNtupleD where
+  setFillColor = xform1 c_tntupled_setfillcolor
+  setFillStyle = xform1 c_tntupled_setfillstyle
+instance ITAttFill TNtuple where
+  setFillColor = xform1 c_tntuple_setfillcolor
+  setFillStyle = xform1 c_tntuple_setfillstyle
+instance ITAttFill TChain where
+  setFillColor = xform1 c_tchain_setfillcolor
+  setFillStyle = xform1 c_tchain_setfillstyle
+instance ITAttFill TTree where
+  setFillColor = xform1 c_ttree_setfillcolor
+  setFillStyle = xform1 c_ttree_setfillstyle
+instance ITAttFill TSliderBox where
+  setFillColor = xform1 c_tsliderbox_setfillcolor
+  setFillStyle = xform1 c_tsliderbox_setfillstyle
+instance ITAttFill TFrame where
+  setFillColor = xform1 c_tframe_setfillcolor
+  setFillStyle = xform1 c_tframe_setfillstyle
+instance ITAttFill TWbox where
+  setFillColor = xform1 c_twbox_setfillcolor
+  setFillStyle = xform1 c_twbox_setfillstyle
+instance ITAttFill TPaveClass where
+  setFillColor = xform1 c_tpaveclass_setfillcolor
+  setFillStyle = xform1 c_tpaveclass_setfillstyle
+instance ITAttFill TPaveLabel where
+  setFillColor = xform1 c_tpavelabel_setfillcolor
+  setFillStyle = xform1 c_tpavelabel_setfillstyle
+instance ITAttFill TLegend where
+  setFillColor = xform1 c_tlegend_setfillcolor
+  setFillStyle = xform1 c_tlegend_setfillstyle
+instance ITAttFill TPavesText where
+  setFillColor = xform1 c_tpavestext_setfillcolor
+  setFillStyle = xform1 c_tpavestext_setfillstyle
+instance ITAttFill TPaveStats where
+  setFillColor = xform1 c_tpavestats_setfillcolor
+  setFillStyle = xform1 c_tpavestats_setfillstyle
+instance ITAttFill TDiamond where
+  setFillColor = xform1 c_tdiamond_setfillcolor
+  setFillStyle = xform1 c_tdiamond_setfillstyle
+instance ITAttFill TPaveText where
+  setFillColor = xform1 c_tpavetext_setfillcolor
+  setFillStyle = xform1 c_tpavetext_setfillstyle
+instance ITAttFill TPave where
+  setFillColor = xform1 c_tpave_setfillcolor
+  setFillStyle = xform1 c_tpave_setfillstyle
+instance ITAttFill TBox where
+  setFillColor = xform1 c_tbox_setfillcolor
+  setFillStyle = xform1 c_tbox_setfillstyle
+instance ITAttFill TXTRU where
+  setFillColor = xform1 c_txtru_setfillcolor
+  setFillStyle = xform1 c_txtru_setfillstyle
+instance ITAttFill TSPHE where
+  setFillColor = xform1 c_tsphe_setfillcolor
+  setFillStyle = xform1 c_tsphe_setfillstyle
+instance ITAttFill TPCON where
+  setFillColor = xform1 c_tpcon_setfillcolor
+  setFillStyle = xform1 c_tpcon_setfillstyle
+instance ITAttFill TTUBE where
+  setFillColor = xform1 c_ttube_setfillcolor
+  setFillStyle = xform1 c_ttube_setfillstyle
+instance ITAttFill TBRIK where
+  setFillColor = xform1 c_tbrik_setfillcolor
+  setFillStyle = xform1 c_tbrik_setfillstyle
+instance ITAttFill TShape where
+  setFillColor = xform1 c_tshape_setfillcolor
+  setFillStyle = xform1 c_tshape_setfillstyle
+instance ITAttFill TArrow where
+  setFillColor = xform1 c_tarrow_setfillcolor
+  setFillStyle = xform1 c_tarrow_setfillstyle
+instance ITAttFill TCrown where
+  setFillColor = xform1 c_tcrown_setfillcolor
+  setFillStyle = xform1 c_tcrown_setfillstyle
+instance ITAttFill TArc where
+  setFillColor = xform1 c_tarc_setfillcolor
+  setFillStyle = xform1 c_tarc_setfillstyle
+instance ITAttFill TEllipse where
+  setFillColor = xform1 c_tellipse_setfillcolor
+  setFillStyle = xform1 c_tellipse_setfillstyle
+instance ITAttFill TGraphQQ where
+  setFillColor = xform1 c_tgraphqq_setfillcolor
+  setFillStyle = xform1 c_tgraphqq_setfillstyle
+instance ITAttFill TGraphPolar where
+  setFillColor = xform1 c_tgraphpolar_setfillcolor
+  setFillStyle = xform1 c_tgraphpolar_setfillstyle
+instance ITAttFill TGraphErrors where
+  setFillColor = xform1 c_tgrapherrors_setfillcolor
+  setFillStyle = xform1 c_tgrapherrors_setfillstyle
+instance ITAttFill TGraphBentErrors where
+  setFillColor = xform1 c_tgraphbenterrors_setfillcolor
+  setFillStyle = xform1 c_tgraphbenterrors_setfillstyle
+instance ITAttFill TCutG where
+  setFillColor = xform1 c_tcutg_setfillcolor
+  setFillStyle = xform1 c_tcutg_setfillstyle
+instance ITAttFill TGraphAsymmErrors where
+  setFillColor = xform1 c_tgraphasymmerrors_setfillcolor
+  setFillStyle = xform1 c_tgraphasymmerrors_setfillstyle
+instance ITAttFill TGraph where
+  setFillColor = xform1 c_tgraph_setfillcolor
+  setFillStyle = xform1 c_tgraph_setfillstyle
+instance ITAttFill TF1 where
+  setFillColor = xform1 c_tf1_setfillcolor
+  setFillStyle = xform1 c_tf1_setfillstyle
+
+instance ITAttLine TSlider where
+  setLineColor = xform1 c_tslider_setlinecolor
+instance ITAttLine TEvePad where
+  setLineColor = xform1 c_tevepad_setlinecolor
+instance ITAttLine TInspectCanvas where
+  setLineColor = xform1 c_tinspectcanvas_setlinecolor
+instance ITAttLine TDialogCanvas where
+  setLineColor = xform1 c_tdialogcanvas_setlinecolor
+instance ITAttLine TCanvas where
+  setLineColor = xform1 c_tcanvas_setlinecolor
+instance ITAttLine TGroupButton where
+  setLineColor = xform1 c_tgroupbutton_setlinecolor
+instance ITAttLine TButton where
+  setLineColor = xform1 c_tbutton_setlinecolor
+instance ITAttLine TPad where
+  setLineColor = xform1 c_tpad_setlinecolor
+instance ITAttLine TVirtualPad where
+  setLineColor = xform1 c_tvirtualpad_setlinecolor
+instance ITAttLine TH3S where
+  setLineColor = xform1 c_th3s_setlinecolor
+instance ITAttLine TH3I where
+  setLineColor = xform1 c_th3i_setlinecolor
+instance ITAttLine TH3F where
+  setLineColor = xform1 c_th3f_setlinecolor
+instance ITAttLine TH3D where
+  setLineColor = xform1 c_th3d_setlinecolor
+instance ITAttLine TH3C where
+  setLineColor = xform1 c_th3c_setlinecolor
+instance ITAttLine TH2S where
+  setLineColor = xform1 c_th2s_setlinecolor
+instance ITAttLine TH2Poly where
+  setLineColor = xform1 c_th2poly_setlinecolor
+instance ITAttLine TH2I where
+  setLineColor = xform1 c_th2i_setlinecolor
+instance ITAttLine TH2F where
+  setLineColor = xform1 c_th2f_setlinecolor
+instance ITAttLine TH2D where
+  setLineColor = xform1 c_th2d_setlinecolor
+instance ITAttLine TH2C where
+  setLineColor = xform1 c_th2c_setlinecolor
+instance ITAttLine TH1S where
+  setLineColor = xform1 c_th1s_setlinecolor
+instance ITAttLine TH1I where
+  setLineColor = xform1 c_th1i_setlinecolor
+instance ITAttLine TH1F where
+  setLineColor = xform1 c_th1f_setlinecolor
+instance ITAttLine TH1D where
+  setLineColor = xform1 c_th1d_setlinecolor
+instance ITAttLine TH1C where
+  setLineColor = xform1 c_th1c_setlinecolor
+instance ITAttLine TH3 where
+  setLineColor = xform1 c_th3_setlinecolor
+instance ITAttLine TH2 where
+  setLineColor = xform1 c_th2_setlinecolor
+instance ITAttLine TH1 where
+  setLineColor = xform1 c_th1_setlinecolor
+instance ITAttLine TLatex where
+  setLineColor = xform1 c_tlatex_setlinecolor
+instance ITAttLine TEfficiency where
+  setLineColor = xform1 c_tefficiency_setlinecolor
+instance ITAttLine TCurlyArc where
+  setLineColor = xform1 c_tcurlyarc_setlinecolor
+instance ITAttLine TCurlyLine where
+  setLineColor = xform1 c_tcurlyline_setlinecolor
+instance ITAttLine TPolyLine where
+  setLineColor = xform1 c_tpolyline_setlinecolor
+instance ITAttLine TTreeSQL where
+  setLineColor = xform1 c_ttreesql_setlinecolor
+instance ITAttLine TNtupleD where
+  setLineColor = xform1 c_tntupled_setlinecolor
+instance ITAttLine TNtuple where
+  setLineColor = xform1 c_tntuple_setlinecolor
+instance ITAttLine TChain where
+  setLineColor = xform1 c_tchain_setlinecolor
+instance ITAttLine TTree where
+  setLineColor = xform1 c_ttree_setlinecolor
+instance ITAttLine TSliderBox where
+  setLineColor = xform1 c_tsliderbox_setlinecolor
+instance ITAttLine TFrame where
+  setLineColor = xform1 c_tframe_setlinecolor
+instance ITAttLine TWbox where
+  setLineColor = xform1 c_twbox_setlinecolor
+instance ITAttLine TPaveClass where
+  setLineColor = xform1 c_tpaveclass_setlinecolor
+instance ITAttLine TPaveLabel where
+  setLineColor = xform1 c_tpavelabel_setlinecolor
+instance ITAttLine TLegend where
+  setLineColor = xform1 c_tlegend_setlinecolor
+instance ITAttLine TPavesText where
+  setLineColor = xform1 c_tpavestext_setlinecolor
+instance ITAttLine TPaveStats where
+  setLineColor = xform1 c_tpavestats_setlinecolor
+instance ITAttLine TDiamond where
+  setLineColor = xform1 c_tdiamond_setlinecolor
+instance ITAttLine TPaveText where
+  setLineColor = xform1 c_tpavetext_setlinecolor
+instance ITAttLine TPave where
+  setLineColor = xform1 c_tpave_setlinecolor
+instance ITAttLine TBox where
+  setLineColor = xform1 c_tbox_setlinecolor
+instance ITAttLine TXTRU where
+  setLineColor = xform1 c_txtru_setlinecolor
+instance ITAttLine TSPHE where
+  setLineColor = xform1 c_tsphe_setlinecolor
+instance ITAttLine TPCON where
+  setLineColor = xform1 c_tpcon_setlinecolor
+instance ITAttLine TTUBE where
+  setLineColor = xform1 c_ttube_setlinecolor
+instance ITAttLine TBRIK where
+  setLineColor = xform1 c_tbrik_setlinecolor
+instance ITAttLine TShape where
+  setLineColor = xform1 c_tshape_setlinecolor
+instance ITAttLine TGaxis where
+  setLineColor = xform1 c_tgaxis_setlinecolor
+instance ITAttLine TArrow where
+  setLineColor = xform1 c_tarrow_setlinecolor
+instance ITAttLine TLine where
+  setLineColor = xform1 c_tline_setlinecolor
+instance ITAttLine TCrown where
+  setLineColor = xform1 c_tcrown_setlinecolor
+instance ITAttLine TArc where
+  setLineColor = xform1 c_tarc_setlinecolor
+instance ITAttLine TEllipse where
+  setLineColor = xform1 c_tellipse_setlinecolor
+instance ITAttLine TGraphQQ where
+  setLineColor = xform1 c_tgraphqq_setlinecolor
+instance ITAttLine TGraphPolar where
+  setLineColor = xform1 c_tgraphpolar_setlinecolor
+instance ITAttLine TGraphErrors where
+  setLineColor = xform1 c_tgrapherrors_setlinecolor
+instance ITAttLine TGraphBentErrors where
+  setLineColor = xform1 c_tgraphbenterrors_setlinecolor
+instance ITAttLine TCutG where
+  setLineColor = xform1 c_tcutg_setlinecolor
+instance ITAttLine TGraphAsymmErrors where
+  setLineColor = xform1 c_tgraphasymmerrors_setlinecolor
+instance ITAttLine TGraph where
+  setLineColor = xform1 c_tgraph_setlinecolor
+instance ITAttLine TF1 where
+  setLineColor = xform1 c_tf1_setlinecolor
+
+instance ITAttMarker TH3S where
+instance ITAttMarker TH3I where
+instance ITAttMarker TH3F where
+instance ITAttMarker TH3D where
+instance ITAttMarker TH3C where
+instance ITAttMarker TH2S where
+instance ITAttMarker TH2Poly where
+instance ITAttMarker TH2I where
+instance ITAttMarker TH2F where
+instance ITAttMarker TH2D where
+instance ITAttMarker TH2C where
+instance ITAttMarker TH1S where
+instance ITAttMarker TH1I where
+instance ITAttMarker TH1F where
+instance ITAttMarker TH1D where
+instance ITAttMarker TH1C where
+instance ITAttMarker TH3 where
+instance ITAttMarker TH2 where
+instance ITAttMarker TH1 where
+instance ITAttMarker TEfficiency where
+instance ITAttMarker TTreeSQL where
+instance ITAttMarker TNtupleD where
+instance ITAttMarker TNtuple where
+instance ITAttMarker TChain where
+instance ITAttMarker TTree where
+instance ITAttMarker TGraphQQ where
+instance ITAttMarker TGraphPolar where
+instance ITAttMarker TGraphErrors where
+instance ITAttMarker TGraphBentErrors where
+instance ITAttMarker TCutG where
+instance ITAttMarker TGraphAsymmErrors where
+instance ITAttMarker TGraph where
+
+instance ITAttPad TSlider where
+instance ITAttPad TEvePad where
+instance ITAttPad TInspectCanvas where
+instance ITAttPad TDialogCanvas where
+instance ITAttPad TCanvas where
+instance ITAttPad TGroupButton where
+instance ITAttPad TButton where
+instance ITAttPad TPad where
+instance ITAttPad TVirtualPad where
+
+instance ITAttText TInspectCanvas where
+  setTextColor = xform1 c_tinspectcanvas_settextcolor
+  setTextAlign = xform1 c_tinspectcanvas_settextalign
+  setTextSize = xform1 c_tinspectcanvas_settextsize
+instance ITAttText TDialogCanvas where
+  setTextColor = xform1 c_tdialogcanvas_settextcolor
+  setTextAlign = xform1 c_tdialogcanvas_settextalign
+  setTextSize = xform1 c_tdialogcanvas_settextsize
+instance ITAttText TGroupButton where
+  setTextColor = xform1 c_tgroupbutton_settextcolor
+  setTextAlign = xform1 c_tgroupbutton_settextalign
+  setTextSize = xform1 c_tgroupbutton_settextsize
+instance ITAttText TButton where
+  setTextColor = xform1 c_tbutton_settextcolor
+  setTextAlign = xform1 c_tbutton_settextalign
+  setTextSize = xform1 c_tbutton_settextsize
+instance ITAttText TText where
+  setTextColor = xform1 c_ttext_settextcolor
+  setTextAlign = xform1 c_ttext_settextalign
+  setTextSize = xform1 c_ttext_settextsize
+instance ITAttText TLatex where
+  setTextColor = xform1 c_tlatex_settextcolor
+  setTextAlign = xform1 c_tlatex_settextalign
+  setTextSize = xform1 c_tlatex_settextsize
+instance ITAttText TPaveClass where
+  setTextColor = xform1 c_tpaveclass_settextcolor
+  setTextAlign = xform1 c_tpaveclass_settextalign
+  setTextSize = xform1 c_tpaveclass_settextsize
+instance ITAttText TPaveLabel where
+  setTextColor = xform1 c_tpavelabel_settextcolor
+  setTextAlign = xform1 c_tpavelabel_settextalign
+  setTextSize = xform1 c_tpavelabel_settextsize
+instance ITAttText TLegend where
+  setTextColor = xform1 c_tlegend_settextcolor
+  setTextAlign = xform1 c_tlegend_settextalign
+  setTextSize = xform1 c_tlegend_settextsize
+instance ITAttText TPavesText where
+  setTextColor = xform1 c_tpavestext_settextcolor
+  setTextAlign = xform1 c_tpavestext_settextalign
+  setTextSize = xform1 c_tpavestext_settextsize
+instance ITAttText TPaveStats where
+  setTextColor = xform1 c_tpavestats_settextcolor
+  setTextAlign = xform1 c_tpavestats_settextalign
+  setTextSize = xform1 c_tpavestats_settextsize
+instance ITAttText TDiamond where
+  setTextColor = xform1 c_tdiamond_settextcolor
+  setTextAlign = xform1 c_tdiamond_settextalign
+  setTextSize = xform1 c_tdiamond_settextsize
+instance ITAttText TPaveText where
+  setTextColor = xform1 c_tpavetext_settextcolor
+  setTextAlign = xform1 c_tpavetext_settextalign
+  setTextSize = xform1 c_tpavetext_settextsize
+instance ITAttText TGaxis where
+  setTextColor = xform1 c_tgaxis_settextcolor
+  setTextAlign = xform1 c_tgaxis_settextalign
+  setTextSize = xform1 c_tgaxis_settextsize
+
+instance ITBox TSliderBox where
+instance ITBox TFrame where
+instance ITBox TWbox where
+instance ITBox TPaveClass where
+instance ITBox TPaveLabel where
+instance ITBox TLegend where
+instance ITBox TPavesText where
+instance ITBox TPaveStats where
+instance ITBox TDiamond where
+instance ITBox TPaveText where
+instance ITBox TPave where
+
+instance ITButton TGroupButton where
+
+instance ITCanvas TInspectCanvas where
+instance ITCanvas TDialogCanvas where
+
+instance ITCurlyLine TCurlyArc where
+
+instance ITDirectory TFile where
+  close = xform1 c_tfile_close
+instance ITDirectory TDirectoryFile where
+  close = xform1 c_tdirectoryfile_close
+
+instance ITDirectoryFile TFile where
+
+instance ITEllipse TCrown where
+instance ITEllipse TArc where
+
+instance ITFormula TF1 where
+  getParameter = xform1 c_tf1_getparameter
+  setParameter = xform2 c_tf1_setparameter
+
+instance ITGraph TGraphQQ where
+instance ITGraph TGraphPolar where
+instance ITGraph TGraphErrors where
+instance ITGraph TGraphBentErrors where
+instance ITGraph TCutG where
+instance ITGraph TGraphAsymmErrors where
+
+instance ITGraphErrors TGraphPolar where
+
+instance ITH1 TH3S where
+  add = xform2 c_th3s_add
+  addBinContent = xform2 c_th3s_addbincontent
+  chi2Test = xform3 c_th3s_chi2test
+  computeIntegral = xform0 c_th3s_computeintegral
+  directoryAutoAdd = xform1 c_th3s_directoryautoadd
+  distancetoPrimitive = xform2 c_th3s_distancetoprimitive
+  divide = xform5 c_th3s_divide
+  drawCopy = xform1 c_th3s_drawcopy
+  drawNormalized = xform2 c_th3s_drawnormalized
+  drawPanel = xform0 c_th3s_drawpanel
+  bufferEmpty = xform1 c_th3s_bufferempty
+  eval = xform2 c_th3s_eval
+  executeEvent = xform3 c_th3s_executeevent
+  fFT = xform2 c_th3s_fft
+  fill1 = xform1 c_th3s_fill1
+  fillN = xform4 c_th3s_filln
+  fillRandom = xform2 c_th3s_fillrandom
+  findBin = xform3 c_th3s_findbin
+  findFixBin = xform3 c_th3s_findfixbin
+  findFirstBinAbove = xform2 c_th3s_findfirstbinabove
+  findLastBinAbove = xform2 c_th3s_findlastbinabove
+  fitPanel = xform0 c_th3s_fitpanel
+  getNdivisions = xform1 c_th3s_getndivisions
+  getAxisColor = xform1 c_th3s_getaxiscolor
+  getLabelColor = xform1 c_th3s_getlabelcolor
+  getLabelFont = xform1 c_th3s_getlabelfont
+  getLabelOffset = xform1 c_th3s_getlabeloffset
+  getLabelSize = xform1 c_th3s_getlabelsize
+  getTitleFont = xform1 c_th3s_gettitlefont
+  getTitleOffset = xform1 c_th3s_gettitleoffset
+  getTitleSize = xform1 c_th3s_gettitlesize
+  getTickLength = xform1 c_th3s_getticklength
+  getBarOffset = xform0 c_th3s_getbaroffset
+  getBarWidth = xform0 c_th3s_getbarwidth
+  getContour = xform1 c_th3s_getcontour
+  getContourLevel = xform1 c_th3s_getcontourlevel
+  getContourLevelPad = xform1 c_th3s_getcontourlevelpad
+  getBin = xform3 c_th3s_getbin
+  getBinCenter = xform1 c_th3s_getbincenter
+  getBinContent1 = xform1 c_th3s_getbincontent1
+  getBinContent2 = xform2 c_th3s_getbincontent2
+  getBinContent3 = xform3 c_th3s_getbincontent3
+  getBinError1 = xform1 c_th3s_getbinerror1
+  getBinError2 = xform2 c_th3s_getbinerror2
+  getBinError3 = xform3 c_th3s_getbinerror3
+  getBinLowEdge = xform1 c_th3s_getbinlowedge
+  getBinWidth = xform1 c_th3s_getbinwidth
+  getCellContent = xform2 c_th3s_getcellcontent
+  getCellError = xform2 c_th3s_getcellerror
+instance ITH1 TH3I where
+  add = xform2 c_th3i_add
+  addBinContent = xform2 c_th3i_addbincontent
+  chi2Test = xform3 c_th3i_chi2test
+  computeIntegral = xform0 c_th3i_computeintegral
+  directoryAutoAdd = xform1 c_th3i_directoryautoadd
+  distancetoPrimitive = xform2 c_th3i_distancetoprimitive
+  divide = xform5 c_th3i_divide
+  drawCopy = xform1 c_th3i_drawcopy
+  drawNormalized = xform2 c_th3i_drawnormalized
+  drawPanel = xform0 c_th3i_drawpanel
+  bufferEmpty = xform1 c_th3i_bufferempty
+  eval = xform2 c_th3i_eval
+  executeEvent = xform3 c_th3i_executeevent
+  fFT = xform2 c_th3i_fft
+  fill1 = xform1 c_th3i_fill1
+  fillN = xform4 c_th3i_filln
+  fillRandom = xform2 c_th3i_fillrandom
+  findBin = xform3 c_th3i_findbin
+  findFixBin = xform3 c_th3i_findfixbin
+  findFirstBinAbove = xform2 c_th3i_findfirstbinabove
+  findLastBinAbove = xform2 c_th3i_findlastbinabove
+  fitPanel = xform0 c_th3i_fitpanel
+  getNdivisions = xform1 c_th3i_getndivisions
+  getAxisColor = xform1 c_th3i_getaxiscolor
+  getLabelColor = xform1 c_th3i_getlabelcolor
+  getLabelFont = xform1 c_th3i_getlabelfont
+  getLabelOffset = xform1 c_th3i_getlabeloffset
+  getLabelSize = xform1 c_th3i_getlabelsize
+  getTitleFont = xform1 c_th3i_gettitlefont
+  getTitleOffset = xform1 c_th3i_gettitleoffset
+  getTitleSize = xform1 c_th3i_gettitlesize
+  getTickLength = xform1 c_th3i_getticklength
+  getBarOffset = xform0 c_th3i_getbaroffset
+  getBarWidth = xform0 c_th3i_getbarwidth
+  getContour = xform1 c_th3i_getcontour
+  getContourLevel = xform1 c_th3i_getcontourlevel
+  getContourLevelPad = xform1 c_th3i_getcontourlevelpad
+  getBin = xform3 c_th3i_getbin
+  getBinCenter = xform1 c_th3i_getbincenter
+  getBinContent1 = xform1 c_th3i_getbincontent1
+  getBinContent2 = xform2 c_th3i_getbincontent2
+  getBinContent3 = xform3 c_th3i_getbincontent3
+  getBinError1 = xform1 c_th3i_getbinerror1
+  getBinError2 = xform2 c_th3i_getbinerror2
+  getBinError3 = xform3 c_th3i_getbinerror3
+  getBinLowEdge = xform1 c_th3i_getbinlowedge
+  getBinWidth = xform1 c_th3i_getbinwidth
+  getCellContent = xform2 c_th3i_getcellcontent
+  getCellError = xform2 c_th3i_getcellerror
+instance ITH1 TH3F where
+  add = xform2 c_th3f_add
+  addBinContent = xform2 c_th3f_addbincontent
+  chi2Test = xform3 c_th3f_chi2test
+  computeIntegral = xform0 c_th3f_computeintegral
+  directoryAutoAdd = xform1 c_th3f_directoryautoadd
+  distancetoPrimitive = xform2 c_th3f_distancetoprimitive
+  divide = xform5 c_th3f_divide
+  drawCopy = xform1 c_th3f_drawcopy
+  drawNormalized = xform2 c_th3f_drawnormalized
+  drawPanel = xform0 c_th3f_drawpanel
+  bufferEmpty = xform1 c_th3f_bufferempty
+  eval = xform2 c_th3f_eval
+  executeEvent = xform3 c_th3f_executeevent
+  fFT = xform2 c_th3f_fft
+  fill1 = xform1 c_th3f_fill1
+  fillN = xform4 c_th3f_filln
+  fillRandom = xform2 c_th3f_fillrandom
+  findBin = xform3 c_th3f_findbin
+  findFixBin = xform3 c_th3f_findfixbin
+  findFirstBinAbove = xform2 c_th3f_findfirstbinabove
+  findLastBinAbove = xform2 c_th3f_findlastbinabove
+  fitPanel = xform0 c_th3f_fitpanel
+  getNdivisions = xform1 c_th3f_getndivisions
+  getAxisColor = xform1 c_th3f_getaxiscolor
+  getLabelColor = xform1 c_th3f_getlabelcolor
+  getLabelFont = xform1 c_th3f_getlabelfont
+  getLabelOffset = xform1 c_th3f_getlabeloffset
+  getLabelSize = xform1 c_th3f_getlabelsize
+  getTitleFont = xform1 c_th3f_gettitlefont
+  getTitleOffset = xform1 c_th3f_gettitleoffset
+  getTitleSize = xform1 c_th3f_gettitlesize
+  getTickLength = xform1 c_th3f_getticklength
+  getBarOffset = xform0 c_th3f_getbaroffset
+  getBarWidth = xform0 c_th3f_getbarwidth
+  getContour = xform1 c_th3f_getcontour
+  getContourLevel = xform1 c_th3f_getcontourlevel
+  getContourLevelPad = xform1 c_th3f_getcontourlevelpad
+  getBin = xform3 c_th3f_getbin
+  getBinCenter = xform1 c_th3f_getbincenter
+  getBinContent1 = xform1 c_th3f_getbincontent1
+  getBinContent2 = xform2 c_th3f_getbincontent2
+  getBinContent3 = xform3 c_th3f_getbincontent3
+  getBinError1 = xform1 c_th3f_getbinerror1
+  getBinError2 = xform2 c_th3f_getbinerror2
+  getBinError3 = xform3 c_th3f_getbinerror3
+  getBinLowEdge = xform1 c_th3f_getbinlowedge
+  getBinWidth = xform1 c_th3f_getbinwidth
+  getCellContent = xform2 c_th3f_getcellcontent
+  getCellError = xform2 c_th3f_getcellerror
+instance ITH1 TH3D where
+  add = xform2 c_th3d_add
+  addBinContent = xform2 c_th3d_addbincontent
+  chi2Test = xform3 c_th3d_chi2test
+  computeIntegral = xform0 c_th3d_computeintegral
+  directoryAutoAdd = xform1 c_th3d_directoryautoadd
+  distancetoPrimitive = xform2 c_th3d_distancetoprimitive
+  divide = xform5 c_th3d_divide
+  drawCopy = xform1 c_th3d_drawcopy
+  drawNormalized = xform2 c_th3d_drawnormalized
+  drawPanel = xform0 c_th3d_drawpanel
+  bufferEmpty = xform1 c_th3d_bufferempty
+  eval = xform2 c_th3d_eval
+  executeEvent = xform3 c_th3d_executeevent
+  fFT = xform2 c_th3d_fft
+  fill1 = xform1 c_th3d_fill1
+  fillN = xform4 c_th3d_filln
+  fillRandom = xform2 c_th3d_fillrandom
+  findBin = xform3 c_th3d_findbin
+  findFixBin = xform3 c_th3d_findfixbin
+  findFirstBinAbove = xform2 c_th3d_findfirstbinabove
+  findLastBinAbove = xform2 c_th3d_findlastbinabove
+  fitPanel = xform0 c_th3d_fitpanel
+  getNdivisions = xform1 c_th3d_getndivisions
+  getAxisColor = xform1 c_th3d_getaxiscolor
+  getLabelColor = xform1 c_th3d_getlabelcolor
+  getLabelFont = xform1 c_th3d_getlabelfont
+  getLabelOffset = xform1 c_th3d_getlabeloffset
+  getLabelSize = xform1 c_th3d_getlabelsize
+  getTitleFont = xform1 c_th3d_gettitlefont
+  getTitleOffset = xform1 c_th3d_gettitleoffset
+  getTitleSize = xform1 c_th3d_gettitlesize
+  getTickLength = xform1 c_th3d_getticklength
+  getBarOffset = xform0 c_th3d_getbaroffset
+  getBarWidth = xform0 c_th3d_getbarwidth
+  getContour = xform1 c_th3d_getcontour
+  getContourLevel = xform1 c_th3d_getcontourlevel
+  getContourLevelPad = xform1 c_th3d_getcontourlevelpad
+  getBin = xform3 c_th3d_getbin
+  getBinCenter = xform1 c_th3d_getbincenter
+  getBinContent1 = xform1 c_th3d_getbincontent1
+  getBinContent2 = xform2 c_th3d_getbincontent2
+  getBinContent3 = xform3 c_th3d_getbincontent3
+  getBinError1 = xform1 c_th3d_getbinerror1
+  getBinError2 = xform2 c_th3d_getbinerror2
+  getBinError3 = xform3 c_th3d_getbinerror3
+  getBinLowEdge = xform1 c_th3d_getbinlowedge
+  getBinWidth = xform1 c_th3d_getbinwidth
+  getCellContent = xform2 c_th3d_getcellcontent
+  getCellError = xform2 c_th3d_getcellerror
+instance ITH1 TH3C where
+  add = xform2 c_th3c_add
+  addBinContent = xform2 c_th3c_addbincontent
+  chi2Test = xform3 c_th3c_chi2test
+  computeIntegral = xform0 c_th3c_computeintegral
+  directoryAutoAdd = xform1 c_th3c_directoryautoadd
+  distancetoPrimitive = xform2 c_th3c_distancetoprimitive
+  divide = xform5 c_th3c_divide
+  drawCopy = xform1 c_th3c_drawcopy
+  drawNormalized = xform2 c_th3c_drawnormalized
+  drawPanel = xform0 c_th3c_drawpanel
+  bufferEmpty = xform1 c_th3c_bufferempty
+  eval = xform2 c_th3c_eval
+  executeEvent = xform3 c_th3c_executeevent
+  fFT = xform2 c_th3c_fft
+  fill1 = xform1 c_th3c_fill1
+  fillN = xform4 c_th3c_filln
+  fillRandom = xform2 c_th3c_fillrandom
+  findBin = xform3 c_th3c_findbin
+  findFixBin = xform3 c_th3c_findfixbin
+  findFirstBinAbove = xform2 c_th3c_findfirstbinabove
+  findLastBinAbove = xform2 c_th3c_findlastbinabove
+  fitPanel = xform0 c_th3c_fitpanel
+  getNdivisions = xform1 c_th3c_getndivisions
+  getAxisColor = xform1 c_th3c_getaxiscolor
+  getLabelColor = xform1 c_th3c_getlabelcolor
+  getLabelFont = xform1 c_th3c_getlabelfont
+  getLabelOffset = xform1 c_th3c_getlabeloffset
+  getLabelSize = xform1 c_th3c_getlabelsize
+  getTitleFont = xform1 c_th3c_gettitlefont
+  getTitleOffset = xform1 c_th3c_gettitleoffset
+  getTitleSize = xform1 c_th3c_gettitlesize
+  getTickLength = xform1 c_th3c_getticklength
+  getBarOffset = xform0 c_th3c_getbaroffset
+  getBarWidth = xform0 c_th3c_getbarwidth
+  getContour = xform1 c_th3c_getcontour
+  getContourLevel = xform1 c_th3c_getcontourlevel
+  getContourLevelPad = xform1 c_th3c_getcontourlevelpad
+  getBin = xform3 c_th3c_getbin
+  getBinCenter = xform1 c_th3c_getbincenter
+  getBinContent1 = xform1 c_th3c_getbincontent1
+  getBinContent2 = xform2 c_th3c_getbincontent2
+  getBinContent3 = xform3 c_th3c_getbincontent3
+  getBinError1 = xform1 c_th3c_getbinerror1
+  getBinError2 = xform2 c_th3c_getbinerror2
+  getBinError3 = xform3 c_th3c_getbinerror3
+  getBinLowEdge = xform1 c_th3c_getbinlowedge
+  getBinWidth = xform1 c_th3c_getbinwidth
+  getCellContent = xform2 c_th3c_getcellcontent
+  getCellError = xform2 c_th3c_getcellerror
+instance ITH1 TH2S where
+  add = xform2 c_th2s_add
+  addBinContent = xform2 c_th2s_addbincontent
+  chi2Test = xform3 c_th2s_chi2test
+  computeIntegral = xform0 c_th2s_computeintegral
+  directoryAutoAdd = xform1 c_th2s_directoryautoadd
+  distancetoPrimitive = xform2 c_th2s_distancetoprimitive
+  divide = xform5 c_th2s_divide
+  drawCopy = xform1 c_th2s_drawcopy
+  drawNormalized = xform2 c_th2s_drawnormalized
+  drawPanel = xform0 c_th2s_drawpanel
+  bufferEmpty = xform1 c_th2s_bufferempty
+  eval = xform2 c_th2s_eval
+  executeEvent = xform3 c_th2s_executeevent
+  fFT = xform2 c_th2s_fft
+  fill1 = xform1 c_th2s_fill1
+  fillN = xform4 c_th2s_filln
+  fillRandom = xform2 c_th2s_fillrandom
+  findBin = xform3 c_th2s_findbin
+  findFixBin = xform3 c_th2s_findfixbin
+  findFirstBinAbove = xform2 c_th2s_findfirstbinabove
+  findLastBinAbove = xform2 c_th2s_findlastbinabove
+  fitPanel = xform0 c_th2s_fitpanel
+  getNdivisions = xform1 c_th2s_getndivisions
+  getAxisColor = xform1 c_th2s_getaxiscolor
+  getLabelColor = xform1 c_th2s_getlabelcolor
+  getLabelFont = xform1 c_th2s_getlabelfont
+  getLabelOffset = xform1 c_th2s_getlabeloffset
+  getLabelSize = xform1 c_th2s_getlabelsize
+  getTitleFont = xform1 c_th2s_gettitlefont
+  getTitleOffset = xform1 c_th2s_gettitleoffset
+  getTitleSize = xform1 c_th2s_gettitlesize
+  getTickLength = xform1 c_th2s_getticklength
+  getBarOffset = xform0 c_th2s_getbaroffset
+  getBarWidth = xform0 c_th2s_getbarwidth
+  getContour = xform1 c_th2s_getcontour
+  getContourLevel = xform1 c_th2s_getcontourlevel
+  getContourLevelPad = xform1 c_th2s_getcontourlevelpad
+  getBin = xform3 c_th2s_getbin
+  getBinCenter = xform1 c_th2s_getbincenter
+  getBinContent1 = xform1 c_th2s_getbincontent1
+  getBinContent2 = xform2 c_th2s_getbincontent2
+  getBinContent3 = xform3 c_th2s_getbincontent3
+  getBinError1 = xform1 c_th2s_getbinerror1
+  getBinError2 = xform2 c_th2s_getbinerror2
+  getBinError3 = xform3 c_th2s_getbinerror3
+  getBinLowEdge = xform1 c_th2s_getbinlowedge
+  getBinWidth = xform1 c_th2s_getbinwidth
+  getCellContent = xform2 c_th2s_getcellcontent
+  getCellError = xform2 c_th2s_getcellerror
+instance ITH1 TH2Poly where
+  add = xform2 c_th2poly_add
+  addBinContent = xform2 c_th2poly_addbincontent
+  chi2Test = xform3 c_th2poly_chi2test
+  computeIntegral = xform0 c_th2poly_computeintegral
+  directoryAutoAdd = xform1 c_th2poly_directoryautoadd
+  distancetoPrimitive = xform2 c_th2poly_distancetoprimitive
+  divide = xform5 c_th2poly_divide
+  drawCopy = xform1 c_th2poly_drawcopy
+  drawNormalized = xform2 c_th2poly_drawnormalized
+  drawPanel = xform0 c_th2poly_drawpanel
+  bufferEmpty = xform1 c_th2poly_bufferempty
+  eval = xform2 c_th2poly_eval
+  executeEvent = xform3 c_th2poly_executeevent
+  fFT = xform2 c_th2poly_fft
+  fill1 = xform1 c_th2poly_fill1
+  fillN = xform4 c_th2poly_filln
+  fillRandom = xform2 c_th2poly_fillrandom
+  findBin = xform3 c_th2poly_findbin
+  findFixBin = xform3 c_th2poly_findfixbin
+  findFirstBinAbove = xform2 c_th2poly_findfirstbinabove
+  findLastBinAbove = xform2 c_th2poly_findlastbinabove
+  fitPanel = xform0 c_th2poly_fitpanel
+  getNdivisions = xform1 c_th2poly_getndivisions
+  getAxisColor = xform1 c_th2poly_getaxiscolor
+  getLabelColor = xform1 c_th2poly_getlabelcolor
+  getLabelFont = xform1 c_th2poly_getlabelfont
+  getLabelOffset = xform1 c_th2poly_getlabeloffset
+  getLabelSize = xform1 c_th2poly_getlabelsize
+  getTitleFont = xform1 c_th2poly_gettitlefont
+  getTitleOffset = xform1 c_th2poly_gettitleoffset
+  getTitleSize = xform1 c_th2poly_gettitlesize
+  getTickLength = xform1 c_th2poly_getticklength
+  getBarOffset = xform0 c_th2poly_getbaroffset
+  getBarWidth = xform0 c_th2poly_getbarwidth
+  getContour = xform1 c_th2poly_getcontour
+  getContourLevel = xform1 c_th2poly_getcontourlevel
+  getContourLevelPad = xform1 c_th2poly_getcontourlevelpad
+  getBin = xform3 c_th2poly_getbin
+  getBinCenter = xform1 c_th2poly_getbincenter
+  getBinContent1 = xform1 c_th2poly_getbincontent1
+  getBinContent2 = xform2 c_th2poly_getbincontent2
+  getBinContent3 = xform3 c_th2poly_getbincontent3
+  getBinError1 = xform1 c_th2poly_getbinerror1
+  getBinError2 = xform2 c_th2poly_getbinerror2
+  getBinError3 = xform3 c_th2poly_getbinerror3
+  getBinLowEdge = xform1 c_th2poly_getbinlowedge
+  getBinWidth = xform1 c_th2poly_getbinwidth
+  getCellContent = xform2 c_th2poly_getcellcontent
+  getCellError = xform2 c_th2poly_getcellerror
+instance ITH1 TH2I where
+  add = xform2 c_th2i_add
+  addBinContent = xform2 c_th2i_addbincontent
+  chi2Test = xform3 c_th2i_chi2test
+  computeIntegral = xform0 c_th2i_computeintegral
+  directoryAutoAdd = xform1 c_th2i_directoryautoadd
+  distancetoPrimitive = xform2 c_th2i_distancetoprimitive
+  divide = xform5 c_th2i_divide
+  drawCopy = xform1 c_th2i_drawcopy
+  drawNormalized = xform2 c_th2i_drawnormalized
+  drawPanel = xform0 c_th2i_drawpanel
+  bufferEmpty = xform1 c_th2i_bufferempty
+  eval = xform2 c_th2i_eval
+  executeEvent = xform3 c_th2i_executeevent
+  fFT = xform2 c_th2i_fft
+  fill1 = xform1 c_th2i_fill1
+  fillN = xform4 c_th2i_filln
+  fillRandom = xform2 c_th2i_fillrandom
+  findBin = xform3 c_th2i_findbin
+  findFixBin = xform3 c_th2i_findfixbin
+  findFirstBinAbove = xform2 c_th2i_findfirstbinabove
+  findLastBinAbove = xform2 c_th2i_findlastbinabove
+  fitPanel = xform0 c_th2i_fitpanel
+  getNdivisions = xform1 c_th2i_getndivisions
+  getAxisColor = xform1 c_th2i_getaxiscolor
+  getLabelColor = xform1 c_th2i_getlabelcolor
+  getLabelFont = xform1 c_th2i_getlabelfont
+  getLabelOffset = xform1 c_th2i_getlabeloffset
+  getLabelSize = xform1 c_th2i_getlabelsize
+  getTitleFont = xform1 c_th2i_gettitlefont
+  getTitleOffset = xform1 c_th2i_gettitleoffset
+  getTitleSize = xform1 c_th2i_gettitlesize
+  getTickLength = xform1 c_th2i_getticklength
+  getBarOffset = xform0 c_th2i_getbaroffset
+  getBarWidth = xform0 c_th2i_getbarwidth
+  getContour = xform1 c_th2i_getcontour
+  getContourLevel = xform1 c_th2i_getcontourlevel
+  getContourLevelPad = xform1 c_th2i_getcontourlevelpad
+  getBin = xform3 c_th2i_getbin
+  getBinCenter = xform1 c_th2i_getbincenter
+  getBinContent1 = xform1 c_th2i_getbincontent1
+  getBinContent2 = xform2 c_th2i_getbincontent2
+  getBinContent3 = xform3 c_th2i_getbincontent3
+  getBinError1 = xform1 c_th2i_getbinerror1
+  getBinError2 = xform2 c_th2i_getbinerror2
+  getBinError3 = xform3 c_th2i_getbinerror3
+  getBinLowEdge = xform1 c_th2i_getbinlowedge
+  getBinWidth = xform1 c_th2i_getbinwidth
+  getCellContent = xform2 c_th2i_getcellcontent
+  getCellError = xform2 c_th2i_getcellerror
+instance ITH1 TH2F where
+  add = xform2 c_th2f_add
+  addBinContent = xform2 c_th2f_addbincontent
+  chi2Test = xform3 c_th2f_chi2test
+  computeIntegral = xform0 c_th2f_computeintegral
+  directoryAutoAdd = xform1 c_th2f_directoryautoadd
+  distancetoPrimitive = xform2 c_th2f_distancetoprimitive
+  divide = xform5 c_th2f_divide
+  drawCopy = xform1 c_th2f_drawcopy
+  drawNormalized = xform2 c_th2f_drawnormalized
+  drawPanel = xform0 c_th2f_drawpanel
+  bufferEmpty = xform1 c_th2f_bufferempty
+  eval = xform2 c_th2f_eval
+  executeEvent = xform3 c_th2f_executeevent
+  fFT = xform2 c_th2f_fft
+  fill1 = xform1 c_th2f_fill1
+  fillN = xform4 c_th2f_filln
+  fillRandom = xform2 c_th2f_fillrandom
+  findBin = xform3 c_th2f_findbin
+  findFixBin = xform3 c_th2f_findfixbin
+  findFirstBinAbove = xform2 c_th2f_findfirstbinabove
+  findLastBinAbove = xform2 c_th2f_findlastbinabove
+  fitPanel = xform0 c_th2f_fitpanel
+  getNdivisions = xform1 c_th2f_getndivisions
+  getAxisColor = xform1 c_th2f_getaxiscolor
+  getLabelColor = xform1 c_th2f_getlabelcolor
+  getLabelFont = xform1 c_th2f_getlabelfont
+  getLabelOffset = xform1 c_th2f_getlabeloffset
+  getLabelSize = xform1 c_th2f_getlabelsize
+  getTitleFont = xform1 c_th2f_gettitlefont
+  getTitleOffset = xform1 c_th2f_gettitleoffset
+  getTitleSize = xform1 c_th2f_gettitlesize
+  getTickLength = xform1 c_th2f_getticklength
+  getBarOffset = xform0 c_th2f_getbaroffset
+  getBarWidth = xform0 c_th2f_getbarwidth
+  getContour = xform1 c_th2f_getcontour
+  getContourLevel = xform1 c_th2f_getcontourlevel
+  getContourLevelPad = xform1 c_th2f_getcontourlevelpad
+  getBin = xform3 c_th2f_getbin
+  getBinCenter = xform1 c_th2f_getbincenter
+  getBinContent1 = xform1 c_th2f_getbincontent1
+  getBinContent2 = xform2 c_th2f_getbincontent2
+  getBinContent3 = xform3 c_th2f_getbincontent3
+  getBinError1 = xform1 c_th2f_getbinerror1
+  getBinError2 = xform2 c_th2f_getbinerror2
+  getBinError3 = xform3 c_th2f_getbinerror3
+  getBinLowEdge = xform1 c_th2f_getbinlowedge
+  getBinWidth = xform1 c_th2f_getbinwidth
+  getCellContent = xform2 c_th2f_getcellcontent
+  getCellError = xform2 c_th2f_getcellerror
+instance ITH1 TH2D where
+  add = xform2 c_th2d_add
+  addBinContent = xform2 c_th2d_addbincontent
+  chi2Test = xform3 c_th2d_chi2test
+  computeIntegral = xform0 c_th2d_computeintegral
+  directoryAutoAdd = xform1 c_th2d_directoryautoadd
+  distancetoPrimitive = xform2 c_th2d_distancetoprimitive
+  divide = xform5 c_th2d_divide
+  drawCopy = xform1 c_th2d_drawcopy
+  drawNormalized = xform2 c_th2d_drawnormalized
+  drawPanel = xform0 c_th2d_drawpanel
+  bufferEmpty = xform1 c_th2d_bufferempty
+  eval = xform2 c_th2d_eval
+  executeEvent = xform3 c_th2d_executeevent
+  fFT = xform2 c_th2d_fft
+  fill1 = xform1 c_th2d_fill1
+  fillN = xform4 c_th2d_filln
+  fillRandom = xform2 c_th2d_fillrandom
+  findBin = xform3 c_th2d_findbin
+  findFixBin = xform3 c_th2d_findfixbin
+  findFirstBinAbove = xform2 c_th2d_findfirstbinabove
+  findLastBinAbove = xform2 c_th2d_findlastbinabove
+  fitPanel = xform0 c_th2d_fitpanel
+  getNdivisions = xform1 c_th2d_getndivisions
+  getAxisColor = xform1 c_th2d_getaxiscolor
+  getLabelColor = xform1 c_th2d_getlabelcolor
+  getLabelFont = xform1 c_th2d_getlabelfont
+  getLabelOffset = xform1 c_th2d_getlabeloffset
+  getLabelSize = xform1 c_th2d_getlabelsize
+  getTitleFont = xform1 c_th2d_gettitlefont
+  getTitleOffset = xform1 c_th2d_gettitleoffset
+  getTitleSize = xform1 c_th2d_gettitlesize
+  getTickLength = xform1 c_th2d_getticklength
+  getBarOffset = xform0 c_th2d_getbaroffset
+  getBarWidth = xform0 c_th2d_getbarwidth
+  getContour = xform1 c_th2d_getcontour
+  getContourLevel = xform1 c_th2d_getcontourlevel
+  getContourLevelPad = xform1 c_th2d_getcontourlevelpad
+  getBin = xform3 c_th2d_getbin
+  getBinCenter = xform1 c_th2d_getbincenter
+  getBinContent1 = xform1 c_th2d_getbincontent1
+  getBinContent2 = xform2 c_th2d_getbincontent2
+  getBinContent3 = xform3 c_th2d_getbincontent3
+  getBinError1 = xform1 c_th2d_getbinerror1
+  getBinError2 = xform2 c_th2d_getbinerror2
+  getBinError3 = xform3 c_th2d_getbinerror3
+  getBinLowEdge = xform1 c_th2d_getbinlowedge
+  getBinWidth = xform1 c_th2d_getbinwidth
+  getCellContent = xform2 c_th2d_getcellcontent
+  getCellError = xform2 c_th2d_getcellerror
+instance ITH1 TH2C where
+  add = xform2 c_th2c_add
+  addBinContent = xform2 c_th2c_addbincontent
+  chi2Test = xform3 c_th2c_chi2test
+  computeIntegral = xform0 c_th2c_computeintegral
+  directoryAutoAdd = xform1 c_th2c_directoryautoadd
+  distancetoPrimitive = xform2 c_th2c_distancetoprimitive
+  divide = xform5 c_th2c_divide
+  drawCopy = xform1 c_th2c_drawcopy
+  drawNormalized = xform2 c_th2c_drawnormalized
+  drawPanel = xform0 c_th2c_drawpanel
+  bufferEmpty = xform1 c_th2c_bufferempty
+  eval = xform2 c_th2c_eval
+  executeEvent = xform3 c_th2c_executeevent
+  fFT = xform2 c_th2c_fft
+  fill1 = xform1 c_th2c_fill1
+  fillN = xform4 c_th2c_filln
+  fillRandom = xform2 c_th2c_fillrandom
+  findBin = xform3 c_th2c_findbin
+  findFixBin = xform3 c_th2c_findfixbin
+  findFirstBinAbove = xform2 c_th2c_findfirstbinabove
+  findLastBinAbove = xform2 c_th2c_findlastbinabove
+  fitPanel = xform0 c_th2c_fitpanel
+  getNdivisions = xform1 c_th2c_getndivisions
+  getAxisColor = xform1 c_th2c_getaxiscolor
+  getLabelColor = xform1 c_th2c_getlabelcolor
+  getLabelFont = xform1 c_th2c_getlabelfont
+  getLabelOffset = xform1 c_th2c_getlabeloffset
+  getLabelSize = xform1 c_th2c_getlabelsize
+  getTitleFont = xform1 c_th2c_gettitlefont
+  getTitleOffset = xform1 c_th2c_gettitleoffset
+  getTitleSize = xform1 c_th2c_gettitlesize
+  getTickLength = xform1 c_th2c_getticklength
+  getBarOffset = xform0 c_th2c_getbaroffset
+  getBarWidth = xform0 c_th2c_getbarwidth
+  getContour = xform1 c_th2c_getcontour
+  getContourLevel = xform1 c_th2c_getcontourlevel
+  getContourLevelPad = xform1 c_th2c_getcontourlevelpad
+  getBin = xform3 c_th2c_getbin
+  getBinCenter = xform1 c_th2c_getbincenter
+  getBinContent1 = xform1 c_th2c_getbincontent1
+  getBinContent2 = xform2 c_th2c_getbincontent2
+  getBinContent3 = xform3 c_th2c_getbincontent3
+  getBinError1 = xform1 c_th2c_getbinerror1
+  getBinError2 = xform2 c_th2c_getbinerror2
+  getBinError3 = xform3 c_th2c_getbinerror3
+  getBinLowEdge = xform1 c_th2c_getbinlowedge
+  getBinWidth = xform1 c_th2c_getbinwidth
+  getCellContent = xform2 c_th2c_getcellcontent
+  getCellError = xform2 c_th2c_getcellerror
+instance ITH1 TH1S where
+  add = xform2 c_th1s_add
+  addBinContent = xform2 c_th1s_addbincontent
+  chi2Test = xform3 c_th1s_chi2test
+  computeIntegral = xform0 c_th1s_computeintegral
+  directoryAutoAdd = xform1 c_th1s_directoryautoadd
+  distancetoPrimitive = xform2 c_th1s_distancetoprimitive
+  divide = xform5 c_th1s_divide
+  drawCopy = xform1 c_th1s_drawcopy
+  drawNormalized = xform2 c_th1s_drawnormalized
+  drawPanel = xform0 c_th1s_drawpanel
+  bufferEmpty = xform1 c_th1s_bufferempty
+  eval = xform2 c_th1s_eval
+  executeEvent = xform3 c_th1s_executeevent
+  fFT = xform2 c_th1s_fft
+  fill1 = xform1 c_th1s_fill1
+  fillN = xform4 c_th1s_filln
+  fillRandom = xform2 c_th1s_fillrandom
+  findBin = xform3 c_th1s_findbin
+  findFixBin = xform3 c_th1s_findfixbin
+  findFirstBinAbove = xform2 c_th1s_findfirstbinabove
+  findLastBinAbove = xform2 c_th1s_findlastbinabove
+  fitPanel = xform0 c_th1s_fitpanel
+  getNdivisions = xform1 c_th1s_getndivisions
+  getAxisColor = xform1 c_th1s_getaxiscolor
+  getLabelColor = xform1 c_th1s_getlabelcolor
+  getLabelFont = xform1 c_th1s_getlabelfont
+  getLabelOffset = xform1 c_th1s_getlabeloffset
+  getLabelSize = xform1 c_th1s_getlabelsize
+  getTitleFont = xform1 c_th1s_gettitlefont
+  getTitleOffset = xform1 c_th1s_gettitleoffset
+  getTitleSize = xform1 c_th1s_gettitlesize
+  getTickLength = xform1 c_th1s_getticklength
+  getBarOffset = xform0 c_th1s_getbaroffset
+  getBarWidth = xform0 c_th1s_getbarwidth
+  getContour = xform1 c_th1s_getcontour
+  getContourLevel = xform1 c_th1s_getcontourlevel
+  getContourLevelPad = xform1 c_th1s_getcontourlevelpad
+  getBin = xform3 c_th1s_getbin
+  getBinCenter = xform1 c_th1s_getbincenter
+  getBinContent1 = xform1 c_th1s_getbincontent1
+  getBinContent2 = xform2 c_th1s_getbincontent2
+  getBinContent3 = xform3 c_th1s_getbincontent3
+  getBinError1 = xform1 c_th1s_getbinerror1
+  getBinError2 = xform2 c_th1s_getbinerror2
+  getBinError3 = xform3 c_th1s_getbinerror3
+  getBinLowEdge = xform1 c_th1s_getbinlowedge
+  getBinWidth = xform1 c_th1s_getbinwidth
+  getCellContent = xform2 c_th1s_getcellcontent
+  getCellError = xform2 c_th1s_getcellerror
+instance ITH1 TH1I where
+  add = xform2 c_th1i_add
+  addBinContent = xform2 c_th1i_addbincontent
+  chi2Test = xform3 c_th1i_chi2test
+  computeIntegral = xform0 c_th1i_computeintegral
+  directoryAutoAdd = xform1 c_th1i_directoryautoadd
+  distancetoPrimitive = xform2 c_th1i_distancetoprimitive
+  divide = xform5 c_th1i_divide
+  drawCopy = xform1 c_th1i_drawcopy
+  drawNormalized = xform2 c_th1i_drawnormalized
+  drawPanel = xform0 c_th1i_drawpanel
+  bufferEmpty = xform1 c_th1i_bufferempty
+  eval = xform2 c_th1i_eval
+  executeEvent = xform3 c_th1i_executeevent
+  fFT = xform2 c_th1i_fft
+  fill1 = xform1 c_th1i_fill1
+  fillN = xform4 c_th1i_filln
+  fillRandom = xform2 c_th1i_fillrandom
+  findBin = xform3 c_th1i_findbin
+  findFixBin = xform3 c_th1i_findfixbin
+  findFirstBinAbove = xform2 c_th1i_findfirstbinabove
+  findLastBinAbove = xform2 c_th1i_findlastbinabove
+  fitPanel = xform0 c_th1i_fitpanel
+  getNdivisions = xform1 c_th1i_getndivisions
+  getAxisColor = xform1 c_th1i_getaxiscolor
+  getLabelColor = xform1 c_th1i_getlabelcolor
+  getLabelFont = xform1 c_th1i_getlabelfont
+  getLabelOffset = xform1 c_th1i_getlabeloffset
+  getLabelSize = xform1 c_th1i_getlabelsize
+  getTitleFont = xform1 c_th1i_gettitlefont
+  getTitleOffset = xform1 c_th1i_gettitleoffset
+  getTitleSize = xform1 c_th1i_gettitlesize
+  getTickLength = xform1 c_th1i_getticklength
+  getBarOffset = xform0 c_th1i_getbaroffset
+  getBarWidth = xform0 c_th1i_getbarwidth
+  getContour = xform1 c_th1i_getcontour
+  getContourLevel = xform1 c_th1i_getcontourlevel
+  getContourLevelPad = xform1 c_th1i_getcontourlevelpad
+  getBin = xform3 c_th1i_getbin
+  getBinCenter = xform1 c_th1i_getbincenter
+  getBinContent1 = xform1 c_th1i_getbincontent1
+  getBinContent2 = xform2 c_th1i_getbincontent2
+  getBinContent3 = xform3 c_th1i_getbincontent3
+  getBinError1 = xform1 c_th1i_getbinerror1
+  getBinError2 = xform2 c_th1i_getbinerror2
+  getBinError3 = xform3 c_th1i_getbinerror3
+  getBinLowEdge = xform1 c_th1i_getbinlowedge
+  getBinWidth = xform1 c_th1i_getbinwidth
+  getCellContent = xform2 c_th1i_getcellcontent
+  getCellError = xform2 c_th1i_getcellerror
+instance ITH1 TH1F where
+  add = xform2 c_th1f_add
+  addBinContent = xform2 c_th1f_addbincontent
+  chi2Test = xform3 c_th1f_chi2test
+  computeIntegral = xform0 c_th1f_computeintegral
+  directoryAutoAdd = xform1 c_th1f_directoryautoadd
+  distancetoPrimitive = xform2 c_th1f_distancetoprimitive
+  divide = xform5 c_th1f_divide
+  drawCopy = xform1 c_th1f_drawcopy
+  drawNormalized = xform2 c_th1f_drawnormalized
+  drawPanel = xform0 c_th1f_drawpanel
+  bufferEmpty = xform1 c_th1f_bufferempty
+  eval = xform2 c_th1f_eval
+  executeEvent = xform3 c_th1f_executeevent
+  fFT = xform2 c_th1f_fft
+  fill1 = xform1 c_th1f_fill1
+  fillN = xform4 c_th1f_filln
+  fillRandom = xform2 c_th1f_fillrandom
+  findBin = xform3 c_th1f_findbin
+  findFixBin = xform3 c_th1f_findfixbin
+  findFirstBinAbove = xform2 c_th1f_findfirstbinabove
+  findLastBinAbove = xform2 c_th1f_findlastbinabove
+  fitPanel = xform0 c_th1f_fitpanel
+  getNdivisions = xform1 c_th1f_getndivisions
+  getAxisColor = xform1 c_th1f_getaxiscolor
+  getLabelColor = xform1 c_th1f_getlabelcolor
+  getLabelFont = xform1 c_th1f_getlabelfont
+  getLabelOffset = xform1 c_th1f_getlabeloffset
+  getLabelSize = xform1 c_th1f_getlabelsize
+  getTitleFont = xform1 c_th1f_gettitlefont
+  getTitleOffset = xform1 c_th1f_gettitleoffset
+  getTitleSize = xform1 c_th1f_gettitlesize
+  getTickLength = xform1 c_th1f_getticklength
+  getBarOffset = xform0 c_th1f_getbaroffset
+  getBarWidth = xform0 c_th1f_getbarwidth
+  getContour = xform1 c_th1f_getcontour
+  getContourLevel = xform1 c_th1f_getcontourlevel
+  getContourLevelPad = xform1 c_th1f_getcontourlevelpad
+  getBin = xform3 c_th1f_getbin
+  getBinCenter = xform1 c_th1f_getbincenter
+  getBinContent1 = xform1 c_th1f_getbincontent1
+  getBinContent2 = xform2 c_th1f_getbincontent2
+  getBinContent3 = xform3 c_th1f_getbincontent3
+  getBinError1 = xform1 c_th1f_getbinerror1
+  getBinError2 = xform2 c_th1f_getbinerror2
+  getBinError3 = xform3 c_th1f_getbinerror3
+  getBinLowEdge = xform1 c_th1f_getbinlowedge
+  getBinWidth = xform1 c_th1f_getbinwidth
+  getCellContent = xform2 c_th1f_getcellcontent
+  getCellError = xform2 c_th1f_getcellerror
+instance ITH1 TH1D where
+  add = xform2 c_th1d_add
+  addBinContent = xform2 c_th1d_addbincontent
+  chi2Test = xform3 c_th1d_chi2test
+  computeIntegral = xform0 c_th1d_computeintegral
+  directoryAutoAdd = xform1 c_th1d_directoryautoadd
+  distancetoPrimitive = xform2 c_th1d_distancetoprimitive
+  divide = xform5 c_th1d_divide
+  drawCopy = xform1 c_th1d_drawcopy
+  drawNormalized = xform2 c_th1d_drawnormalized
+  drawPanel = xform0 c_th1d_drawpanel
+  bufferEmpty = xform1 c_th1d_bufferempty
+  eval = xform2 c_th1d_eval
+  executeEvent = xform3 c_th1d_executeevent
+  fFT = xform2 c_th1d_fft
+  fill1 = xform1 c_th1d_fill1
+  fillN = xform4 c_th1d_filln
+  fillRandom = xform2 c_th1d_fillrandom
+  findBin = xform3 c_th1d_findbin
+  findFixBin = xform3 c_th1d_findfixbin
+  findFirstBinAbove = xform2 c_th1d_findfirstbinabove
+  findLastBinAbove = xform2 c_th1d_findlastbinabove
+  fitPanel = xform0 c_th1d_fitpanel
+  getNdivisions = xform1 c_th1d_getndivisions
+  getAxisColor = xform1 c_th1d_getaxiscolor
+  getLabelColor = xform1 c_th1d_getlabelcolor
+  getLabelFont = xform1 c_th1d_getlabelfont
+  getLabelOffset = xform1 c_th1d_getlabeloffset
+  getLabelSize = xform1 c_th1d_getlabelsize
+  getTitleFont = xform1 c_th1d_gettitlefont
+  getTitleOffset = xform1 c_th1d_gettitleoffset
+  getTitleSize = xform1 c_th1d_gettitlesize
+  getTickLength = xform1 c_th1d_getticklength
+  getBarOffset = xform0 c_th1d_getbaroffset
+  getBarWidth = xform0 c_th1d_getbarwidth
+  getContour = xform1 c_th1d_getcontour
+  getContourLevel = xform1 c_th1d_getcontourlevel
+  getContourLevelPad = xform1 c_th1d_getcontourlevelpad
+  getBin = xform3 c_th1d_getbin
+  getBinCenter = xform1 c_th1d_getbincenter
+  getBinContent1 = xform1 c_th1d_getbincontent1
+  getBinContent2 = xform2 c_th1d_getbincontent2
+  getBinContent3 = xform3 c_th1d_getbincontent3
+  getBinError1 = xform1 c_th1d_getbinerror1
+  getBinError2 = xform2 c_th1d_getbinerror2
+  getBinError3 = xform3 c_th1d_getbinerror3
+  getBinLowEdge = xform1 c_th1d_getbinlowedge
+  getBinWidth = xform1 c_th1d_getbinwidth
+  getCellContent = xform2 c_th1d_getcellcontent
+  getCellError = xform2 c_th1d_getcellerror
+instance ITH1 TH1C where
+  add = xform2 c_th1c_add
+  addBinContent = xform2 c_th1c_addbincontent
+  chi2Test = xform3 c_th1c_chi2test
+  computeIntegral = xform0 c_th1c_computeintegral
+  directoryAutoAdd = xform1 c_th1c_directoryautoadd
+  distancetoPrimitive = xform2 c_th1c_distancetoprimitive
+  divide = xform5 c_th1c_divide
+  drawCopy = xform1 c_th1c_drawcopy
+  drawNormalized = xform2 c_th1c_drawnormalized
+  drawPanel = xform0 c_th1c_drawpanel
+  bufferEmpty = xform1 c_th1c_bufferempty
+  eval = xform2 c_th1c_eval
+  executeEvent = xform3 c_th1c_executeevent
+  fFT = xform2 c_th1c_fft
+  fill1 = xform1 c_th1c_fill1
+  fillN = xform4 c_th1c_filln
+  fillRandom = xform2 c_th1c_fillrandom
+  findBin = xform3 c_th1c_findbin
+  findFixBin = xform3 c_th1c_findfixbin
+  findFirstBinAbove = xform2 c_th1c_findfirstbinabove
+  findLastBinAbove = xform2 c_th1c_findlastbinabove
+  fitPanel = xform0 c_th1c_fitpanel
+  getNdivisions = xform1 c_th1c_getndivisions
+  getAxisColor = xform1 c_th1c_getaxiscolor
+  getLabelColor = xform1 c_th1c_getlabelcolor
+  getLabelFont = xform1 c_th1c_getlabelfont
+  getLabelOffset = xform1 c_th1c_getlabeloffset
+  getLabelSize = xform1 c_th1c_getlabelsize
+  getTitleFont = xform1 c_th1c_gettitlefont
+  getTitleOffset = xform1 c_th1c_gettitleoffset
+  getTitleSize = xform1 c_th1c_gettitlesize
+  getTickLength = xform1 c_th1c_getticklength
+  getBarOffset = xform0 c_th1c_getbaroffset
+  getBarWidth = xform0 c_th1c_getbarwidth
+  getContour = xform1 c_th1c_getcontour
+  getContourLevel = xform1 c_th1c_getcontourlevel
+  getContourLevelPad = xform1 c_th1c_getcontourlevelpad
+  getBin = xform3 c_th1c_getbin
+  getBinCenter = xform1 c_th1c_getbincenter
+  getBinContent1 = xform1 c_th1c_getbincontent1
+  getBinContent2 = xform2 c_th1c_getbincontent2
+  getBinContent3 = xform3 c_th1c_getbincontent3
+  getBinError1 = xform1 c_th1c_getbinerror1
+  getBinError2 = xform2 c_th1c_getbinerror2
+  getBinError3 = xform3 c_th1c_getbinerror3
+  getBinLowEdge = xform1 c_th1c_getbinlowedge
+  getBinWidth = xform1 c_th1c_getbinwidth
+  getCellContent = xform2 c_th1c_getcellcontent
+  getCellError = xform2 c_th1c_getcellerror
+instance ITH1 TH3 where
+  add = xform2 c_th3_add
+  addBinContent = xform2 c_th3_addbincontent
+  chi2Test = xform3 c_th3_chi2test
+  computeIntegral = xform0 c_th3_computeintegral
+  directoryAutoAdd = xform1 c_th3_directoryautoadd
+  distancetoPrimitive = xform2 c_th3_distancetoprimitive
+  divide = xform5 c_th3_divide
+  drawCopy = xform1 c_th3_drawcopy
+  drawNormalized = xform2 c_th3_drawnormalized
+  drawPanel = xform0 c_th3_drawpanel
+  bufferEmpty = xform1 c_th3_bufferempty
+  eval = xform2 c_th3_eval
+  executeEvent = xform3 c_th3_executeevent
+  fFT = xform2 c_th3_fft
+  fill1 = xform1 c_th3_fill1
+  fillN = xform4 c_th3_filln
+  fillRandom = xform2 c_th3_fillrandom
+  findBin = xform3 c_th3_findbin
+  findFixBin = xform3 c_th3_findfixbin
+  findFirstBinAbove = xform2 c_th3_findfirstbinabove
+  findLastBinAbove = xform2 c_th3_findlastbinabove
+  fitPanel = xform0 c_th3_fitpanel
+  getNdivisions = xform1 c_th3_getndivisions
+  getAxisColor = xform1 c_th3_getaxiscolor
+  getLabelColor = xform1 c_th3_getlabelcolor
+  getLabelFont = xform1 c_th3_getlabelfont
+  getLabelOffset = xform1 c_th3_getlabeloffset
+  getLabelSize = xform1 c_th3_getlabelsize
+  getTitleFont = xform1 c_th3_gettitlefont
+  getTitleOffset = xform1 c_th3_gettitleoffset
+  getTitleSize = xform1 c_th3_gettitlesize
+  getTickLength = xform1 c_th3_getticklength
+  getBarOffset = xform0 c_th3_getbaroffset
+  getBarWidth = xform0 c_th3_getbarwidth
+  getContour = xform1 c_th3_getcontour
+  getContourLevel = xform1 c_th3_getcontourlevel
+  getContourLevelPad = xform1 c_th3_getcontourlevelpad
+  getBin = xform3 c_th3_getbin
+  getBinCenter = xform1 c_th3_getbincenter
+  getBinContent1 = xform1 c_th3_getbincontent1
+  getBinContent2 = xform2 c_th3_getbincontent2
+  getBinContent3 = xform3 c_th3_getbincontent3
+  getBinError1 = xform1 c_th3_getbinerror1
+  getBinError2 = xform2 c_th3_getbinerror2
+  getBinError3 = xform3 c_th3_getbinerror3
+  getBinLowEdge = xform1 c_th3_getbinlowedge
+  getBinWidth = xform1 c_th3_getbinwidth
+  getCellContent = xform2 c_th3_getcellcontent
+  getCellError = xform2 c_th3_getcellerror
+instance ITH1 TH2 where
+  add = xform2 c_th2_add
+  addBinContent = xform2 c_th2_addbincontent
+  chi2Test = xform3 c_th2_chi2test
+  computeIntegral = xform0 c_th2_computeintegral
+  directoryAutoAdd = xform1 c_th2_directoryautoadd
+  distancetoPrimitive = xform2 c_th2_distancetoprimitive
+  divide = xform5 c_th2_divide
+  drawCopy = xform1 c_th2_drawcopy
+  drawNormalized = xform2 c_th2_drawnormalized
+  drawPanel = xform0 c_th2_drawpanel
+  bufferEmpty = xform1 c_th2_bufferempty
+  eval = xform2 c_th2_eval
+  executeEvent = xform3 c_th2_executeevent
+  fFT = xform2 c_th2_fft
+  fill1 = xform1 c_th2_fill1
+  fillN = xform4 c_th2_filln
+  fillRandom = xform2 c_th2_fillrandom
+  findBin = xform3 c_th2_findbin
+  findFixBin = xform3 c_th2_findfixbin
+  findFirstBinAbove = xform2 c_th2_findfirstbinabove
+  findLastBinAbove = xform2 c_th2_findlastbinabove
+  fitPanel = xform0 c_th2_fitpanel
+  getNdivisions = xform1 c_th2_getndivisions
+  getAxisColor = xform1 c_th2_getaxiscolor
+  getLabelColor = xform1 c_th2_getlabelcolor
+  getLabelFont = xform1 c_th2_getlabelfont
+  getLabelOffset = xform1 c_th2_getlabeloffset
+  getLabelSize = xform1 c_th2_getlabelsize
+  getTitleFont = xform1 c_th2_gettitlefont
+  getTitleOffset = xform1 c_th2_gettitleoffset
+  getTitleSize = xform1 c_th2_gettitlesize
+  getTickLength = xform1 c_th2_getticklength
+  getBarOffset = xform0 c_th2_getbaroffset
+  getBarWidth = xform0 c_th2_getbarwidth
+  getContour = xform1 c_th2_getcontour
+  getContourLevel = xform1 c_th2_getcontourlevel
+  getContourLevelPad = xform1 c_th2_getcontourlevelpad
+  getBin = xform3 c_th2_getbin
+  getBinCenter = xform1 c_th2_getbincenter
+  getBinContent1 = xform1 c_th2_getbincontent1
+  getBinContent2 = xform2 c_th2_getbincontent2
+  getBinContent3 = xform3 c_th2_getbincontent3
+  getBinError1 = xform1 c_th2_getbinerror1
+  getBinError2 = xform2 c_th2_getbinerror2
+  getBinError3 = xform3 c_th2_getbinerror3
+  getBinLowEdge = xform1 c_th2_getbinlowedge
+  getBinWidth = xform1 c_th2_getbinwidth
+  getCellContent = xform2 c_th2_getcellcontent
+  getCellError = xform2 c_th2_getcellerror
+
+instance ITH2 TH2S where
+  fill2 = xform2 c_th2s_fill2
+instance ITH2 TH2Poly where
+  fill2 = xform2 c_th2poly_fill2
+instance ITH2 TH2I where
+  fill2 = xform2 c_th2i_fill2
+instance ITH2 TH2F where
+  fill2 = xform2 c_th2f_fill2
+instance ITH2 TH2D where
+  fill2 = xform2 c_th2d_fill2
+instance ITH2 TH2C where
+  fill2 = xform2 c_th2c_fill2
+
+instance ITH3 TH3S where
+instance ITH3 TH3I where
+instance ITH3 TH3F where
+instance ITH3 TH3D where
+instance ITH3 TH3C where
+
+instance ITLine TGaxis where
+instance ITLine TArrow where
+
+instance ITNamed TH3S where
+  setTitle = xform1 c_th3s_settitle
+instance ITNamed TH3I where
+  setTitle = xform1 c_th3i_settitle
+instance ITNamed TH3F where
+  setTitle = xform1 c_th3f_settitle
+instance ITNamed TH3D where
+  setTitle = xform1 c_th3d_settitle
+instance ITNamed TH3C where
+  setTitle = xform1 c_th3c_settitle
+instance ITNamed TH2S where
+  setTitle = xform1 c_th2s_settitle
+instance ITNamed TH2Poly where
+  setTitle = xform1 c_th2poly_settitle
+instance ITNamed TH2I where
+  setTitle = xform1 c_th2i_settitle
+instance ITNamed TH2F where
+  setTitle = xform1 c_th2f_settitle
+instance ITNamed TH2D where
+  setTitle = xform1 c_th2d_settitle
+instance ITNamed TH2C where
+  setTitle = xform1 c_th2c_settitle
+instance ITNamed TH1S where
+  setTitle = xform1 c_th1s_settitle
+instance ITNamed TH1I where
+  setTitle = xform1 c_th1i_settitle
+instance ITNamed TH1F where
+  setTitle = xform1 c_th1f_settitle
+instance ITNamed TH1D where
+  setTitle = xform1 c_th1d_settitle
+instance ITNamed TH1C where
+  setTitle = xform1 c_th1c_settitle
+instance ITNamed TH3 where
+  setTitle = xform1 c_th3_settitle
+instance ITNamed TH2 where
+  setTitle = xform1 c_th2_settitle
+instance ITNamed TH1 where
+  setTitle = xform1 c_th1_settitle
+instance ITNamed TBranch where
+  setTitle = xform1 c_tbranch_settitle
+instance ITNamed TFile where
+  setTitle = xform1 c_tfile_settitle
+instance ITNamed TDirectoryFile where
+  setTitle = xform1 c_tdirectoryfile_settitle
+instance ITNamed TDirectory where
+  setTitle = xform1 c_tdirectory_settitle
+instance ITNamed TText where
+  setTitle = xform1 c_ttext_settitle
+instance ITNamed TLatex where
+  setTitle = xform1 c_tlatex_settitle
+instance ITNamed TAxis where
+  setTitle = xform1 c_taxis_settitle
+instance ITNamed TEfficiency where
+  setTitle = xform1 c_tefficiency_settitle
+instance ITNamed TTreeSQL where
+  setTitle = xform1 c_ttreesql_settitle
+instance ITNamed TNtupleD where
+  setTitle = xform1 c_tntupled_settitle
+instance ITNamed TNtuple where
+  setTitle = xform1 c_tntuple_settitle
+instance ITNamed TChain where
+  setTitle = xform1 c_tchain_settitle
+instance ITNamed TTree where
+  setTitle = xform1 c_ttree_settitle
+instance ITNamed TXTRU where
+  setTitle = xform1 c_txtru_settitle
+instance ITNamed TSPHE where
+  setTitle = xform1 c_tsphe_settitle
+instance ITNamed TPCON where
+  setTitle = xform1 c_tpcon_settitle
+instance ITNamed TTUBE where
+  setTitle = xform1 c_ttube_settitle
+instance ITNamed TBRIK where
+  setTitle = xform1 c_tbrik_settitle
+instance ITNamed TShape where
+  setTitle = xform1 c_tshape_settitle
+instance ITNamed TGraphQQ where
+  setTitle = xform1 c_tgraphqq_settitle
+instance ITNamed TGraphPolar where
+  setTitle = xform1 c_tgraphpolar_settitle
+instance ITNamed TGraphErrors where
+  setTitle = xform1 c_tgrapherrors_settitle
+instance ITNamed TGraphBentErrors where
+  setTitle = xform1 c_tgraphbenterrors_settitle
+instance ITNamed TCutG where
+  setTitle = xform1 c_tcutg_settitle
+instance ITNamed TGraphAsymmErrors where
+  setTitle = xform1 c_tgraphasymmerrors_settitle
+instance ITNamed TGraph where
+  setTitle = xform1 c_tgraph_settitle
+instance ITNamed TF1 where
+  setTitle = xform1 c_tf1_settitle
+instance ITNamed THStack where
+  setTitle = xform1 c_thstack_settitle
+instance ITNamed TAttParticle where
+  setTitle = xform1 c_tattparticle_settitle
+instance ITNamed TFormula where
+  setTitle = xform1 c_tformula_settitle
+
+instance ITObject TRint where
+  getName = xform0 c_trint_getname
+  draw = xform1 c_trint_draw
+  findObject = xform1 c_trint_findobject
+  saveAs = xform2 c_trint_saveas
+  write = xform3 c_trint_write
+instance ITObject TApplication where
+  getName = xform0 c_tapplication_getname
+  draw = xform1 c_tapplication_draw
+  findObject = xform1 c_tapplication_findobject
+  saveAs = xform2 c_tapplication_saveas
+  write = xform3 c_tapplication_write
+instance ITObject TSlider where
+  getName = xform0 c_tslider_getname
+  draw = xform1 c_tslider_draw
+  findObject = xform1 c_tslider_findobject
+  saveAs = xform2 c_tslider_saveas
+  write = xform3 c_tslider_write
+instance ITObject TEvePad where
+  getName = xform0 c_tevepad_getname
+  draw = xform1 c_tevepad_draw
+  findObject = xform1 c_tevepad_findobject
+  saveAs = xform2 c_tevepad_saveas
+  write = xform3 c_tevepad_write
+instance ITObject TInspectCanvas where
+  getName = xform0 c_tinspectcanvas_getname
+  draw = xform1 c_tinspectcanvas_draw
+  findObject = xform1 c_tinspectcanvas_findobject
+  saveAs = xform2 c_tinspectcanvas_saveas
+  write = xform3 c_tinspectcanvas_write
+instance ITObject TDialogCanvas where
+  getName = xform0 c_tdialogcanvas_getname
+  draw = xform1 c_tdialogcanvas_draw
+  findObject = xform1 c_tdialogcanvas_findobject
+  saveAs = xform2 c_tdialogcanvas_saveas
+  write = xform3 c_tdialogcanvas_write
+instance ITObject TCanvas where
+  getName = xform0 c_tcanvas_getname
+  draw = xform1 c_tcanvas_draw
+  findObject = xform1 c_tcanvas_findobject
+  saveAs = xform2 c_tcanvas_saveas
+  write = xform3 c_tcanvas_write
+instance ITObject TGroupButton where
+  getName = xform0 c_tgroupbutton_getname
+  draw = xform1 c_tgroupbutton_draw
+  findObject = xform1 c_tgroupbutton_findobject
+  saveAs = xform2 c_tgroupbutton_saveas
+  write = xform3 c_tgroupbutton_write
+instance ITObject TButton where
+  getName = xform0 c_tbutton_getname
+  draw = xform1 c_tbutton_draw
+  findObject = xform1 c_tbutton_findobject
+  saveAs = xform2 c_tbutton_saveas
+  write = xform3 c_tbutton_write
+instance ITObject TPad where
+  getName = xform0 c_tpad_getname
+  draw = xform1 c_tpad_draw
+  findObject = xform1 c_tpad_findobject
+  saveAs = xform2 c_tpad_saveas
+  write = xform3 c_tpad_write
+instance ITObject TVirtualPad where
+  getName = xform0 c_tvirtualpad_getname
+  draw = xform1 c_tvirtualpad_draw
+  findObject = xform1 c_tvirtualpad_findobject
+  saveAs = xform2 c_tvirtualpad_saveas
+  write = xform3 c_tvirtualpad_write
+instance ITObject TH3S where
+  getName = xform0 c_th3s_getname
+  draw = xform1 c_th3s_draw
+  findObject = xform1 c_th3s_findobject
+  saveAs = xform2 c_th3s_saveas
+  write = xform3 c_th3s_write
+instance ITObject TH3I where
+  getName = xform0 c_th3i_getname
+  draw = xform1 c_th3i_draw
+  findObject = xform1 c_th3i_findobject
+  saveAs = xform2 c_th3i_saveas
+  write = xform3 c_th3i_write
+instance ITObject TH3F where
+  getName = xform0 c_th3f_getname
+  draw = xform1 c_th3f_draw
+  findObject = xform1 c_th3f_findobject
+  saveAs = xform2 c_th3f_saveas
+  write = xform3 c_th3f_write
+instance ITObject TH3D where
+  getName = xform0 c_th3d_getname
+  draw = xform1 c_th3d_draw
+  findObject = xform1 c_th3d_findobject
+  saveAs = xform2 c_th3d_saveas
+  write = xform3 c_th3d_write
+instance ITObject TH3C where
+  getName = xform0 c_th3c_getname
+  draw = xform1 c_th3c_draw
+  findObject = xform1 c_th3c_findobject
+  saveAs = xform2 c_th3c_saveas
+  write = xform3 c_th3c_write
+instance ITObject TH2S where
+  getName = xform0 c_th2s_getname
+  draw = xform1 c_th2s_draw
+  findObject = xform1 c_th2s_findobject
+  saveAs = xform2 c_th2s_saveas
+  write = xform3 c_th2s_write
+instance ITObject TH2Poly where
+  getName = xform0 c_th2poly_getname
+  draw = xform1 c_th2poly_draw
+  findObject = xform1 c_th2poly_findobject
+  saveAs = xform2 c_th2poly_saveas
+  write = xform3 c_th2poly_write
+instance ITObject TH2I where
+  getName = xform0 c_th2i_getname
+  draw = xform1 c_th2i_draw
+  findObject = xform1 c_th2i_findobject
+  saveAs = xform2 c_th2i_saveas
+  write = xform3 c_th2i_write
+instance ITObject TH2F where
+  getName = xform0 c_th2f_getname
+  draw = xform1 c_th2f_draw
+  findObject = xform1 c_th2f_findobject
+  saveAs = xform2 c_th2f_saveas
+  write = xform3 c_th2f_write
+instance ITObject TH2D where
+  getName = xform0 c_th2d_getname
+  draw = xform1 c_th2d_draw
+  findObject = xform1 c_th2d_findobject
+  saveAs = xform2 c_th2d_saveas
+  write = xform3 c_th2d_write
+instance ITObject TH2C where
+  getName = xform0 c_th2c_getname
+  draw = xform1 c_th2c_draw
+  findObject = xform1 c_th2c_findobject
+  saveAs = xform2 c_th2c_saveas
+  write = xform3 c_th2c_write
+instance ITObject TH1S where
+  getName = xform0 c_th1s_getname
+  draw = xform1 c_th1s_draw
+  findObject = xform1 c_th1s_findobject
+  saveAs = xform2 c_th1s_saveas
+  write = xform3 c_th1s_write
+instance ITObject TH1I where
+  getName = xform0 c_th1i_getname
+  draw = xform1 c_th1i_draw
+  findObject = xform1 c_th1i_findobject
+  saveAs = xform2 c_th1i_saveas
+  write = xform3 c_th1i_write
+instance ITObject TH1F where
+  getName = xform0 c_th1f_getname
+  draw = xform1 c_th1f_draw
+  findObject = xform1 c_th1f_findobject
+  saveAs = xform2 c_th1f_saveas
+  write = xform3 c_th1f_write
+instance ITObject TH1D where
+  getName = xform0 c_th1d_getname
+  draw = xform1 c_th1d_draw
+  findObject = xform1 c_th1d_findobject
+  saveAs = xform2 c_th1d_saveas
+  write = xform3 c_th1d_write
+instance ITObject TH1C where
+  getName = xform0 c_th1c_getname
+  draw = xform1 c_th1c_draw
+  findObject = xform1 c_th1c_findobject
+  saveAs = xform2 c_th1c_saveas
+  write = xform3 c_th1c_write
+instance ITObject TH3 where
+  getName = xform0 c_th3_getname
+  draw = xform1 c_th3_draw
+  findObject = xform1 c_th3_findobject
+  saveAs = xform2 c_th3_saveas
+  write = xform3 c_th3_write
+instance ITObject TH2 where
+  getName = xform0 c_th2_getname
+  draw = xform1 c_th2_draw
+  findObject = xform1 c_th2_findobject
+  saveAs = xform2 c_th2_saveas
+  write = xform3 c_th2_write
+instance ITObject TH1 where
+  getName = xform0 c_th1_getname
+  draw = xform1 c_th1_draw
+  findObject = xform1 c_th1_findobject
+  saveAs = xform2 c_th1_saveas
+  write = xform3 c_th1_write
+instance ITObject TTreePlayer where
+  getName = xform0 c_ttreeplayer_getname
+  draw = xform1 c_ttreeplayer_draw
+  findObject = xform1 c_ttreeplayer_findobject
+  saveAs = xform2 c_ttreeplayer_saveas
+  write = xform3 c_ttreeplayer_write
+instance ITObject TVirtualTreePlayer where
+  getName = xform0 c_tvirtualtreeplayer_getname
+  draw = xform1 c_tvirtualtreeplayer_draw
+  findObject = xform1 c_tvirtualtreeplayer_findobject
+  saveAs = xform2 c_tvirtualtreeplayer_saveas
+  write = xform3 c_tvirtualtreeplayer_write
+instance ITObject TBranch where
+  getName = xform0 c_tbranch_getname
+  draw = xform1 c_tbranch_draw
+  findObject = xform1 c_tbranch_findobject
+  saveAs = xform2 c_tbranch_saveas
+  write = xform3 c_tbranch_write
+instance ITObject TFile where
+  getName = xform0 c_tfile_getname
+  draw = xform1 c_tfile_draw
+  findObject = xform1 c_tfile_findobject
+  saveAs = xform2 c_tfile_saveas
+  write = xform3 c_tfile_write
+instance ITObject TDirectoryFile where
+  getName = xform0 c_tdirectoryfile_getname
+  draw = xform1 c_tdirectoryfile_draw
+  findObject = xform1 c_tdirectoryfile_findobject
+  saveAs = xform2 c_tdirectoryfile_saveas
+  write = xform3 c_tdirectoryfile_write
+instance ITObject TDirectory where
+  getName = xform0 c_tdirectory_getname
+  draw = xform1 c_tdirectory_draw
+  findObject = xform1 c_tdirectory_findobject
+  saveAs = xform2 c_tdirectory_saveas
+  write = xform3 c_tdirectory_write
+instance ITObject TText where
+  getName = xform0 c_ttext_getname
+  draw = xform1 c_ttext_draw
+  findObject = xform1 c_ttext_findobject
+  saveAs = xform2 c_ttext_saveas
+  write = xform3 c_ttext_write
+instance ITObject TLatex where
+  getName = xform0 c_tlatex_getname
+  draw = xform1 c_tlatex_draw
+  findObject = xform1 c_tlatex_findobject
+  saveAs = xform2 c_tlatex_saveas
+  write = xform3 c_tlatex_write
+instance ITObject TAxis where
+  getName = xform0 c_taxis_getname
+  draw = xform1 c_taxis_draw
+  findObject = xform1 c_taxis_findobject
+  saveAs = xform2 c_taxis_saveas
+  write = xform3 c_taxis_write
+instance ITObject TEfficiency where
+  getName = xform0 c_tefficiency_getname
+  draw = xform1 c_tefficiency_draw
+  findObject = xform1 c_tefficiency_findobject
+  saveAs = xform2 c_tefficiency_saveas
+  write = xform3 c_tefficiency_write
+instance ITObject TCurlyArc where
+  getName = xform0 c_tcurlyarc_getname
+  draw = xform1 c_tcurlyarc_draw
+  findObject = xform1 c_tcurlyarc_findobject
+  saveAs = xform2 c_tcurlyarc_saveas
+  write = xform3 c_tcurlyarc_write
+instance ITObject TCurlyLine where
+  getName = xform0 c_tcurlyline_getname
+  draw = xform1 c_tcurlyline_draw
+  findObject = xform1 c_tcurlyline_findobject
+  saveAs = xform2 c_tcurlyline_saveas
+  write = xform3 c_tcurlyline_write
+instance ITObject TPolyLine where
+  getName = xform0 c_tpolyline_getname
+  draw = xform1 c_tpolyline_draw
+  findObject = xform1 c_tpolyline_findobject
+  saveAs = xform2 c_tpolyline_saveas
+  write = xform3 c_tpolyline_write
+instance ITObject TTreeSQL where
+  getName = xform0 c_ttreesql_getname
+  draw = xform1 c_ttreesql_draw
+  findObject = xform1 c_ttreesql_findobject
+  saveAs = xform2 c_ttreesql_saveas
+  write = xform3 c_ttreesql_write
+instance ITObject TNtupleD where
+  getName = xform0 c_tntupled_getname
+  draw = xform1 c_tntupled_draw
+  findObject = xform1 c_tntupled_findobject
+  saveAs = xform2 c_tntupled_saveas
+  write = xform3 c_tntupled_write
+instance ITObject TNtuple where
+  getName = xform0 c_tntuple_getname
+  draw = xform1 c_tntuple_draw
+  findObject = xform1 c_tntuple_findobject
+  saveAs = xform2 c_tntuple_saveas
+  write = xform3 c_tntuple_write
+instance ITObject TChain where
+  getName = xform0 c_tchain_getname
+  draw = xform1 c_tchain_draw
+  findObject = xform1 c_tchain_findobject
+  saveAs = xform2 c_tchain_saveas
+  write = xform3 c_tchain_write
+instance ITObject TTree where
+  getName = xform0 c_ttree_getname
+  draw = xform1 c_ttree_draw
+  findObject = xform1 c_ttree_findobject
+  saveAs = xform2 c_ttree_saveas
+  write = xform3 c_ttree_write
+instance ITObject TSliderBox where
+  getName = xform0 c_tsliderbox_getname
+  draw = xform1 c_tsliderbox_draw
+  findObject = xform1 c_tsliderbox_findobject
+  saveAs = xform2 c_tsliderbox_saveas
+  write = xform3 c_tsliderbox_write
+instance ITObject TFrame where
+  getName = xform0 c_tframe_getname
+  draw = xform1 c_tframe_draw
+  findObject = xform1 c_tframe_findobject
+  saveAs = xform2 c_tframe_saveas
+  write = xform3 c_tframe_write
+instance ITObject TWbox where
+  getName = xform0 c_twbox_getname
+  draw = xform1 c_twbox_draw
+  findObject = xform1 c_twbox_findobject
+  saveAs = xform2 c_twbox_saveas
+  write = xform3 c_twbox_write
+instance ITObject TPaveClass where
+  getName = xform0 c_tpaveclass_getname
+  draw = xform1 c_tpaveclass_draw
+  findObject = xform1 c_tpaveclass_findobject
+  saveAs = xform2 c_tpaveclass_saveas
+  write = xform3 c_tpaveclass_write
+instance ITObject TPaveLabel where
+  getName = xform0 c_tpavelabel_getname
+  draw = xform1 c_tpavelabel_draw
+  findObject = xform1 c_tpavelabel_findobject
+  saveAs = xform2 c_tpavelabel_saveas
+  write = xform3 c_tpavelabel_write
+instance ITObject TLegend where
+  getName = xform0 c_tlegend_getname
+  draw = xform1 c_tlegend_draw
+  findObject = xform1 c_tlegend_findobject
+  saveAs = xform2 c_tlegend_saveas
+  write = xform3 c_tlegend_write
+instance ITObject TPavesText where
+  getName = xform0 c_tpavestext_getname
+  draw = xform1 c_tpavestext_draw
+  findObject = xform1 c_tpavestext_findobject
+  saveAs = xform2 c_tpavestext_saveas
+  write = xform3 c_tpavestext_write
+instance ITObject TPaveStats where
+  getName = xform0 c_tpavestats_getname
+  draw = xform1 c_tpavestats_draw
+  findObject = xform1 c_tpavestats_findobject
+  saveAs = xform2 c_tpavestats_saveas
+  write = xform3 c_tpavestats_write
+instance ITObject TDiamond where
+  getName = xform0 c_tdiamond_getname
+  draw = xform1 c_tdiamond_draw
+  findObject = xform1 c_tdiamond_findobject
+  saveAs = xform2 c_tdiamond_saveas
+  write = xform3 c_tdiamond_write
+instance ITObject TPaveText where
+  getName = xform0 c_tpavetext_getname
+  draw = xform1 c_tpavetext_draw
+  findObject = xform1 c_tpavetext_findobject
+  saveAs = xform2 c_tpavetext_saveas
+  write = xform3 c_tpavetext_write
+instance ITObject TPave where
+  getName = xform0 c_tpave_getname
+  draw = xform1 c_tpave_draw
+  findObject = xform1 c_tpave_findobject
+  saveAs = xform2 c_tpave_saveas
+  write = xform3 c_tpave_write
+instance ITObject TBox where
+  getName = xform0 c_tbox_getname
+  draw = xform1 c_tbox_draw
+  findObject = xform1 c_tbox_findobject
+  saveAs = xform2 c_tbox_saveas
+  write = xform3 c_tbox_write
+instance ITObject TXTRU where
+  getName = xform0 c_txtru_getname
+  draw = xform1 c_txtru_draw
+  findObject = xform1 c_txtru_findobject
+  saveAs = xform2 c_txtru_saveas
+  write = xform3 c_txtru_write
+instance ITObject TSPHE where
+  getName = xform0 c_tsphe_getname
+  draw = xform1 c_tsphe_draw
+  findObject = xform1 c_tsphe_findobject
+  saveAs = xform2 c_tsphe_saveas
+  write = xform3 c_tsphe_write
+instance ITObject TPCON where
+  getName = xform0 c_tpcon_getname
+  draw = xform1 c_tpcon_draw
+  findObject = xform1 c_tpcon_findobject
+  saveAs = xform2 c_tpcon_saveas
+  write = xform3 c_tpcon_write
+instance ITObject TTUBE where
+  getName = xform0 c_ttube_getname
+  draw = xform1 c_ttube_draw
+  findObject = xform1 c_ttube_findobject
+  saveAs = xform2 c_ttube_saveas
+  write = xform3 c_ttube_write
+instance ITObject TBRIK where
+  getName = xform0 c_tbrik_getname
+  draw = xform1 c_tbrik_draw
+  findObject = xform1 c_tbrik_findobject
+  saveAs = xform2 c_tbrik_saveas
+  write = xform3 c_tbrik_write
+instance ITObject TShape where
+  getName = xform0 c_tshape_getname
+  draw = xform1 c_tshape_draw
+  findObject = xform1 c_tshape_findobject
+  saveAs = xform2 c_tshape_saveas
+  write = xform3 c_tshape_write
+instance ITObject TGaxis where
+  getName = xform0 c_tgaxis_getname
+  draw = xform1 c_tgaxis_draw
+  findObject = xform1 c_tgaxis_findobject
+  saveAs = xform2 c_tgaxis_saveas
+  write = xform3 c_tgaxis_write
+instance ITObject TArrow where
+  getName = xform0 c_tarrow_getname
+  draw = xform1 c_tarrow_draw
+  findObject = xform1 c_tarrow_findobject
+  saveAs = xform2 c_tarrow_saveas
+  write = xform3 c_tarrow_write
+instance ITObject TLine where
+  getName = xform0 c_tline_getname
+  draw = xform1 c_tline_draw
+  findObject = xform1 c_tline_findobject
+  saveAs = xform2 c_tline_saveas
+  write = xform3 c_tline_write
+instance ITObject TCrown where
+  getName = xform0 c_tcrown_getname
+  draw = xform1 c_tcrown_draw
+  findObject = xform1 c_tcrown_findobject
+  saveAs = xform2 c_tcrown_saveas
+  write = xform3 c_tcrown_write
+instance ITObject TArc where
+  getName = xform0 c_tarc_getname
+  draw = xform1 c_tarc_draw
+  findObject = xform1 c_tarc_findobject
+  saveAs = xform2 c_tarc_saveas
+  write = xform3 c_tarc_write
+instance ITObject TEllipse where
+  getName = xform0 c_tellipse_getname
+  draw = xform1 c_tellipse_draw
+  findObject = xform1 c_tellipse_findobject
+  saveAs = xform2 c_tellipse_saveas
+  write = xform3 c_tellipse_write
+instance ITObject TGraphQQ where
+  getName = xform0 c_tgraphqq_getname
+  draw = xform1 c_tgraphqq_draw
+  findObject = xform1 c_tgraphqq_findobject
+  saveAs = xform2 c_tgraphqq_saveas
+  write = xform3 c_tgraphqq_write
+instance ITObject TGraphPolar where
+  getName = xform0 c_tgraphpolar_getname
+  draw = xform1 c_tgraphpolar_draw
+  findObject = xform1 c_tgraphpolar_findobject
+  saveAs = xform2 c_tgraphpolar_saveas
+  write = xform3 c_tgraphpolar_write
+instance ITObject TGraphErrors where
+  getName = xform0 c_tgrapherrors_getname
+  draw = xform1 c_tgrapherrors_draw
+  findObject = xform1 c_tgrapherrors_findobject
+  saveAs = xform2 c_tgrapherrors_saveas
+  write = xform3 c_tgrapherrors_write
+instance ITObject TGraphBentErrors where
+  getName = xform0 c_tgraphbenterrors_getname
+  draw = xform1 c_tgraphbenterrors_draw
+  findObject = xform1 c_tgraphbenterrors_findobject
+  saveAs = xform2 c_tgraphbenterrors_saveas
+  write = xform3 c_tgraphbenterrors_write
+instance ITObject TCutG where
+  getName = xform0 c_tcutg_getname
+  draw = xform1 c_tcutg_draw
+  findObject = xform1 c_tcutg_findobject
+  saveAs = xform2 c_tcutg_saveas
+  write = xform3 c_tcutg_write
+instance ITObject TGraphAsymmErrors where
+  getName = xform0 c_tgraphasymmerrors_getname
+  draw = xform1 c_tgraphasymmerrors_draw
+  findObject = xform1 c_tgraphasymmerrors_findobject
+  saveAs = xform2 c_tgraphasymmerrors_saveas
+  write = xform3 c_tgraphasymmerrors_write
+instance ITObject TGraph where
+  getName = xform0 c_tgraph_getname
+  draw = xform1 c_tgraph_draw
+  findObject = xform1 c_tgraph_findobject
+  saveAs = xform2 c_tgraph_saveas
+  write = xform3 c_tgraph_write
+instance ITObject TF1 where
+  getName = xform0 c_tf1_getname
+  draw = xform1 c_tf1_draw
+  findObject = xform1 c_tf1_findobject
+  saveAs = xform2 c_tf1_saveas
+  write = xform3 c_tf1_write
+instance ITObject THStack where
+  getName = xform0 c_thstack_getname
+  draw = xform1 c_thstack_draw
+  findObject = xform1 c_thstack_findobject
+  saveAs = xform2 c_thstack_saveas
+  write = xform3 c_thstack_write
+instance ITObject TAttParticle where
+  getName = xform0 c_tattparticle_getname
+  draw = xform1 c_tattparticle_draw
+  findObject = xform1 c_tattparticle_findobject
+  saveAs = xform2 c_tattparticle_saveas
+  write = xform3 c_tattparticle_write
+instance ITObject TFormula where
+  getName = xform0 c_tformula_getname
+  draw = xform1 c_tformula_draw
+  findObject = xform1 c_tformula_findobject
+  saveAs = xform2 c_tformula_saveas
+  write = xform3 c_tformula_write
+instance ITObject TNamed where
+  getName = xform0 c_tnamed_getname
+  draw = xform1 c_tnamed_draw
+  findObject = xform1 c_tnamed_findobject
+  saveAs = xform2 c_tnamed_saveas
+  write = xform3 c_tnamed_write
+
+instance ITPad TSlider where
+instance ITPad TEvePad where
+instance ITPad TInspectCanvas where
+instance ITPad TDialogCanvas where
+instance ITPad TCanvas where
+instance ITPad TGroupButton where
+instance ITPad TButton where
+
+instance ITPave TPaveClass where
+instance ITPave TPaveLabel where
+instance ITPave TLegend where
+instance ITPave TPavesText where
+instance ITPave TPaveStats where
+instance ITPave TDiamond where
+instance ITPave TPaveText where
+
+instance ITPaveLabel TPaveClass where
+
+instance ITPaveText TPavesText where
+instance ITPaveText TPaveStats where
+instance ITPaveText TDiamond where
+
+instance ITPolyLine TCurlyArc where
+instance ITPolyLine TCurlyLine where
+
+instance ITQObject TRint where
+instance ITQObject TApplication where
+instance ITQObject TSlider where
+instance ITQObject TEvePad where
+instance ITQObject TInspectCanvas where
+instance ITQObject TDialogCanvas where
+instance ITQObject TCanvas where
+instance ITQObject TGroupButton where
+instance ITQObject TButton where
+instance ITQObject TPad where
+instance ITQObject TVirtualPad where
+
+instance ITShape TXTRU where
+instance ITShape TSPHE where
+instance ITShape TPCON where
+instance ITShape TTUBE where
+instance ITShape TBRIK where
+
+instance ITText TLatex where
+
+instance ITTree TTreeSQL where
+instance ITTree TNtupleD where
+instance ITTree TNtuple where
+instance ITTree TChain where
+
+instance ITVirtualPad TSlider where
+  getFrame = xform0 c_tslider_getframe
+  range = xform4 c_tslider_range
+instance ITVirtualPad TEvePad where
+  getFrame = xform0 c_tevepad_getframe
+  range = xform4 c_tevepad_range
+instance ITVirtualPad TInspectCanvas where
+  getFrame = xform0 c_tinspectcanvas_getframe
+  range = xform4 c_tinspectcanvas_range
+instance ITVirtualPad TDialogCanvas where
+  getFrame = xform0 c_tdialogcanvas_getframe
+  range = xform4 c_tdialogcanvas_range
+instance ITVirtualPad TCanvas where
+  getFrame = xform0 c_tcanvas_getframe
+  range = xform4 c_tcanvas_range
+instance ITVirtualPad TGroupButton where
+  getFrame = xform0 c_tgroupbutton_getframe
+  range = xform4 c_tgroupbutton_range
+instance ITVirtualPad TButton where
+  getFrame = xform0 c_tbutton_getframe
+  range = xform4 c_tbutton_range
+instance ITVirtualPad TPad where
+  getFrame = xform0 c_tpad_getframe
+  range = xform4 c_tpad_range
+
+instance ITVirtualTreePlayer TTreePlayer where
+
+instance ITWbox TSliderBox where
+  setBorderMode = xform1 c_tsliderbox_setbordermode
+instance ITWbox TFrame where
+  setBorderMode = xform1 c_tframe_setbordermode
+
+
+
+newTObject :: IO TObject
+newTObject = xformnull c_tobject_newtobject
+
+newTNamed :: String -> String -> IO TNamed
+newTNamed = xform1 c_tnamed_newtnamed
+
+newTFormula :: String -> String -> IO TFormula
+newTFormula = xform1 c_tformula_newtformula
+
+
+
+newTAttAxis :: IO TAttAxis
+newTAttAxis = xformnull c_tattaxis_newtattaxis
+
+
+
+newTAttCanvas :: IO TAttCanvas
+newTAttCanvas = xformnull c_tattcanvas_newtattcanvas
+
+newTAttFill :: Int -> Int -> IO TAttFill
+newTAttFill = xform1 c_tattfill_newtattfill
+
+
+
+newTAttLine :: Int -> Int -> Int -> IO TAttLine
+newTAttLine = xform2 c_tattline_newtattline
+
+newTAttMarker :: Int -> Int -> Int -> IO TAttMarker
+newTAttMarker = xform2 c_tattmarker_newtattmarker
+
+newTAttPad :: IO TAttPad
+newTAttPad = xformnull c_tattpad_newtattpad
+
+
+
+newTAttText :: Int -> Double -> Int -> Int -> Double -> IO TAttText
+newTAttText = xform4 c_tatttext_newtatttext
+
+newTHStack :: String -> String -> IO THStack
+newTHStack = xform1 c_thstack_newthstack
+
+newTF1 :: String -> String -> Double -> Double -> IO TF1
+newTF1 = xform3 c_tf1_newtf1
+
+newTGraph :: Int -> [Double] -> [Double] -> IO TGraph
+newTGraph = xform2 c_tgraph_newtgraph
+
+newTGraphAsymmErrors :: Int -> [Double] -> [Double] -> [Double] -> [Double] -> [Double] -> [Double] -> IO TGraphAsymmErrors
+newTGraphAsymmErrors = xform6 c_tgraphasymmerrors_newtgraphasymmerrors
+
+newTCutG :: String -> Int -> [Double] -> [Double] -> IO TCutG
+newTCutG = xform3 c_tcutg_newtcutg
+
+newTGraphBentErrors :: Int -> [Double] -> [Double] -> [Double] -> [Double] -> [Double] -> [Double] -> [Double] -> [Double] -> [Double] -> [Double] -> IO TGraphBentErrors
+newTGraphBentErrors = xform10 c_tgraphbenterrors_newtgraphbenterrors
+
+newTGraphErrors :: Int -> [Double] -> [Double] -> [Double] -> [Double] -> IO TGraphErrors
+newTGraphErrors = xform4 c_tgrapherrors_newtgrapherrors
+
+newTGraphPolar :: Int -> [Double] -> [Double] -> [Double] -> [Double] -> IO TGraphPolar
+newTGraphPolar = xform4 c_tgraphpolar_newtgraphpolar
+
+newTGraphQQ :: Int -> [Double] -> Int -> [Double] -> IO TGraphQQ
+newTGraphQQ = xform3 c_tgraphqq_newtgraphqq
+
+newTEllipse :: Double -> Double -> Double -> Double -> Double -> Double -> Double -> IO TEllipse
+newTEllipse = xform6 c_tellipse_newtellipse
+
+newTArc :: Double -> Double -> Double -> Double -> Double -> IO TArc
+newTArc = xform4 c_tarc_newtarc
+
+newTCrown :: Double -> Double -> Double -> Double -> Double -> Double -> IO TCrown
+newTCrown = xform5 c_tcrown_newtcrown
+
+newTLine :: Double -> Double -> Double -> Double -> IO TLine
+newTLine = xform3 c_tline_newtline
+
+newTArrow :: Double -> Double -> Double -> Double -> Double -> String -> IO TArrow
+newTArrow = xform5 c_tarrow_newtarrow
+
+newTGaxis :: Double -> Double -> Double -> Double -> Double -> Double -> Int -> String -> Double -> IO TGaxis
+newTGaxis = xform8 c_tgaxis_newtgaxis
+
+newTShape :: String -> String -> String -> IO TShape
+newTShape = xform2 c_tshape_newtshape
+
+newTBRIK :: String -> String -> String -> Double -> Double -> Double -> IO TBRIK
+newTBRIK = xform5 c_tbrik_newtbrik
+
+newTTUBE :: String -> String -> String -> Double -> Double -> Double -> Double -> IO TTUBE
+newTTUBE = xform6 c_ttube_newttube
+
+newTPCON :: String -> String -> String -> Double -> Double -> Int -> IO TPCON
+newTPCON = xform5 c_tpcon_newtpcon
+
+newTSPHE :: String -> String -> String -> Double -> Double -> Double -> Double -> Double -> Double -> IO TSPHE
+newTSPHE = xform8 c_tsphe_newtsphe
+
+newTXTRU :: String -> String -> String -> Int -> Int -> IO TXTRU
+newTXTRU = xform4 c_txtru_newtxtru
+
+newTBox :: Double -> Double -> Double -> Double -> IO TBox
+newTBox = xform3 c_tbox_newtbox
+
+newTPave :: Double -> Double -> Double -> Double -> Int -> String -> IO TPave
+newTPave = xform5 c_tpave_newtpave
+
+newTPaveText :: Double -> Double -> Double -> Double -> String -> IO TPaveText
+newTPaveText = xform4 c_tpavetext_newtpavetext
+
+newTDiamond :: Double -> Double -> Double -> Double -> IO TDiamond
+newTDiamond = xform3 c_tdiamond_newtdiamond
+
+newTPaveStats :: Double -> Double -> Double -> Double -> String -> IO TPaveStats
+newTPaveStats = xform4 c_tpavestats_newtpavestats
+
+newTPavesText :: Double -> Double -> Double -> Double -> Int -> String -> IO TPavesText
+newTPavesText = xform5 c_tpavestext_newtpavestext
+
+newTLegend :: Double -> Double -> Double -> Double -> String -> String -> IO TLegend
+newTLegend = xform5 c_tlegend_newtlegend
+
+newTPaveLabel :: Double -> Double -> Double -> Double -> String -> String -> IO TPaveLabel
+newTPaveLabel = xform5 c_tpavelabel_newtpavelabel
+
+
+
+newTWbox :: Double -> Double -> Double -> Double -> Int -> Int -> Int -> IO TWbox
+newTWbox = xform6 c_twbox_newtwbox
+
+newTFrame :: Double -> Double -> Double -> Double -> IO TFrame
+newTFrame = xform3 c_tframe_newtframe
+
+newTSliderBox :: Double -> Double -> Double -> Double -> Int -> Int -> Int -> IO TSliderBox
+newTSliderBox = xform6 c_tsliderbox_newtsliderbox
+
+newTTree :: String -> String -> Int -> IO TTree
+newTTree = xform2 c_ttree_newttree
+
+newTChain :: String -> String -> IO TChain
+newTChain = xform1 c_tchain_newtchain
+
+newTNtuple :: String -> String -> String -> Int -> IO TNtuple
+newTNtuple = xform3 c_tntuple_newtntuple
+
+newTNtupleD :: String -> String -> String -> Int -> IO TNtupleD
+newTNtupleD = xform3 c_tntupled_newtntupled
+
+
+
+newTPolyLine :: Int -> [Double] -> [Double] -> String -> IO TPolyLine
+newTPolyLine = xform3 c_tpolyline_newtpolyline
+
+newTCurlyLine :: Double -> Double -> Double -> Double -> Double -> Double -> IO TCurlyLine
+newTCurlyLine = xform5 c_tcurlyline_newtcurlyline
+
+newTCurlyArc :: Double -> Double -> Double -> Double -> Double -> Double -> Double -> IO TCurlyArc
+newTCurlyArc = xform6 c_tcurlyarc_newtcurlyarc
+
+
+
+
+
+newTLatex :: Double -> Double -> String -> IO TLatex
+newTLatex = xform2 c_tlatex_newtlatex
+
+
+
+
+
+
+
+newTFile :: String -> String -> String -> Int -> IO TFile
+newTFile = xform3 c_tfile_newtfile
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+newTH1F :: String -> String -> Int -> Double -> Double -> IO TH1F
+newTH1F = xform4 c_th1f_newth1f
+
+
+
+
+
+
+
+
+
+newTH2F :: String -> String -> Int -> Double -> Double -> Int -> Double -> Double -> IO TH2F
+newTH2F = xform7 c_th2f_newth2f
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+newTCanvas :: String -> String -> Int -> Int -> IO TCanvas
+newTCanvas = xform3 c_tcanvas_newtcanvas
+
+
+
+
+
+
+
+
+
+newTApplication :: String -> [Int] -> [String] -> IO TApplication
+newTApplication = xform2 c_tapplication_newtapplication
+
+newTRint :: String -> [Int] -> [String] -> IO TRint
+newTRint = xform2 c_trint_newtrint
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+tLatexDrawLatex :: TLatex -> Double -> Double -> String -> IO TLatex
+tLatexDrawLatex = xform3 c_tlatex_tlatexdrawlatex
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+tH1GetAsymmetry :: TH1 -> TH1 -> Double -> Double -> IO TH1
+tH1GetAsymmetry = xform3 c_th1_th1getasymmetry
+tH1GetBufferLength :: TH1 -> IO Int
+tH1GetBufferLength = xform0 c_th1_th1getbufferlength
+tH1GetBufferSize :: TH1 -> IO Int
+tH1GetBufferSize = xform0 c_th1_th1getbuffersize
+tH1GetDirectory :: TH1 -> IO TDirectory
+tH1GetDirectory = xform0 c_th1_th1getdirectory
+tH1GetXaxis :: TH1 -> IO TAxis
+tH1GetXaxis = xform0 c_th1_th1getxaxis
+tH1GetYaxis :: TH1 -> IO TAxis
+tH1GetYaxis = xform0 c_th1_th1getyaxis
+tH1GetZaxis :: TH1 -> IO TAxis
+tH1GetZaxis = xform0 c_th1_th1getzaxis
 
 
 
diff --git a/src/HROOT/Function.hsc b/src/HROOT/Function.hsc
--- a/src/HROOT/Function.hsc
+++ b/src/HROOT/Function.hsc
@@ -9,1841 +9,3859 @@
 
 #include "HROOT.h"
 
-foreign import ccall "HROOT.h TObject_newTObject" c_tobject_newtobject 
-  :: IO (Ptr RawTObject)
-foreign import ccall "HROOT.h TObject_GetName" c_tobject_getname 
-  :: (Ptr RawTObject) -> IO CString
-foreign import ccall "HROOT.h TObject_Draw" c_tobject_draw 
-  :: (Ptr RawTObject) -> CString -> IO ()
-foreign import ccall "HROOT.h TObject_SaveAs" c_tobject_saveas 
-  :: (Ptr RawTObject) -> CString -> CString -> IO ()
-foreign import ccall "HROOT.h TObject_Write" c_tobject_write 
-  :: (Ptr RawTObject) -> CString -> CInt -> CInt -> IO CInt
-
-
-foreign import ccall "HROOT.h TNamed_GetName" c_tnamed_getname 
-  :: (Ptr RawTNamed) -> IO CString
-foreign import ccall "HROOT.h TNamed_Draw" c_tnamed_draw 
-  :: (Ptr RawTNamed) -> CString -> IO ()
-foreign import ccall "HROOT.h TNamed_SaveAs" c_tnamed_saveas 
-  :: (Ptr RawTNamed) -> CString -> CString -> IO ()
-foreign import ccall "HROOT.h TNamed_Write" c_tnamed_write 
-  :: (Ptr RawTNamed) -> CString -> CInt -> CInt -> IO CInt
-foreign import ccall "HROOT.h TNamed_newTNamed" c_tnamed_newtnamed 
-  :: CString -> CString -> IO (Ptr RawTNamed)
-foreign import ccall "HROOT.h TNamed_SetTitle" c_tnamed_settitle 
-  :: (Ptr RawTNamed) -> CString -> IO ()
-
-
-foreign import ccall "HROOT.h TFormula_newTFormula" c_tformula_newtformula 
-  :: CString -> CString -> IO (Ptr RawTFormula)
-foreign import ccall "HROOT.h TFormula_GetParameter" c_tformula_getparameter 
-  :: (Ptr RawTFormula) -> CInt -> IO CDouble
-foreign import ccall "HROOT.h TFormula_SetParameter" c_tformula_setparameter 
-  :: (Ptr RawTFormula) -> CInt -> CDouble -> IO ()
-
-
-
-
-foreign import ccall "HROOT.h TAttAxis_newTAttAxis" c_tattaxis_newtattaxis 
-  :: IO (Ptr RawTAttAxis)
-foreign import ccall "HROOT.h TAttAxis_SetLabelColor" c_tattaxis_setlabelcolor 
-  :: (Ptr RawTAttAxis) -> CInt -> IO ()
-foreign import ccall "HROOT.h TAttAxis_SetLabelSize" c_tattaxis_setlabelsize 
-  :: (Ptr RawTAttAxis) -> CDouble -> IO ()
-foreign import ccall "HROOT.h TAttAxis_SetTickLength" c_tattaxis_setticklength 
-  :: (Ptr RawTAttAxis) -> CDouble -> IO ()
-foreign import ccall "HROOT.h TAttAxis_SetTitleOffset" c_tattaxis_settitleoffset 
-  :: (Ptr RawTAttAxis) -> CDouble -> IO ()
-foreign import ccall "HROOT.h TAttAxis_SetNdivisions" c_tattaxis_setndivisions 
-  :: (Ptr RawTAttAxis) -> CInt -> CInt -> IO ()
-
-
-
-
-foreign import ccall "HROOT.h TAttCanvas_newTAttCanvas" c_tattcanvas_newtattcanvas 
-  :: IO (Ptr RawTAttCanvas)
-
-
-foreign import ccall "HROOT.h TAttFill_newTAttFill" c_tattfill_newtattfill 
-  :: CInt -> CInt -> IO (Ptr RawTAttFill)
-foreign import ccall "HROOT.h TAttFill_SetFillColor" c_tattfill_setfillcolor 
-  :: (Ptr RawTAttFill) -> CInt -> IO ()
-foreign import ccall "HROOT.h TAttFill_SetFillStyle" c_tattfill_setfillstyle 
-  :: (Ptr RawTAttFill) -> CInt -> IO ()
-
-
-
-
-foreign import ccall "HROOT.h TAttLine_newTAttLine" c_tattline_newtattline 
-  :: CInt -> CInt -> CInt -> IO (Ptr RawTAttLine)
-foreign import ccall "HROOT.h TAttLine_SetLineColor" c_tattline_setlinecolor 
-  :: (Ptr RawTAttLine) -> CInt -> IO ()
-
-
-foreign import ccall "HROOT.h TAttMarker_newTAttMarker" c_tattmarker_newtattmarker 
-  :: CInt -> CInt -> CInt -> IO (Ptr RawTAttMarker)
-
-
-foreign import ccall "HROOT.h TAttPad_newTAttPad" c_tattpad_newtattpad 
-  :: IO (Ptr RawTAttPad)
-
-
-foreign import ccall "HROOT.h TAttParticle_SetTitle" c_tattparticle_settitle 
-  :: (Ptr RawTAttParticle) -> CString -> IO ()
-foreign import ccall "HROOT.h TAttParticle_GetName" c_tattparticle_getname 
-  :: (Ptr RawTAttParticle) -> IO CString
-foreign import ccall "HROOT.h TAttParticle_Draw" c_tattparticle_draw 
-  :: (Ptr RawTAttParticle) -> CString -> IO ()
-foreign import ccall "HROOT.h TAttParticle_SaveAs" c_tattparticle_saveas 
-  :: (Ptr RawTAttParticle) -> CString -> CString -> IO ()
-foreign import ccall "HROOT.h TAttParticle_Write" c_tattparticle_write 
-  :: (Ptr RawTAttParticle) -> CString -> CInt -> CInt -> IO CInt
-
-foreign import ccall "HROOT.h TAttText_newTAttText" c_tatttext_newtatttext 
-  :: CInt -> CDouble -> CInt -> CInt -> CDouble -> IO (Ptr RawTAttText)
-foreign import ccall "HROOT.h TAttText_SetTextColor" c_tatttext_settextcolor 
-  :: (Ptr RawTAttText) -> CInt -> IO ()
-foreign import ccall "HROOT.h TAttText_SetTextAlign" c_tatttext_settextalign 
-  :: (Ptr RawTAttText) -> CInt -> IO ()
-foreign import ccall "HROOT.h TAttText_SetTextSize" c_tatttext_settextsize 
-  :: (Ptr RawTAttText) -> CDouble -> IO ()
-
-
-foreign import ccall "HROOT.h THStack_SetTitle" c_thstack_settitle 
-  :: (Ptr RawTHStack) -> CString -> IO ()
-foreign import ccall "HROOT.h THStack_GetName" c_thstack_getname 
-  :: (Ptr RawTHStack) -> IO CString
-foreign import ccall "HROOT.h THStack_Draw" c_thstack_draw 
-  :: (Ptr RawTHStack) -> CString -> IO ()
-foreign import ccall "HROOT.h THStack_SaveAs" c_thstack_saveas 
-  :: (Ptr RawTHStack) -> CString -> CString -> IO ()
-foreign import ccall "HROOT.h THStack_Write" c_thstack_write 
-  :: (Ptr RawTHStack) -> CString -> CInt -> CInt -> IO CInt
-foreign import ccall "HROOT.h THStack_newTHStack" c_thstack_newthstack 
-  :: CString -> CString -> IO (Ptr RawTHStack)
-
-
-foreign import ccall "HROOT.h TF1_GetParameter" c_tf1_getparameter 
-  :: (Ptr RawTF1) -> CInt -> IO CDouble
-foreign import ccall "HROOT.h TF1_SetParameter" c_tf1_setparameter 
-  :: (Ptr RawTF1) -> CInt -> CDouble -> IO ()
-foreign import ccall "HROOT.h TF1_SetLineColor" c_tf1_setlinecolor 
-  :: (Ptr RawTF1) -> CInt -> IO ()
-foreign import ccall "HROOT.h TF1_SetFillColor" c_tf1_setfillcolor 
-  :: (Ptr RawTF1) -> CInt -> IO ()
-foreign import ccall "HROOT.h TF1_SetFillStyle" c_tf1_setfillstyle 
-  :: (Ptr RawTF1) -> CInt -> IO ()
-foreign import ccall "HROOT.h TF1_newTF1" c_tf1_newtf1 
-  :: CString -> CString -> CDouble -> CDouble -> IO (Ptr RawTF1)
-
-
-foreign import ccall "HROOT.h TGraph_SetTitle" c_tgraph_settitle 
-  :: (Ptr RawTGraph) -> CString -> IO ()
-foreign import ccall "HROOT.h TGraph_SetLineColor" c_tgraph_setlinecolor 
-  :: (Ptr RawTGraph) -> CInt -> IO ()
-foreign import ccall "HROOT.h TGraph_SetFillColor" c_tgraph_setfillcolor 
-  :: (Ptr RawTGraph) -> CInt -> IO ()
-foreign import ccall "HROOT.h TGraph_SetFillStyle" c_tgraph_setfillstyle 
-  :: (Ptr RawTGraph) -> CInt -> IO ()
-foreign import ccall "HROOT.h TGraph_GetName" c_tgraph_getname 
-  :: (Ptr RawTGraph) -> IO CString
-foreign import ccall "HROOT.h TGraph_Draw" c_tgraph_draw 
-  :: (Ptr RawTGraph) -> CString -> IO ()
-foreign import ccall "HROOT.h TGraph_SaveAs" c_tgraph_saveas 
-  :: (Ptr RawTGraph) -> CString -> CString -> IO ()
-foreign import ccall "HROOT.h TGraph_Write" c_tgraph_write 
-  :: (Ptr RawTGraph) -> CString -> CInt -> CInt -> IO CInt
-foreign import ccall "HROOT.h TGraph_newTGraph" c_tgraph_newtgraph 
-  :: CInt -> (Ptr CDouble) -> (Ptr CDouble) -> IO (Ptr RawTGraph)
-
-
-foreign import ccall "HROOT.h TGraphAsymmErrors_SetTitle" c_tgraphasymmerrors_settitle 
-  :: (Ptr RawTGraphAsymmErrors) -> CString -> IO ()
-foreign import ccall "HROOT.h TGraphAsymmErrors_SetLineColor" c_tgraphasymmerrors_setlinecolor 
-  :: (Ptr RawTGraphAsymmErrors) -> CInt -> IO ()
-foreign import ccall "HROOT.h TGraphAsymmErrors_SetFillColor" c_tgraphasymmerrors_setfillcolor 
-  :: (Ptr RawTGraphAsymmErrors) -> CInt -> IO ()
-foreign import ccall "HROOT.h TGraphAsymmErrors_SetFillStyle" c_tgraphasymmerrors_setfillstyle 
-  :: (Ptr RawTGraphAsymmErrors) -> CInt -> IO ()
-foreign import ccall "HROOT.h TGraphAsymmErrors_GetName" c_tgraphasymmerrors_getname 
-  :: (Ptr RawTGraphAsymmErrors) -> IO CString
-foreign import ccall "HROOT.h TGraphAsymmErrors_Draw" c_tgraphasymmerrors_draw 
-  :: (Ptr RawTGraphAsymmErrors) -> CString -> IO ()
-foreign import ccall "HROOT.h TGraphAsymmErrors_SaveAs" c_tgraphasymmerrors_saveas 
-  :: (Ptr RawTGraphAsymmErrors) -> CString -> CString -> IO ()
-foreign import ccall "HROOT.h TGraphAsymmErrors_Write" c_tgraphasymmerrors_write 
-  :: (Ptr RawTGraphAsymmErrors) -> CString -> CInt -> CInt -> IO CInt
-foreign import ccall "HROOT.h TGraphAsymmErrors_newTGraphAsymmErrors" c_tgraphasymmerrors_newtgraphasymmerrors 
-  :: CInt -> (Ptr CDouble) -> (Ptr CDouble) -> (Ptr CDouble) -> (Ptr CDouble) -> (Ptr CDouble) -> (Ptr CDouble) -> IO (Ptr RawTGraphAsymmErrors)
-
-
-foreign import ccall "HROOT.h TCutG_SetTitle" c_tcutg_settitle 
-  :: (Ptr RawTCutG) -> CString -> IO ()
-foreign import ccall "HROOT.h TCutG_SetLineColor" c_tcutg_setlinecolor 
-  :: (Ptr RawTCutG) -> CInt -> IO ()
-foreign import ccall "HROOT.h TCutG_SetFillColor" c_tcutg_setfillcolor 
-  :: (Ptr RawTCutG) -> CInt -> IO ()
-foreign import ccall "HROOT.h TCutG_SetFillStyle" c_tcutg_setfillstyle 
-  :: (Ptr RawTCutG) -> CInt -> IO ()
-foreign import ccall "HROOT.h TCutG_GetName" c_tcutg_getname 
-  :: (Ptr RawTCutG) -> IO CString
-foreign import ccall "HROOT.h TCutG_Draw" c_tcutg_draw 
-  :: (Ptr RawTCutG) -> CString -> IO ()
-foreign import ccall "HROOT.h TCutG_SaveAs" c_tcutg_saveas 
-  :: (Ptr RawTCutG) -> CString -> CString -> IO ()
-foreign import ccall "HROOT.h TCutG_Write" c_tcutg_write 
-  :: (Ptr RawTCutG) -> CString -> CInt -> CInt -> IO CInt
-foreign import ccall "HROOT.h TCutG_newTCutG" c_tcutg_newtcutg 
-  :: CString -> CInt -> (Ptr CDouble) -> (Ptr CDouble) -> IO (Ptr RawTCutG)
-
-
-foreign import ccall "HROOT.h TGraphBentErrors_SetTitle" c_tgraphbenterrors_settitle 
-  :: (Ptr RawTGraphBentErrors) -> CString -> IO ()
-foreign import ccall "HROOT.h TGraphBentErrors_SetLineColor" c_tgraphbenterrors_setlinecolor 
-  :: (Ptr RawTGraphBentErrors) -> CInt -> IO ()
-foreign import ccall "HROOT.h TGraphBentErrors_SetFillColor" c_tgraphbenterrors_setfillcolor 
-  :: (Ptr RawTGraphBentErrors) -> CInt -> IO ()
-foreign import ccall "HROOT.h TGraphBentErrors_SetFillStyle" c_tgraphbenterrors_setfillstyle 
-  :: (Ptr RawTGraphBentErrors) -> CInt -> IO ()
-foreign import ccall "HROOT.h TGraphBentErrors_GetName" c_tgraphbenterrors_getname 
-  :: (Ptr RawTGraphBentErrors) -> IO CString
-foreign import ccall "HROOT.h TGraphBentErrors_Draw" c_tgraphbenterrors_draw 
-  :: (Ptr RawTGraphBentErrors) -> CString -> IO ()
-foreign import ccall "HROOT.h TGraphBentErrors_SaveAs" c_tgraphbenterrors_saveas 
-  :: (Ptr RawTGraphBentErrors) -> CString -> CString -> IO ()
-foreign import ccall "HROOT.h TGraphBentErrors_Write" c_tgraphbenterrors_write 
-  :: (Ptr RawTGraphBentErrors) -> CString -> CInt -> CInt -> IO CInt
-foreign import ccall "HROOT.h TGraphBentErrors_newTGraphBentErrors" c_tgraphbenterrors_newtgraphbenterrors 
-  :: CInt -> (Ptr CDouble) -> (Ptr CDouble) -> (Ptr CDouble) -> (Ptr CDouble) -> (Ptr CDouble) -> (Ptr CDouble) -> (Ptr CDouble) -> (Ptr CDouble) -> (Ptr CDouble) -> (Ptr CDouble) -> IO (Ptr RawTGraphBentErrors)
-
-
-foreign import ccall "HROOT.h TGraphErrors_SetTitle" c_tgrapherrors_settitle 
-  :: (Ptr RawTGraphErrors) -> CString -> IO ()
-foreign import ccall "HROOT.h TGraphErrors_SetLineColor" c_tgrapherrors_setlinecolor 
-  :: (Ptr RawTGraphErrors) -> CInt -> IO ()
-foreign import ccall "HROOT.h TGraphErrors_SetFillColor" c_tgrapherrors_setfillcolor 
-  :: (Ptr RawTGraphErrors) -> CInt -> IO ()
-foreign import ccall "HROOT.h TGraphErrors_SetFillStyle" c_tgrapherrors_setfillstyle 
-  :: (Ptr RawTGraphErrors) -> CInt -> IO ()
-foreign import ccall "HROOT.h TGraphErrors_GetName" c_tgrapherrors_getname 
-  :: (Ptr RawTGraphErrors) -> IO CString
-foreign import ccall "HROOT.h TGraphErrors_Draw" c_tgrapherrors_draw 
-  :: (Ptr RawTGraphErrors) -> CString -> IO ()
-foreign import ccall "HROOT.h TGraphErrors_SaveAs" c_tgrapherrors_saveas 
-  :: (Ptr RawTGraphErrors) -> CString -> CString -> IO ()
-foreign import ccall "HROOT.h TGraphErrors_Write" c_tgrapherrors_write 
-  :: (Ptr RawTGraphErrors) -> CString -> CInt -> CInt -> IO CInt
-foreign import ccall "HROOT.h TGraphErrors_newTGraphErrors" c_tgrapherrors_newtgrapherrors 
-  :: CInt -> (Ptr CDouble) -> (Ptr CDouble) -> (Ptr CDouble) -> (Ptr CDouble) -> IO (Ptr RawTGraphErrors)
-
-
-foreign import ccall "HROOT.h TGraphPolar_SetTitle" c_tgraphpolar_settitle 
-  :: (Ptr RawTGraphPolar) -> CString -> IO ()
-foreign import ccall "HROOT.h TGraphPolar_SetLineColor" c_tgraphpolar_setlinecolor 
-  :: (Ptr RawTGraphPolar) -> CInt -> IO ()
-foreign import ccall "HROOT.h TGraphPolar_SetFillColor" c_tgraphpolar_setfillcolor 
-  :: (Ptr RawTGraphPolar) -> CInt -> IO ()
-foreign import ccall "HROOT.h TGraphPolar_SetFillStyle" c_tgraphpolar_setfillstyle 
-  :: (Ptr RawTGraphPolar) -> CInt -> IO ()
-foreign import ccall "HROOT.h TGraphPolar_GetName" c_tgraphpolar_getname 
-  :: (Ptr RawTGraphPolar) -> IO CString
-foreign import ccall "HROOT.h TGraphPolar_Draw" c_tgraphpolar_draw 
-  :: (Ptr RawTGraphPolar) -> CString -> IO ()
-foreign import ccall "HROOT.h TGraphPolar_SaveAs" c_tgraphpolar_saveas 
-  :: (Ptr RawTGraphPolar) -> CString -> CString -> IO ()
-foreign import ccall "HROOT.h TGraphPolar_Write" c_tgraphpolar_write 
-  :: (Ptr RawTGraphPolar) -> CString -> CInt -> CInt -> IO CInt
-foreign import ccall "HROOT.h TGraphPolar_newTGraphPolar" c_tgraphpolar_newtgraphpolar 
-  :: CInt -> (Ptr CDouble) -> (Ptr CDouble) -> (Ptr CDouble) -> (Ptr CDouble) -> IO (Ptr RawTGraphPolar)
-
-
-foreign import ccall "HROOT.h TGraphQQ_SetTitle" c_tgraphqq_settitle 
-  :: (Ptr RawTGraphQQ) -> CString -> IO ()
-foreign import ccall "HROOT.h TGraphQQ_SetLineColor" c_tgraphqq_setlinecolor 
-  :: (Ptr RawTGraphQQ) -> CInt -> IO ()
-foreign import ccall "HROOT.h TGraphQQ_SetFillColor" c_tgraphqq_setfillcolor 
-  :: (Ptr RawTGraphQQ) -> CInt -> IO ()
-foreign import ccall "HROOT.h TGraphQQ_SetFillStyle" c_tgraphqq_setfillstyle 
-  :: (Ptr RawTGraphQQ) -> CInt -> IO ()
-foreign import ccall "HROOT.h TGraphQQ_GetName" c_tgraphqq_getname 
-  :: (Ptr RawTGraphQQ) -> IO CString
-foreign import ccall "HROOT.h TGraphQQ_Draw" c_tgraphqq_draw 
-  :: (Ptr RawTGraphQQ) -> CString -> IO ()
-foreign import ccall "HROOT.h TGraphQQ_SaveAs" c_tgraphqq_saveas 
-  :: (Ptr RawTGraphQQ) -> CString -> CString -> IO ()
-foreign import ccall "HROOT.h TGraphQQ_Write" c_tgraphqq_write 
-  :: (Ptr RawTGraphQQ) -> CString -> CInt -> CInt -> IO CInt
-foreign import ccall "HROOT.h TGraphQQ_newTGraphQQ" c_tgraphqq_newtgraphqq 
-  :: CInt -> (Ptr CDouble) -> CInt -> (Ptr CDouble) -> IO (Ptr RawTGraphQQ)
-
-
-foreign import ccall "HROOT.h TEllipse_GetName" c_tellipse_getname 
-  :: (Ptr RawTEllipse) -> IO CString
-foreign import ccall "HROOT.h TEllipse_Draw" c_tellipse_draw 
-  :: (Ptr RawTEllipse) -> CString -> IO ()
-foreign import ccall "HROOT.h TEllipse_SaveAs" c_tellipse_saveas 
-  :: (Ptr RawTEllipse) -> CString -> CString -> IO ()
-foreign import ccall "HROOT.h TEllipse_Write" c_tellipse_write 
-  :: (Ptr RawTEllipse) -> CString -> CInt -> CInt -> IO CInt
-foreign import ccall "HROOT.h TEllipse_SetLineColor" c_tellipse_setlinecolor 
-  :: (Ptr RawTEllipse) -> CInt -> IO ()
-foreign import ccall "HROOT.h TEllipse_SetFillColor" c_tellipse_setfillcolor 
-  :: (Ptr RawTEllipse) -> CInt -> IO ()
-foreign import ccall "HROOT.h TEllipse_SetFillStyle" c_tellipse_setfillstyle 
-  :: (Ptr RawTEllipse) -> CInt -> IO ()
-foreign import ccall "HROOT.h TEllipse_newTEllipse" c_tellipse_newtellipse 
-  :: CDouble -> CDouble -> CDouble -> CDouble -> CDouble -> CDouble -> CDouble -> IO (Ptr RawTEllipse)
-
-foreign import ccall "HROOT.h TArc_GetName" c_tarc_getname 
-  :: (Ptr RawTArc) -> IO CString
-foreign import ccall "HROOT.h TArc_Draw" c_tarc_draw 
-  :: (Ptr RawTArc) -> CString -> IO ()
-foreign import ccall "HROOT.h TArc_SaveAs" c_tarc_saveas 
-  :: (Ptr RawTArc) -> CString -> CString -> IO ()
-foreign import ccall "HROOT.h TArc_Write" c_tarc_write 
-  :: (Ptr RawTArc) -> CString -> CInt -> CInt -> IO CInt
-foreign import ccall "HROOT.h TArc_SetLineColor" c_tarc_setlinecolor 
-  :: (Ptr RawTArc) -> CInt -> IO ()
-foreign import ccall "HROOT.h TArc_SetFillColor" c_tarc_setfillcolor 
-  :: (Ptr RawTArc) -> CInt -> IO ()
-foreign import ccall "HROOT.h TArc_SetFillStyle" c_tarc_setfillstyle 
-  :: (Ptr RawTArc) -> CInt -> IO ()
-foreign import ccall "HROOT.h TArc_newTArc" c_tarc_newtarc 
-  :: CDouble -> CDouble -> CDouble -> CDouble -> CDouble -> IO (Ptr RawTArc)
-
-
-foreign import ccall "HROOT.h TCrown_GetName" c_tcrown_getname 
-  :: (Ptr RawTCrown) -> IO CString
-foreign import ccall "HROOT.h TCrown_Draw" c_tcrown_draw 
-  :: (Ptr RawTCrown) -> CString -> IO ()
-foreign import ccall "HROOT.h TCrown_SaveAs" c_tcrown_saveas 
-  :: (Ptr RawTCrown) -> CString -> CString -> IO ()
-foreign import ccall "HROOT.h TCrown_Write" c_tcrown_write 
-  :: (Ptr RawTCrown) -> CString -> CInt -> CInt -> IO CInt
-foreign import ccall "HROOT.h TCrown_SetLineColor" c_tcrown_setlinecolor 
-  :: (Ptr RawTCrown) -> CInt -> IO ()
-foreign import ccall "HROOT.h TCrown_SetFillColor" c_tcrown_setfillcolor 
-  :: (Ptr RawTCrown) -> CInt -> IO ()
-foreign import ccall "HROOT.h TCrown_SetFillStyle" c_tcrown_setfillstyle 
-  :: (Ptr RawTCrown) -> CInt -> IO ()
-foreign import ccall "HROOT.h TCrown_newTCrown" c_tcrown_newtcrown 
-  :: CDouble -> CDouble -> CDouble -> CDouble -> CDouble -> CDouble -> IO (Ptr RawTCrown)
-
-
-foreign import ccall "HROOT.h TLine_GetName" c_tline_getname 
-  :: (Ptr RawTLine) -> IO CString
-foreign import ccall "HROOT.h TLine_Draw" c_tline_draw 
-  :: (Ptr RawTLine) -> CString -> IO ()
-foreign import ccall "HROOT.h TLine_SaveAs" c_tline_saveas 
-  :: (Ptr RawTLine) -> CString -> CString -> IO ()
-foreign import ccall "HROOT.h TLine_Write" c_tline_write 
-  :: (Ptr RawTLine) -> CString -> CInt -> CInt -> IO CInt
-foreign import ccall "HROOT.h TLine_SetLineColor" c_tline_setlinecolor 
-  :: (Ptr RawTLine) -> CInt -> IO ()
-foreign import ccall "HROOT.h TLine_newTLine" c_tline_newtline 
-  :: CDouble -> CDouble -> CDouble -> CDouble -> IO (Ptr RawTLine)
-
-
-foreign import ccall "HROOT.h TArrow_SetFillColor" c_tarrow_setfillcolor 
-  :: (Ptr RawTArrow) -> CInt -> IO ()
-foreign import ccall "HROOT.h TArrow_SetFillStyle" c_tarrow_setfillstyle 
-  :: (Ptr RawTArrow) -> CInt -> IO ()
-foreign import ccall "HROOT.h TArrow_GetName" c_tarrow_getname 
-  :: (Ptr RawTArrow) -> IO CString
-foreign import ccall "HROOT.h TArrow_Draw" c_tarrow_draw 
-  :: (Ptr RawTArrow) -> CString -> IO ()
-foreign import ccall "HROOT.h TArrow_SaveAs" c_tarrow_saveas 
-  :: (Ptr RawTArrow) -> CString -> CString -> IO ()
-foreign import ccall "HROOT.h TArrow_Write" c_tarrow_write 
-  :: (Ptr RawTArrow) -> CString -> CInt -> CInt -> IO CInt
-foreign import ccall "HROOT.h TArrow_SetLineColor" c_tarrow_setlinecolor 
-  :: (Ptr RawTArrow) -> CInt -> IO ()
-foreign import ccall "HROOT.h TArrow_newTArrow" c_tarrow_newtarrow 
-  :: CDouble -> CDouble -> CDouble -> CDouble -> CDouble -> CString -> IO (Ptr RawTArrow)
-
-
-foreign import ccall "HROOT.h TGaxis_SetTextColor" c_tgaxis_settextcolor 
-  :: (Ptr RawTGaxis) -> CInt -> IO ()
-foreign import ccall "HROOT.h TGaxis_SetTextAlign" c_tgaxis_settextalign 
-  :: (Ptr RawTGaxis) -> CInt -> IO ()
-foreign import ccall "HROOT.h TGaxis_SetTextSize" c_tgaxis_settextsize 
-  :: (Ptr RawTGaxis) -> CDouble -> IO ()
-foreign import ccall "HROOT.h TGaxis_GetName" c_tgaxis_getname 
-  :: (Ptr RawTGaxis) -> IO CString
-foreign import ccall "HROOT.h TGaxis_Draw" c_tgaxis_draw 
-  :: (Ptr RawTGaxis) -> CString -> IO ()
-foreign import ccall "HROOT.h TGaxis_SaveAs" c_tgaxis_saveas 
-  :: (Ptr RawTGaxis) -> CString -> CString -> IO ()
-foreign import ccall "HROOT.h TGaxis_Write" c_tgaxis_write 
-  :: (Ptr RawTGaxis) -> CString -> CInt -> CInt -> IO CInt
-foreign import ccall "HROOT.h TGaxis_SetLineColor" c_tgaxis_setlinecolor 
-  :: (Ptr RawTGaxis) -> CInt -> IO ()
-foreign import ccall "HROOT.h TGaxis_newTGaxis" c_tgaxis_newtgaxis 
-  :: CDouble -> CDouble -> CDouble -> CDouble -> CDouble -> CDouble -> CInt -> CString -> CDouble -> IO (Ptr RawTGaxis)
-
-
-foreign import ccall "HROOT.h TShape_SetTitle" c_tshape_settitle 
-  :: (Ptr RawTShape) -> CString -> IO ()
-foreign import ccall "HROOT.h TShape_SetLineColor" c_tshape_setlinecolor 
-  :: (Ptr RawTShape) -> CInt -> IO ()
-foreign import ccall "HROOT.h TShape_SetFillColor" c_tshape_setfillcolor 
-  :: (Ptr RawTShape) -> CInt -> IO ()
-foreign import ccall "HROOT.h TShape_SetFillStyle" c_tshape_setfillstyle 
-  :: (Ptr RawTShape) -> CInt -> IO ()
-foreign import ccall "HROOT.h TShape_GetName" c_tshape_getname 
-  :: (Ptr RawTShape) -> IO CString
-foreign import ccall "HROOT.h TShape_Draw" c_tshape_draw 
-  :: (Ptr RawTShape) -> CString -> IO ()
-foreign import ccall "HROOT.h TShape_SaveAs" c_tshape_saveas 
-  :: (Ptr RawTShape) -> CString -> CString -> IO ()
-foreign import ccall "HROOT.h TShape_Write" c_tshape_write 
-  :: (Ptr RawTShape) -> CString -> CInt -> CInt -> IO CInt
-foreign import ccall "HROOT.h TShape_newTShape" c_tshape_newtshape 
-  :: CString -> CString -> CString -> IO (Ptr RawTShape)
-
-
-foreign import ccall "HROOT.h TBRIK_SetTitle" c_tbrik_settitle 
-  :: (Ptr RawTBRIK) -> CString -> IO ()
-foreign import ccall "HROOT.h TBRIK_SetLineColor" c_tbrik_setlinecolor 
-  :: (Ptr RawTBRIK) -> CInt -> IO ()
-foreign import ccall "HROOT.h TBRIK_SetFillColor" c_tbrik_setfillcolor 
-  :: (Ptr RawTBRIK) -> CInt -> IO ()
-foreign import ccall "HROOT.h TBRIK_SetFillStyle" c_tbrik_setfillstyle 
-  :: (Ptr RawTBRIK) -> CInt -> IO ()
-foreign import ccall "HROOT.h TBRIK_GetName" c_tbrik_getname 
-  :: (Ptr RawTBRIK) -> IO CString
-foreign import ccall "HROOT.h TBRIK_Draw" c_tbrik_draw 
-  :: (Ptr RawTBRIK) -> CString -> IO ()
-foreign import ccall "HROOT.h TBRIK_SaveAs" c_tbrik_saveas 
-  :: (Ptr RawTBRIK) -> CString -> CString -> IO ()
-foreign import ccall "HROOT.h TBRIK_Write" c_tbrik_write 
-  :: (Ptr RawTBRIK) -> CString -> CInt -> CInt -> IO CInt
-foreign import ccall "HROOT.h TBRIK_newTBRIK" c_tbrik_newtbrik 
-  :: CString -> CString -> CString -> CDouble -> CDouble -> CDouble -> IO (Ptr RawTBRIK)
-
-
-foreign import ccall "HROOT.h TTUBE_SetTitle" c_ttube_settitle 
-  :: (Ptr RawTTUBE) -> CString -> IO ()
-foreign import ccall "HROOT.h TTUBE_SetLineColor" c_ttube_setlinecolor 
-  :: (Ptr RawTTUBE) -> CInt -> IO ()
-foreign import ccall "HROOT.h TTUBE_SetFillColor" c_ttube_setfillcolor 
-  :: (Ptr RawTTUBE) -> CInt -> IO ()
-foreign import ccall "HROOT.h TTUBE_SetFillStyle" c_ttube_setfillstyle 
-  :: (Ptr RawTTUBE) -> CInt -> IO ()
-foreign import ccall "HROOT.h TTUBE_GetName" c_ttube_getname 
-  :: (Ptr RawTTUBE) -> IO CString
-foreign import ccall "HROOT.h TTUBE_Draw" c_ttube_draw 
-  :: (Ptr RawTTUBE) -> CString -> IO ()
-foreign import ccall "HROOT.h TTUBE_SaveAs" c_ttube_saveas 
-  :: (Ptr RawTTUBE) -> CString -> CString -> IO ()
-foreign import ccall "HROOT.h TTUBE_Write" c_ttube_write 
-  :: (Ptr RawTTUBE) -> CString -> CInt -> CInt -> IO CInt
-foreign import ccall "HROOT.h TTUBE_newTTUBE" c_ttube_newttube 
-  :: CString -> CString -> CString -> CDouble -> CDouble -> CDouble -> CDouble -> IO (Ptr RawTTUBE)
-
-
-foreign import ccall "HROOT.h TPCON_SetTitle" c_tpcon_settitle 
-  :: (Ptr RawTPCON) -> CString -> IO ()
-foreign import ccall "HROOT.h TPCON_SetLineColor" c_tpcon_setlinecolor 
-  :: (Ptr RawTPCON) -> CInt -> IO ()
-foreign import ccall "HROOT.h TPCON_SetFillColor" c_tpcon_setfillcolor 
-  :: (Ptr RawTPCON) -> CInt -> IO ()
-foreign import ccall "HROOT.h TPCON_SetFillStyle" c_tpcon_setfillstyle 
-  :: (Ptr RawTPCON) -> CInt -> IO ()
-foreign import ccall "HROOT.h TPCON_GetName" c_tpcon_getname 
-  :: (Ptr RawTPCON) -> IO CString
-foreign import ccall "HROOT.h TPCON_Draw" c_tpcon_draw 
-  :: (Ptr RawTPCON) -> CString -> IO ()
-foreign import ccall "HROOT.h TPCON_SaveAs" c_tpcon_saveas 
-  :: (Ptr RawTPCON) -> CString -> CString -> IO ()
-foreign import ccall "HROOT.h TPCON_Write" c_tpcon_write 
-  :: (Ptr RawTPCON) -> CString -> CInt -> CInt -> IO CInt
-foreign import ccall "HROOT.h TPCON_newTPCON" c_tpcon_newtpcon 
-  :: CString -> CString -> CString -> CDouble -> CDouble -> CInt -> IO (Ptr RawTPCON)
-
-
-foreign import ccall "HROOT.h TSPHE_SetTitle" c_tsphe_settitle 
-  :: (Ptr RawTSPHE) -> CString -> IO ()
-foreign import ccall "HROOT.h TSPHE_SetLineColor" c_tsphe_setlinecolor 
-  :: (Ptr RawTSPHE) -> CInt -> IO ()
-foreign import ccall "HROOT.h TSPHE_SetFillColor" c_tsphe_setfillcolor 
-  :: (Ptr RawTSPHE) -> CInt -> IO ()
-foreign import ccall "HROOT.h TSPHE_SetFillStyle" c_tsphe_setfillstyle 
-  :: (Ptr RawTSPHE) -> CInt -> IO ()
-foreign import ccall "HROOT.h TSPHE_GetName" c_tsphe_getname 
-  :: (Ptr RawTSPHE) -> IO CString
-foreign import ccall "HROOT.h TSPHE_Draw" c_tsphe_draw 
-  :: (Ptr RawTSPHE) -> CString -> IO ()
-foreign import ccall "HROOT.h TSPHE_SaveAs" c_tsphe_saveas 
-  :: (Ptr RawTSPHE) -> CString -> CString -> IO ()
-foreign import ccall "HROOT.h TSPHE_Write" c_tsphe_write 
-  :: (Ptr RawTSPHE) -> CString -> CInt -> CInt -> IO CInt
-foreign import ccall "HROOT.h TSPHE_newTSPHE" c_tsphe_newtsphe 
-  :: CString -> CString -> CString -> CDouble -> CDouble -> CDouble -> CDouble -> CDouble -> CDouble -> IO (Ptr RawTSPHE)
-
-
-foreign import ccall "HROOT.h TXTRU_SetTitle" c_txtru_settitle 
-  :: (Ptr RawTXTRU) -> CString -> IO ()
-foreign import ccall "HROOT.h TXTRU_SetLineColor" c_txtru_setlinecolor 
-  :: (Ptr RawTXTRU) -> CInt -> IO ()
-foreign import ccall "HROOT.h TXTRU_SetFillColor" c_txtru_setfillcolor 
-  :: (Ptr RawTXTRU) -> CInt -> IO ()
-foreign import ccall "HROOT.h TXTRU_SetFillStyle" c_txtru_setfillstyle 
-  :: (Ptr RawTXTRU) -> CInt -> IO ()
-foreign import ccall "HROOT.h TXTRU_GetName" c_txtru_getname 
-  :: (Ptr RawTXTRU) -> IO CString
-foreign import ccall "HROOT.h TXTRU_Draw" c_txtru_draw 
-  :: (Ptr RawTXTRU) -> CString -> IO ()
-foreign import ccall "HROOT.h TXTRU_SaveAs" c_txtru_saveas 
-  :: (Ptr RawTXTRU) -> CString -> CString -> IO ()
-foreign import ccall "HROOT.h TXTRU_Write" c_txtru_write 
-  :: (Ptr RawTXTRU) -> CString -> CInt -> CInt -> IO CInt
-foreign import ccall "HROOT.h TXTRU_newTXTRU" c_txtru_newtxtru 
-  :: CString -> CString -> CString -> CInt -> CInt -> IO (Ptr RawTXTRU)
-
-
-foreign import ccall "HROOT.h TBox_GetName" c_tbox_getname 
-  :: (Ptr RawTBox) -> IO CString
-foreign import ccall "HROOT.h TBox_Draw" c_tbox_draw 
-  :: (Ptr RawTBox) -> CString -> IO ()
-foreign import ccall "HROOT.h TBox_SaveAs" c_tbox_saveas 
-  :: (Ptr RawTBox) -> CString -> CString -> IO ()
-foreign import ccall "HROOT.h TBox_Write" c_tbox_write 
-  :: (Ptr RawTBox) -> CString -> CInt -> CInt -> IO CInt
-foreign import ccall "HROOT.h TBox_SetLineColor" c_tbox_setlinecolor 
-  :: (Ptr RawTBox) -> CInt -> IO ()
-foreign import ccall "HROOT.h TBox_SetFillColor" c_tbox_setfillcolor 
-  :: (Ptr RawTBox) -> CInt -> IO ()
-foreign import ccall "HROOT.h TBox_SetFillStyle" c_tbox_setfillstyle 
-  :: (Ptr RawTBox) -> CInt -> IO ()
-foreign import ccall "HROOT.h TBox_newTBox" c_tbox_newtbox 
-  :: CDouble -> CDouble -> CDouble -> CDouble -> IO (Ptr RawTBox)
-
-
-foreign import ccall "HROOT.h TPave_GetName" c_tpave_getname 
-  :: (Ptr RawTPave) -> IO CString
-foreign import ccall "HROOT.h TPave_Draw" c_tpave_draw 
-  :: (Ptr RawTPave) -> CString -> IO ()
-foreign import ccall "HROOT.h TPave_SaveAs" c_tpave_saveas 
-  :: (Ptr RawTPave) -> CString -> CString -> IO ()
-foreign import ccall "HROOT.h TPave_Write" c_tpave_write 
-  :: (Ptr RawTPave) -> CString -> CInt -> CInt -> IO CInt
-foreign import ccall "HROOT.h TPave_SetLineColor" c_tpave_setlinecolor 
-  :: (Ptr RawTPave) -> CInt -> IO ()
-foreign import ccall "HROOT.h TPave_SetFillColor" c_tpave_setfillcolor 
-  :: (Ptr RawTPave) -> CInt -> IO ()
-foreign import ccall "HROOT.h TPave_SetFillStyle" c_tpave_setfillstyle 
-  :: (Ptr RawTPave) -> CInt -> IO ()
-foreign import ccall "HROOT.h TPave_newTPave" c_tpave_newtpave 
-  :: CDouble -> CDouble -> CDouble -> CDouble -> CInt -> CString -> IO (Ptr RawTPave)
-
-
-foreign import ccall "HROOT.h TPaveText_SetTextColor" c_tpavetext_settextcolor 
-  :: (Ptr RawTPaveText) -> CInt -> IO ()
-foreign import ccall "HROOT.h TPaveText_SetTextAlign" c_tpavetext_settextalign 
-  :: (Ptr RawTPaveText) -> CInt -> IO ()
-foreign import ccall "HROOT.h TPaveText_SetTextSize" c_tpavetext_settextsize 
-  :: (Ptr RawTPaveText) -> CDouble -> IO ()
-foreign import ccall "HROOT.h TPaveText_GetName" c_tpavetext_getname 
-  :: (Ptr RawTPaveText) -> IO CString
-foreign import ccall "HROOT.h TPaveText_Draw" c_tpavetext_draw 
-  :: (Ptr RawTPaveText) -> CString -> IO ()
-foreign import ccall "HROOT.h TPaveText_SaveAs" c_tpavetext_saveas 
-  :: (Ptr RawTPaveText) -> CString -> CString -> IO ()
-foreign import ccall "HROOT.h TPaveText_Write" c_tpavetext_write 
-  :: (Ptr RawTPaveText) -> CString -> CInt -> CInt -> IO CInt
-foreign import ccall "HROOT.h TPaveText_SetLineColor" c_tpavetext_setlinecolor 
-  :: (Ptr RawTPaveText) -> CInt -> IO ()
-foreign import ccall "HROOT.h TPaveText_SetFillColor" c_tpavetext_setfillcolor 
-  :: (Ptr RawTPaveText) -> CInt -> IO ()
-foreign import ccall "HROOT.h TPaveText_SetFillStyle" c_tpavetext_setfillstyle 
-  :: (Ptr RawTPaveText) -> CInt -> IO ()
-foreign import ccall "HROOT.h TPaveText_newTPaveText" c_tpavetext_newtpavetext 
-  :: CDouble -> CDouble -> CDouble -> CDouble -> CString -> IO (Ptr RawTPaveText)
-
-
-foreign import ccall "HROOT.h TDiamond_SetTextColor" c_tdiamond_settextcolor 
-  :: (Ptr RawTDiamond) -> CInt -> IO ()
-foreign import ccall "HROOT.h TDiamond_SetTextAlign" c_tdiamond_settextalign 
-  :: (Ptr RawTDiamond) -> CInt -> IO ()
-foreign import ccall "HROOT.h TDiamond_SetTextSize" c_tdiamond_settextsize 
-  :: (Ptr RawTDiamond) -> CDouble -> IO ()
-foreign import ccall "HROOT.h TDiamond_GetName" c_tdiamond_getname 
-  :: (Ptr RawTDiamond) -> IO CString
-foreign import ccall "HROOT.h TDiamond_Draw" c_tdiamond_draw 
-  :: (Ptr RawTDiamond) -> CString -> IO ()
-foreign import ccall "HROOT.h TDiamond_SaveAs" c_tdiamond_saveas 
-  :: (Ptr RawTDiamond) -> CString -> CString -> IO ()
-foreign import ccall "HROOT.h TDiamond_Write" c_tdiamond_write 
-  :: (Ptr RawTDiamond) -> CString -> CInt -> CInt -> IO CInt
-foreign import ccall "HROOT.h TDiamond_SetLineColor" c_tdiamond_setlinecolor 
-  :: (Ptr RawTDiamond) -> CInt -> IO ()
-foreign import ccall "HROOT.h TDiamond_SetFillColor" c_tdiamond_setfillcolor 
-  :: (Ptr RawTDiamond) -> CInt -> IO ()
-foreign import ccall "HROOT.h TDiamond_SetFillStyle" c_tdiamond_setfillstyle 
-  :: (Ptr RawTDiamond) -> CInt -> IO ()
-foreign import ccall "HROOT.h TDiamond_newTDiamond" c_tdiamond_newtdiamond 
-  :: CDouble -> CDouble -> CDouble -> CDouble -> IO (Ptr RawTDiamond)
-
-
-foreign import ccall "HROOT.h TPaveStats_SetTextColor" c_tpavestats_settextcolor 
-  :: (Ptr RawTPaveStats) -> CInt -> IO ()
-foreign import ccall "HROOT.h TPaveStats_SetTextAlign" c_tpavestats_settextalign 
-  :: (Ptr RawTPaveStats) -> CInt -> IO ()
-foreign import ccall "HROOT.h TPaveStats_SetTextSize" c_tpavestats_settextsize 
-  :: (Ptr RawTPaveStats) -> CDouble -> IO ()
-foreign import ccall "HROOT.h TPaveStats_GetName" c_tpavestats_getname 
-  :: (Ptr RawTPaveStats) -> IO CString
-foreign import ccall "HROOT.h TPaveStats_Draw" c_tpavestats_draw 
-  :: (Ptr RawTPaveStats) -> CString -> IO ()
-foreign import ccall "HROOT.h TPaveStats_SaveAs" c_tpavestats_saveas 
-  :: (Ptr RawTPaveStats) -> CString -> CString -> IO ()
-foreign import ccall "HROOT.h TPaveStats_Write" c_tpavestats_write 
-  :: (Ptr RawTPaveStats) -> CString -> CInt -> CInt -> IO CInt
-foreign import ccall "HROOT.h TPaveStats_SetLineColor" c_tpavestats_setlinecolor 
-  :: (Ptr RawTPaveStats) -> CInt -> IO ()
-foreign import ccall "HROOT.h TPaveStats_SetFillColor" c_tpavestats_setfillcolor 
-  :: (Ptr RawTPaveStats) -> CInt -> IO ()
-foreign import ccall "HROOT.h TPaveStats_SetFillStyle" c_tpavestats_setfillstyle 
-  :: (Ptr RawTPaveStats) -> CInt -> IO ()
-foreign import ccall "HROOT.h TPaveStats_newTPaveStats" c_tpavestats_newtpavestats 
-  :: CDouble -> CDouble -> CDouble -> CDouble -> CString -> IO (Ptr RawTPaveStats)
-
-
-foreign import ccall "HROOT.h TPavesText_SetTextColor" c_tpavestext_settextcolor 
-  :: (Ptr RawTPavesText) -> CInt -> IO ()
-foreign import ccall "HROOT.h TPavesText_SetTextAlign" c_tpavestext_settextalign 
-  :: (Ptr RawTPavesText) -> CInt -> IO ()
-foreign import ccall "HROOT.h TPavesText_SetTextSize" c_tpavestext_settextsize 
-  :: (Ptr RawTPavesText) -> CDouble -> IO ()
-foreign import ccall "HROOT.h TPavesText_GetName" c_tpavestext_getname 
-  :: (Ptr RawTPavesText) -> IO CString
-foreign import ccall "HROOT.h TPavesText_Draw" c_tpavestext_draw 
-  :: (Ptr RawTPavesText) -> CString -> IO ()
-foreign import ccall "HROOT.h TPavesText_SaveAs" c_tpavestext_saveas 
-  :: (Ptr RawTPavesText) -> CString -> CString -> IO ()
-foreign import ccall "HROOT.h TPavesText_Write" c_tpavestext_write 
-  :: (Ptr RawTPavesText) -> CString -> CInt -> CInt -> IO CInt
-foreign import ccall "HROOT.h TPavesText_SetLineColor" c_tpavestext_setlinecolor 
-  :: (Ptr RawTPavesText) -> CInt -> IO ()
-foreign import ccall "HROOT.h TPavesText_SetFillColor" c_tpavestext_setfillcolor 
-  :: (Ptr RawTPavesText) -> CInt -> IO ()
-foreign import ccall "HROOT.h TPavesText_SetFillStyle" c_tpavestext_setfillstyle 
-  :: (Ptr RawTPavesText) -> CInt -> IO ()
-foreign import ccall "HROOT.h TPavesText_newTPavesText" c_tpavestext_newtpavestext 
-  :: CDouble -> CDouble -> CDouble -> CDouble -> CInt -> CString -> IO (Ptr RawTPavesText)
-
-
-foreign import ccall "HROOT.h TLegend_SetTextColor" c_tlegend_settextcolor 
-  :: (Ptr RawTLegend) -> CInt -> IO ()
-foreign import ccall "HROOT.h TLegend_SetTextAlign" c_tlegend_settextalign 
-  :: (Ptr RawTLegend) -> CInt -> IO ()
-foreign import ccall "HROOT.h TLegend_SetTextSize" c_tlegend_settextsize 
-  :: (Ptr RawTLegend) -> CDouble -> IO ()
-foreign import ccall "HROOT.h TLegend_GetName" c_tlegend_getname 
-  :: (Ptr RawTLegend) -> IO CString
-foreign import ccall "HROOT.h TLegend_Draw" c_tlegend_draw 
-  :: (Ptr RawTLegend) -> CString -> IO ()
-foreign import ccall "HROOT.h TLegend_SaveAs" c_tlegend_saveas 
-  :: (Ptr RawTLegend) -> CString -> CString -> IO ()
-foreign import ccall "HROOT.h TLegend_Write" c_tlegend_write 
-  :: (Ptr RawTLegend) -> CString -> CInt -> CInt -> IO CInt
-foreign import ccall "HROOT.h TLegend_SetLineColor" c_tlegend_setlinecolor 
-  :: (Ptr RawTLegend) -> CInt -> IO ()
-foreign import ccall "HROOT.h TLegend_SetFillColor" c_tlegend_setfillcolor 
-  :: (Ptr RawTLegend) -> CInt -> IO ()
-foreign import ccall "HROOT.h TLegend_SetFillStyle" c_tlegend_setfillstyle 
-  :: (Ptr RawTLegend) -> CInt -> IO ()
-foreign import ccall "HROOT.h TLegend_newTLegend" c_tlegend_newtlegend 
-  :: CDouble -> CDouble -> CDouble -> CDouble -> CString -> CString -> IO (Ptr RawTLegend)
-
-
-foreign import ccall "HROOT.h TPaveLabel_SetTextColor" c_tpavelabel_settextcolor 
-  :: (Ptr RawTPaveLabel) -> CInt -> IO ()
-foreign import ccall "HROOT.h TPaveLabel_SetTextAlign" c_tpavelabel_settextalign 
-  :: (Ptr RawTPaveLabel) -> CInt -> IO ()
-foreign import ccall "HROOT.h TPaveLabel_SetTextSize" c_tpavelabel_settextsize 
-  :: (Ptr RawTPaveLabel) -> CDouble -> IO ()
-foreign import ccall "HROOT.h TPaveLabel_GetName" c_tpavelabel_getname 
-  :: (Ptr RawTPaveLabel) -> IO CString
-foreign import ccall "HROOT.h TPaveLabel_Draw" c_tpavelabel_draw 
-  :: (Ptr RawTPaveLabel) -> CString -> IO ()
-foreign import ccall "HROOT.h TPaveLabel_SaveAs" c_tpavelabel_saveas 
-  :: (Ptr RawTPaveLabel) -> CString -> CString -> IO ()
-foreign import ccall "HROOT.h TPaveLabel_Write" c_tpavelabel_write 
-  :: (Ptr RawTPaveLabel) -> CString -> CInt -> CInt -> IO CInt
-foreign import ccall "HROOT.h TPaveLabel_SetLineColor" c_tpavelabel_setlinecolor 
-  :: (Ptr RawTPaveLabel) -> CInt -> IO ()
-foreign import ccall "HROOT.h TPaveLabel_SetFillColor" c_tpavelabel_setfillcolor 
-  :: (Ptr RawTPaveLabel) -> CInt -> IO ()
-foreign import ccall "HROOT.h TPaveLabel_SetFillStyle" c_tpavelabel_setfillstyle 
-  :: (Ptr RawTPaveLabel) -> CInt -> IO ()
-foreign import ccall "HROOT.h TPaveLabel_newTPaveLabel" c_tpavelabel_newtpavelabel 
-  :: CDouble -> CDouble -> CDouble -> CDouble -> CString -> CString -> IO (Ptr RawTPaveLabel)
-
-
-foreign import ccall "HROOT.h TPaveClass_SetTextColor" c_tpaveclass_settextcolor 
-  :: (Ptr RawTPaveClass) -> CInt -> IO ()
-foreign import ccall "HROOT.h TPaveClass_SetTextAlign" c_tpaveclass_settextalign 
-  :: (Ptr RawTPaveClass) -> CInt -> IO ()
-foreign import ccall "HROOT.h TPaveClass_SetTextSize" c_tpaveclass_settextsize 
-  :: (Ptr RawTPaveClass) -> CDouble -> IO ()
-foreign import ccall "HROOT.h TPaveClass_GetName" c_tpaveclass_getname 
-  :: (Ptr RawTPaveClass) -> IO CString
-foreign import ccall "HROOT.h TPaveClass_Draw" c_tpaveclass_draw 
-  :: (Ptr RawTPaveClass) -> CString -> IO ()
-foreign import ccall "HROOT.h TPaveClass_SaveAs" c_tpaveclass_saveas 
-  :: (Ptr RawTPaveClass) -> CString -> CString -> IO ()
-foreign import ccall "HROOT.h TPaveClass_Write" c_tpaveclass_write 
-  :: (Ptr RawTPaveClass) -> CString -> CInt -> CInt -> IO CInt
-foreign import ccall "HROOT.h TPaveClass_SetLineColor" c_tpaveclass_setlinecolor 
-  :: (Ptr RawTPaveClass) -> CInt -> IO ()
-foreign import ccall "HROOT.h TPaveClass_SetFillColor" c_tpaveclass_setfillcolor 
-  :: (Ptr RawTPaveClass) -> CInt -> IO ()
-foreign import ccall "HROOT.h TPaveClass_SetFillStyle" c_tpaveclass_setfillstyle 
-  :: (Ptr RawTPaveClass) -> CInt -> IO ()
-
-foreign import ccall "HROOT.h TWbox_GetName" c_twbox_getname 
-  :: (Ptr RawTWbox) -> IO CString
-foreign import ccall "HROOT.h TWbox_Draw" c_twbox_draw 
-  :: (Ptr RawTWbox) -> CString -> IO ()
-foreign import ccall "HROOT.h TWbox_SaveAs" c_twbox_saveas 
-  :: (Ptr RawTWbox) -> CString -> CString -> IO ()
-foreign import ccall "HROOT.h TWbox_Write" c_twbox_write 
-  :: (Ptr RawTWbox) -> CString -> CInt -> CInt -> IO CInt
-foreign import ccall "HROOT.h TWbox_SetLineColor" c_twbox_setlinecolor 
-  :: (Ptr RawTWbox) -> CInt -> IO ()
-foreign import ccall "HROOT.h TWbox_SetFillColor" c_twbox_setfillcolor 
-  :: (Ptr RawTWbox) -> CInt -> IO ()
-foreign import ccall "HROOT.h TWbox_SetFillStyle" c_twbox_setfillstyle 
-  :: (Ptr RawTWbox) -> CInt -> IO ()
-foreign import ccall "HROOT.h TWbox_newTWbox" c_twbox_newtwbox 
-  :: CDouble -> CDouble -> CDouble -> CDouble -> CInt -> CInt -> CInt -> IO (Ptr RawTWbox)
-foreign import ccall "HROOT.h TWbox_SetBorderMode" c_twbox_setbordermode 
-  :: (Ptr RawTWbox) -> CInt -> IO ()
-
-
-foreign import ccall "HROOT.h TFrame_SetBorderMode" c_tframe_setbordermode 
-  :: (Ptr RawTFrame) -> CInt -> IO ()
-foreign import ccall "HROOT.h TFrame_GetName" c_tframe_getname 
-  :: (Ptr RawTFrame) -> IO CString
-foreign import ccall "HROOT.h TFrame_Draw" c_tframe_draw 
-  :: (Ptr RawTFrame) -> CString -> IO ()
-foreign import ccall "HROOT.h TFrame_SaveAs" c_tframe_saveas 
-  :: (Ptr RawTFrame) -> CString -> CString -> IO ()
-foreign import ccall "HROOT.h TFrame_Write" c_tframe_write 
-  :: (Ptr RawTFrame) -> CString -> CInt -> CInt -> IO CInt
-foreign import ccall "HROOT.h TFrame_SetLineColor" c_tframe_setlinecolor 
-  :: (Ptr RawTFrame) -> CInt -> IO ()
-foreign import ccall "HROOT.h TFrame_SetFillColor" c_tframe_setfillcolor 
-  :: (Ptr RawTFrame) -> CInt -> IO ()
-foreign import ccall "HROOT.h TFrame_SetFillStyle" c_tframe_setfillstyle 
-  :: (Ptr RawTFrame) -> CInt -> IO ()
-foreign import ccall "HROOT.h TFrame_newTFrame" c_tframe_newtframe 
-  :: CDouble -> CDouble -> CDouble -> CDouble -> IO (Ptr RawTFrame)
-
-
-foreign import ccall "HROOT.h TSliderBox_SetBorderMode" c_tsliderbox_setbordermode 
-  :: (Ptr RawTSliderBox) -> CInt -> IO ()
-foreign import ccall "HROOT.h TSliderBox_GetName" c_tsliderbox_getname 
-  :: (Ptr RawTSliderBox) -> IO CString
-foreign import ccall "HROOT.h TSliderBox_Draw" c_tsliderbox_draw 
-  :: (Ptr RawTSliderBox) -> CString -> IO ()
-foreign import ccall "HROOT.h TSliderBox_SaveAs" c_tsliderbox_saveas 
-  :: (Ptr RawTSliderBox) -> CString -> CString -> IO ()
-foreign import ccall "HROOT.h TSliderBox_Write" c_tsliderbox_write 
-  :: (Ptr RawTSliderBox) -> CString -> CInt -> CInt -> IO CInt
-foreign import ccall "HROOT.h TSliderBox_SetLineColor" c_tsliderbox_setlinecolor 
-  :: (Ptr RawTSliderBox) -> CInt -> IO ()
-foreign import ccall "HROOT.h TSliderBox_SetFillColor" c_tsliderbox_setfillcolor 
-  :: (Ptr RawTSliderBox) -> CInt -> IO ()
-foreign import ccall "HROOT.h TSliderBox_SetFillStyle" c_tsliderbox_setfillstyle 
-  :: (Ptr RawTSliderBox) -> CInt -> IO ()
-foreign import ccall "HROOT.h TSliderBox_newTSliderBox" c_tsliderbox_newtsliderbox 
-  :: CDouble -> CDouble -> CDouble -> CDouble -> CInt -> CInt -> CInt -> IO (Ptr RawTSliderBox)
-
-
-foreign import ccall "HROOT.h TTree_SetTitle" c_ttree_settitle 
-  :: (Ptr RawTTree) -> CString -> IO ()
-foreign import ccall "HROOT.h TTree_SetLineColor" c_ttree_setlinecolor 
-  :: (Ptr RawTTree) -> CInt -> IO ()
-foreign import ccall "HROOT.h TTree_SetFillColor" c_ttree_setfillcolor 
-  :: (Ptr RawTTree) -> CInt -> IO ()
-foreign import ccall "HROOT.h TTree_SetFillStyle" c_ttree_setfillstyle 
-  :: (Ptr RawTTree) -> CInt -> IO ()
-foreign import ccall "HROOT.h TTree_GetName" c_ttree_getname 
-  :: (Ptr RawTTree) -> IO CString
-foreign import ccall "HROOT.h TTree_Draw" c_ttree_draw 
-  :: (Ptr RawTTree) -> CString -> IO ()
-foreign import ccall "HROOT.h TTree_SaveAs" c_ttree_saveas 
-  :: (Ptr RawTTree) -> CString -> CString -> IO ()
-foreign import ccall "HROOT.h TTree_Write" c_ttree_write 
-  :: (Ptr RawTTree) -> CString -> CInt -> CInt -> IO CInt
-foreign import ccall "HROOT.h TTree_newTTree" c_ttree_newttree 
-  :: CString -> CString -> CInt -> IO (Ptr RawTTree)
-
-
-foreign import ccall "HROOT.h TChain_SetTitle" c_tchain_settitle 
-  :: (Ptr RawTChain) -> CString -> IO ()
-foreign import ccall "HROOT.h TChain_SetLineColor" c_tchain_setlinecolor 
-  :: (Ptr RawTChain) -> CInt -> IO ()
-foreign import ccall "HROOT.h TChain_SetFillColor" c_tchain_setfillcolor 
-  :: (Ptr RawTChain) -> CInt -> IO ()
-foreign import ccall "HROOT.h TChain_SetFillStyle" c_tchain_setfillstyle 
-  :: (Ptr RawTChain) -> CInt -> IO ()
-foreign import ccall "HROOT.h TChain_GetName" c_tchain_getname 
-  :: (Ptr RawTChain) -> IO CString
-foreign import ccall "HROOT.h TChain_Draw" c_tchain_draw 
-  :: (Ptr RawTChain) -> CString -> IO ()
-foreign import ccall "HROOT.h TChain_SaveAs" c_tchain_saveas 
-  :: (Ptr RawTChain) -> CString -> CString -> IO ()
-foreign import ccall "HROOT.h TChain_Write" c_tchain_write 
-  :: (Ptr RawTChain) -> CString -> CInt -> CInt -> IO CInt
-foreign import ccall "HROOT.h TChain_newTChain" c_tchain_newtchain 
-  :: CString -> CString -> IO (Ptr RawTChain)
-
-
-foreign import ccall "HROOT.h TNtuple_SetTitle" c_tntuple_settitle 
-  :: (Ptr RawTNtuple) -> CString -> IO ()
-foreign import ccall "HROOT.h TNtuple_SetLineColor" c_tntuple_setlinecolor 
-  :: (Ptr RawTNtuple) -> CInt -> IO ()
-foreign import ccall "HROOT.h TNtuple_SetFillColor" c_tntuple_setfillcolor 
-  :: (Ptr RawTNtuple) -> CInt -> IO ()
-foreign import ccall "HROOT.h TNtuple_SetFillStyle" c_tntuple_setfillstyle 
-  :: (Ptr RawTNtuple) -> CInt -> IO ()
-foreign import ccall "HROOT.h TNtuple_GetName" c_tntuple_getname 
-  :: (Ptr RawTNtuple) -> IO CString
-foreign import ccall "HROOT.h TNtuple_Draw" c_tntuple_draw 
-  :: (Ptr RawTNtuple) -> CString -> IO ()
-foreign import ccall "HROOT.h TNtuple_SaveAs" c_tntuple_saveas 
-  :: (Ptr RawTNtuple) -> CString -> CString -> IO ()
-foreign import ccall "HROOT.h TNtuple_Write" c_tntuple_write 
-  :: (Ptr RawTNtuple) -> CString -> CInt -> CInt -> IO CInt
-foreign import ccall "HROOT.h TNtuple_newTNtuple" c_tntuple_newtntuple 
-  :: CString -> CString -> CString -> CInt -> IO (Ptr RawTNtuple)
-
-
-foreign import ccall "HROOT.h TNtupleD_SetTitle" c_tntupled_settitle 
-  :: (Ptr RawTNtupleD) -> CString -> IO ()
-foreign import ccall "HROOT.h TNtupleD_SetLineColor" c_tntupled_setlinecolor 
-  :: (Ptr RawTNtupleD) -> CInt -> IO ()
-foreign import ccall "HROOT.h TNtupleD_SetFillColor" c_tntupled_setfillcolor 
-  :: (Ptr RawTNtupleD) -> CInt -> IO ()
-foreign import ccall "HROOT.h TNtupleD_SetFillStyle" c_tntupled_setfillstyle 
-  :: (Ptr RawTNtupleD) -> CInt -> IO ()
-foreign import ccall "HROOT.h TNtupleD_GetName" c_tntupled_getname 
-  :: (Ptr RawTNtupleD) -> IO CString
-foreign import ccall "HROOT.h TNtupleD_Draw" c_tntupled_draw 
-  :: (Ptr RawTNtupleD) -> CString -> IO ()
-foreign import ccall "HROOT.h TNtupleD_SaveAs" c_tntupled_saveas 
-  :: (Ptr RawTNtupleD) -> CString -> CString -> IO ()
-foreign import ccall "HROOT.h TNtupleD_Write" c_tntupled_write 
-  :: (Ptr RawTNtupleD) -> CString -> CInt -> CInt -> IO CInt
-foreign import ccall "HROOT.h TNtupleD_newTNtupleD" c_tntupled_newtntupled 
-  :: CString -> CString -> CString -> CInt -> IO (Ptr RawTNtupleD)
-
-
-foreign import ccall "HROOT.h TTreeSQL_SetTitle" c_ttreesql_settitle 
-  :: (Ptr RawTTreeSQL) -> CString -> IO ()
-foreign import ccall "HROOT.h TTreeSQL_SetLineColor" c_ttreesql_setlinecolor 
-  :: (Ptr RawTTreeSQL) -> CInt -> IO ()
-foreign import ccall "HROOT.h TTreeSQL_SetFillColor" c_ttreesql_setfillcolor 
-  :: (Ptr RawTTreeSQL) -> CInt -> IO ()
-foreign import ccall "HROOT.h TTreeSQL_SetFillStyle" c_ttreesql_setfillstyle 
-  :: (Ptr RawTTreeSQL) -> CInt -> IO ()
-foreign import ccall "HROOT.h TTreeSQL_GetName" c_ttreesql_getname 
-  :: (Ptr RawTTreeSQL) -> IO CString
-foreign import ccall "HROOT.h TTreeSQL_Draw" c_ttreesql_draw 
-  :: (Ptr RawTTreeSQL) -> CString -> IO ()
-foreign import ccall "HROOT.h TTreeSQL_SaveAs" c_ttreesql_saveas 
-  :: (Ptr RawTTreeSQL) -> CString -> CString -> IO ()
-foreign import ccall "HROOT.h TTreeSQL_Write" c_ttreesql_write 
-  :: (Ptr RawTTreeSQL) -> CString -> CInt -> CInt -> IO CInt
-
-foreign import ccall "HROOT.h TPolyLine_GetName" c_tpolyline_getname 
-  :: (Ptr RawTPolyLine) -> IO CString
-foreign import ccall "HROOT.h TPolyLine_Draw" c_tpolyline_draw 
-  :: (Ptr RawTPolyLine) -> CString -> IO ()
-foreign import ccall "HROOT.h TPolyLine_SaveAs" c_tpolyline_saveas 
-  :: (Ptr RawTPolyLine) -> CString -> CString -> IO ()
-foreign import ccall "HROOT.h TPolyLine_Write" c_tpolyline_write 
-  :: (Ptr RawTPolyLine) -> CString -> CInt -> CInt -> IO CInt
-foreign import ccall "HROOT.h TPolyLine_SetLineColor" c_tpolyline_setlinecolor 
-  :: (Ptr RawTPolyLine) -> CInt -> IO ()
-foreign import ccall "HROOT.h TPolyLine_SetFillColor" c_tpolyline_setfillcolor 
-  :: (Ptr RawTPolyLine) -> CInt -> IO ()
-foreign import ccall "HROOT.h TPolyLine_SetFillStyle" c_tpolyline_setfillstyle 
-  :: (Ptr RawTPolyLine) -> CInt -> IO ()
-foreign import ccall "HROOT.h TPolyLine_newTPolyLine" c_tpolyline_newtpolyline 
-  :: CInt -> (Ptr CDouble) -> (Ptr CDouble) -> CString -> IO (Ptr RawTPolyLine)
-
-
-foreign import ccall "HROOT.h TCurlyLine_GetName" c_tcurlyline_getname 
-  :: (Ptr RawTCurlyLine) -> IO CString
-foreign import ccall "HROOT.h TCurlyLine_Draw" c_tcurlyline_draw 
-  :: (Ptr RawTCurlyLine) -> CString -> IO ()
-foreign import ccall "HROOT.h TCurlyLine_SaveAs" c_tcurlyline_saveas 
-  :: (Ptr RawTCurlyLine) -> CString -> CString -> IO ()
-foreign import ccall "HROOT.h TCurlyLine_Write" c_tcurlyline_write 
-  :: (Ptr RawTCurlyLine) -> CString -> CInt -> CInt -> IO CInt
-foreign import ccall "HROOT.h TCurlyLine_SetLineColor" c_tcurlyline_setlinecolor 
-  :: (Ptr RawTCurlyLine) -> CInt -> IO ()
-foreign import ccall "HROOT.h TCurlyLine_SetFillColor" c_tcurlyline_setfillcolor 
-  :: (Ptr RawTCurlyLine) -> CInt -> IO ()
-foreign import ccall "HROOT.h TCurlyLine_SetFillStyle" c_tcurlyline_setfillstyle 
-  :: (Ptr RawTCurlyLine) -> CInt -> IO ()
-foreign import ccall "HROOT.h TCurlyLine_newTCurlyLine" c_tcurlyline_newtcurlyline 
-  :: CDouble -> CDouble -> CDouble -> CDouble -> CDouble -> CDouble -> IO (Ptr RawTCurlyLine)
-
-
-foreign import ccall "HROOT.h TCurlyArc_GetName" c_tcurlyarc_getname 
-  :: (Ptr RawTCurlyArc) -> IO CString
-foreign import ccall "HROOT.h TCurlyArc_Draw" c_tcurlyarc_draw 
-  :: (Ptr RawTCurlyArc) -> CString -> IO ()
-foreign import ccall "HROOT.h TCurlyArc_SaveAs" c_tcurlyarc_saveas 
-  :: (Ptr RawTCurlyArc) -> CString -> CString -> IO ()
-foreign import ccall "HROOT.h TCurlyArc_Write" c_tcurlyarc_write 
-  :: (Ptr RawTCurlyArc) -> CString -> CInt -> CInt -> IO CInt
-foreign import ccall "HROOT.h TCurlyArc_SetLineColor" c_tcurlyarc_setlinecolor 
-  :: (Ptr RawTCurlyArc) -> CInt -> IO ()
-foreign import ccall "HROOT.h TCurlyArc_SetFillColor" c_tcurlyarc_setfillcolor 
-  :: (Ptr RawTCurlyArc) -> CInt -> IO ()
-foreign import ccall "HROOT.h TCurlyArc_SetFillStyle" c_tcurlyarc_setfillstyle 
-  :: (Ptr RawTCurlyArc) -> CInt -> IO ()
-foreign import ccall "HROOT.h TCurlyArc_newTCurlyArc" c_tcurlyarc_newtcurlyarc 
-  :: CDouble -> CDouble -> CDouble -> CDouble -> CDouble -> CDouble -> CDouble -> IO (Ptr RawTCurlyArc)
-
-
-foreign import ccall "HROOT.h TEfficiency_SetTitle" c_tefficiency_settitle 
-  :: (Ptr RawTEfficiency) -> CString -> IO ()
-foreign import ccall "HROOT.h TEfficiency_SetLineColor" c_tefficiency_setlinecolor 
-  :: (Ptr RawTEfficiency) -> CInt -> IO ()
-foreign import ccall "HROOT.h TEfficiency_SetFillColor" c_tefficiency_setfillcolor 
-  :: (Ptr RawTEfficiency) -> CInt -> IO ()
-foreign import ccall "HROOT.h TEfficiency_SetFillStyle" c_tefficiency_setfillstyle 
-  :: (Ptr RawTEfficiency) -> CInt -> IO ()
-foreign import ccall "HROOT.h TEfficiency_GetName" c_tefficiency_getname 
-  :: (Ptr RawTEfficiency) -> IO CString
-foreign import ccall "HROOT.h TEfficiency_Draw" c_tefficiency_draw 
-  :: (Ptr RawTEfficiency) -> CString -> IO ()
-foreign import ccall "HROOT.h TEfficiency_SaveAs" c_tefficiency_saveas 
-  :: (Ptr RawTEfficiency) -> CString -> CString -> IO ()
-foreign import ccall "HROOT.h TEfficiency_Write" c_tefficiency_write 
-  :: (Ptr RawTEfficiency) -> CString -> CInt -> CInt -> IO CInt
-
-foreign import ccall "HROOT.h TAxis_SetTitle" c_taxis_settitle 
-  :: (Ptr RawTAxis) -> CString -> IO ()
-foreign import ccall "HROOT.h TAxis_SetLabelColor" c_taxis_setlabelcolor 
-  :: (Ptr RawTAxis) -> CInt -> IO ()
-foreign import ccall "HROOT.h TAxis_SetLabelSize" c_taxis_setlabelsize 
-  :: (Ptr RawTAxis) -> CDouble -> IO ()
-foreign import ccall "HROOT.h TAxis_SetTickLength" c_taxis_setticklength 
-  :: (Ptr RawTAxis) -> CDouble -> IO ()
-foreign import ccall "HROOT.h TAxis_SetTitleOffset" c_taxis_settitleoffset 
-  :: (Ptr RawTAxis) -> CDouble -> IO ()
-foreign import ccall "HROOT.h TAxis_SetNdivisions" c_taxis_setndivisions 
-  :: (Ptr RawTAxis) -> CInt -> CInt -> IO ()
-foreign import ccall "HROOT.h TAxis_GetName" c_taxis_getname 
-  :: (Ptr RawTAxis) -> IO CString
-foreign import ccall "HROOT.h TAxis_Draw" c_taxis_draw 
-  :: (Ptr RawTAxis) -> CString -> IO ()
-foreign import ccall "HROOT.h TAxis_SaveAs" c_taxis_saveas 
-  :: (Ptr RawTAxis) -> CString -> CString -> IO ()
-foreign import ccall "HROOT.h TAxis_Write" c_taxis_write 
-  :: (Ptr RawTAxis) -> CString -> CInt -> CInt -> IO CInt
-
-foreign import ccall "HROOT.h TLatex_SetLineColor" c_tlatex_setlinecolor 
-  :: (Ptr RawTLatex) -> CInt -> IO ()
-foreign import ccall "HROOT.h TLatex_SetTitle" c_tlatex_settitle 
-  :: (Ptr RawTLatex) -> CString -> IO ()
-foreign import ccall "HROOT.h TLatex_SetTextColor" c_tlatex_settextcolor 
-  :: (Ptr RawTLatex) -> CInt -> IO ()
-foreign import ccall "HROOT.h TLatex_SetTextAlign" c_tlatex_settextalign 
-  :: (Ptr RawTLatex) -> CInt -> IO ()
-foreign import ccall "HROOT.h TLatex_SetTextSize" c_tlatex_settextsize 
-  :: (Ptr RawTLatex) -> CDouble -> IO ()
-foreign import ccall "HROOT.h TLatex_GetName" c_tlatex_getname 
-  :: (Ptr RawTLatex) -> IO CString
-foreign import ccall "HROOT.h TLatex_Draw" c_tlatex_draw 
-  :: (Ptr RawTLatex) -> CString -> IO ()
-foreign import ccall "HROOT.h TLatex_SaveAs" c_tlatex_saveas 
-  :: (Ptr RawTLatex) -> CString -> CString -> IO ()
-foreign import ccall "HROOT.h TLatex_Write" c_tlatex_write 
-  :: (Ptr RawTLatex) -> CString -> CInt -> CInt -> IO CInt
-foreign import ccall "HROOT.h TLatex_newTLatex" c_tlatex_newtlatex 
-  :: CDouble -> CDouble -> CString -> IO (Ptr RawTLatex)
-foreign import ccall "HROOT.h TLatex_tLatexDrawLatex" c_tlatex_tlatexdrawlatex 
-  :: (Ptr RawTLatex) -> CDouble -> CDouble -> CString -> IO (Ptr RawTLatex)
-
-
-foreign import ccall "HROOT.h TText_SetTitle" c_ttext_settitle 
-  :: (Ptr RawTText) -> CString -> IO ()
-foreign import ccall "HROOT.h TText_SetTextColor" c_ttext_settextcolor 
-  :: (Ptr RawTText) -> CInt -> IO ()
-foreign import ccall "HROOT.h TText_SetTextAlign" c_ttext_settextalign 
-  :: (Ptr RawTText) -> CInt -> IO ()
-foreign import ccall "HROOT.h TText_SetTextSize" c_ttext_settextsize 
-  :: (Ptr RawTText) -> CDouble -> IO ()
-foreign import ccall "HROOT.h TText_GetName" c_ttext_getname 
-  :: (Ptr RawTText) -> IO CString
-foreign import ccall "HROOT.h TText_Draw" c_ttext_draw 
-  :: (Ptr RawTText) -> CString -> IO ()
-foreign import ccall "HROOT.h TText_SaveAs" c_ttext_saveas 
-  :: (Ptr RawTText) -> CString -> CString -> IO ()
-foreign import ccall "HROOT.h TText_Write" c_ttext_write 
-  :: (Ptr RawTText) -> CString -> CInt -> CInt -> IO CInt
-
-foreign import ccall "HROOT.h TDirectory_SetTitle" c_tdirectory_settitle 
-  :: (Ptr RawTDirectory) -> CString -> IO ()
-foreign import ccall "HROOT.h TDirectory_GetName" c_tdirectory_getname 
-  :: (Ptr RawTDirectory) -> IO CString
-foreign import ccall "HROOT.h TDirectory_Draw" c_tdirectory_draw 
-  :: (Ptr RawTDirectory) -> CString -> IO ()
-foreign import ccall "HROOT.h TDirectory_SaveAs" c_tdirectory_saveas 
-  :: (Ptr RawTDirectory) -> CString -> CString -> IO ()
-foreign import ccall "HROOT.h TDirectory_Write" c_tdirectory_write 
-  :: (Ptr RawTDirectory) -> CString -> CInt -> CInt -> IO CInt
-foreign import ccall "HROOT.h TDirectory_Close" c_tdirectory_close 
-  :: (Ptr RawTDirectory) -> CString -> IO ()
-
-foreign import ccall "HROOT.h TDirectoryFile_Close" c_tdirectoryfile_close 
-  :: (Ptr RawTDirectoryFile) -> CString -> IO ()
-foreign import ccall "HROOT.h TDirectoryFile_SetTitle" c_tdirectoryfile_settitle 
-  :: (Ptr RawTDirectoryFile) -> CString -> IO ()
-foreign import ccall "HROOT.h TDirectoryFile_GetName" c_tdirectoryfile_getname 
-  :: (Ptr RawTDirectoryFile) -> IO CString
-foreign import ccall "HROOT.h TDirectoryFile_Draw" c_tdirectoryfile_draw 
-  :: (Ptr RawTDirectoryFile) -> CString -> IO ()
-foreign import ccall "HROOT.h TDirectoryFile_SaveAs" c_tdirectoryfile_saveas 
-  :: (Ptr RawTDirectoryFile) -> CString -> CString -> IO ()
-foreign import ccall "HROOT.h TDirectoryFile_Write" c_tdirectoryfile_write 
-  :: (Ptr RawTDirectoryFile) -> CString -> CInt -> CInt -> IO CInt
-
-foreign import ccall "HROOT.h TFile_Close" c_tfile_close 
-  :: (Ptr RawTFile) -> CString -> IO ()
-foreign import ccall "HROOT.h TFile_SetTitle" c_tfile_settitle 
-  :: (Ptr RawTFile) -> CString -> IO ()
-foreign import ccall "HROOT.h TFile_GetName" c_tfile_getname 
-  :: (Ptr RawTFile) -> IO CString
-foreign import ccall "HROOT.h TFile_Draw" c_tfile_draw 
-  :: (Ptr RawTFile) -> CString -> IO ()
-foreign import ccall "HROOT.h TFile_SaveAs" c_tfile_saveas 
-  :: (Ptr RawTFile) -> CString -> CString -> IO ()
-foreign import ccall "HROOT.h TFile_Write" c_tfile_write 
-  :: (Ptr RawTFile) -> CString -> CInt -> CInt -> IO CInt
-foreign import ccall "HROOT.h TFile_newTFile" c_tfile_newtfile 
-  :: CString -> CString -> CString -> CInt -> IO (Ptr RawTFile)
-
-
-foreign import ccall "HROOT.h TBranch_SetTitle" c_tbranch_settitle 
-  :: (Ptr RawTBranch) -> CString -> IO ()
-foreign import ccall "HROOT.h TBranch_SetFillColor" c_tbranch_setfillcolor 
-  :: (Ptr RawTBranch) -> CInt -> IO ()
-foreign import ccall "HROOT.h TBranch_SetFillStyle" c_tbranch_setfillstyle 
-  :: (Ptr RawTBranch) -> CInt -> IO ()
-foreign import ccall "HROOT.h TBranch_GetName" c_tbranch_getname 
-  :: (Ptr RawTBranch) -> IO CString
-foreign import ccall "HROOT.h TBranch_Draw" c_tbranch_draw 
-  :: (Ptr RawTBranch) -> CString -> IO ()
-foreign import ccall "HROOT.h TBranch_SaveAs" c_tbranch_saveas 
-  :: (Ptr RawTBranch) -> CString -> CString -> IO ()
-foreign import ccall "HROOT.h TBranch_Write" c_tbranch_write 
-  :: (Ptr RawTBranch) -> CString -> CInt -> CInt -> IO CInt
-
-foreign import ccall "HROOT.h TVirtualTreePlayer_GetName" c_tvirtualtreeplayer_getname 
-  :: (Ptr RawTVirtualTreePlayer) -> IO CString
-foreign import ccall "HROOT.h TVirtualTreePlayer_Draw" c_tvirtualtreeplayer_draw 
-  :: (Ptr RawTVirtualTreePlayer) -> CString -> IO ()
-foreign import ccall "HROOT.h TVirtualTreePlayer_SaveAs" c_tvirtualtreeplayer_saveas 
-  :: (Ptr RawTVirtualTreePlayer) -> CString -> CString -> IO ()
-foreign import ccall "HROOT.h TVirtualTreePlayer_Write" c_tvirtualtreeplayer_write 
-  :: (Ptr RawTVirtualTreePlayer) -> CString -> CInt -> CInt -> IO CInt
-
-foreign import ccall "HROOT.h TTreePlayer_GetName" c_ttreeplayer_getname 
-  :: (Ptr RawTTreePlayer) -> IO CString
-foreign import ccall "HROOT.h TTreePlayer_Draw" c_ttreeplayer_draw 
-  :: (Ptr RawTTreePlayer) -> CString -> IO ()
-foreign import ccall "HROOT.h TTreePlayer_SaveAs" c_ttreeplayer_saveas 
-  :: (Ptr RawTTreePlayer) -> CString -> CString -> IO ()
-foreign import ccall "HROOT.h TTreePlayer_Write" c_ttreeplayer_write 
-  :: (Ptr RawTTreePlayer) -> CString -> CInt -> CInt -> IO CInt
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-foreign import ccall "HROOT.h TH1_SetTitle" c_th1_settitle 
-  :: (Ptr RawTH1) -> CString -> IO ()
-foreign import ccall "HROOT.h TH1_SetLineColor" c_th1_setlinecolor 
-  :: (Ptr RawTH1) -> CInt -> IO ()
-foreign import ccall "HROOT.h TH1_SetFillColor" c_th1_setfillcolor 
-  :: (Ptr RawTH1) -> CInt -> IO ()
-foreign import ccall "HROOT.h TH1_SetFillStyle" c_th1_setfillstyle 
-  :: (Ptr RawTH1) -> CInt -> IO ()
-foreign import ccall "HROOT.h TH1_GetName" c_th1_getname 
-  :: (Ptr RawTH1) -> IO CString
-foreign import ccall "HROOT.h TH1_Draw" c_th1_draw 
-  :: (Ptr RawTH1) -> CString -> IO ()
-foreign import ccall "HROOT.h TH1_SaveAs" c_th1_saveas 
-  :: (Ptr RawTH1) -> CString -> CString -> IO ()
-foreign import ccall "HROOT.h TH1_Write" c_th1_write 
-  :: (Ptr RawTH1) -> CString -> CInt -> CInt -> IO CInt
-foreign import ccall "HROOT.h TH1_GetXaxis" c_th1_getxaxis 
-  :: (Ptr RawTH1) -> IO (Ptr RawTAxis)
-foreign import ccall "HROOT.h TH1_GetYaxis" c_th1_getyaxis 
-  :: (Ptr RawTH1) -> IO (Ptr RawTAxis)
-foreign import ccall "HROOT.h TH1_GetZaxis" c_th1_getzaxis 
-  :: (Ptr RawTH1) -> IO (Ptr RawTAxis)
-foreign import ccall "HROOT.h TH1_Add" c_th1_add 
-  :: (Ptr RawTH1) -> (Ptr RawTH1) -> CDouble -> IO ()
-foreign import ccall "HROOT.h TH1_fill1" c_th1_fill1 
-  :: (Ptr RawTH1) -> CDouble -> IO CInt
-
-
-foreign import ccall "HROOT.h TH2_GetXaxis" c_th2_getxaxis 
-  :: (Ptr RawTH2) -> IO (Ptr RawTAxis)
-foreign import ccall "HROOT.h TH2_GetYaxis" c_th2_getyaxis 
-  :: (Ptr RawTH2) -> IO (Ptr RawTAxis)
-foreign import ccall "HROOT.h TH2_GetZaxis" c_th2_getzaxis 
-  :: (Ptr RawTH2) -> IO (Ptr RawTAxis)
-foreign import ccall "HROOT.h TH2_Add" c_th2_add 
-  :: (Ptr RawTH2) -> (Ptr RawTH1) -> CDouble -> IO ()
-foreign import ccall "HROOT.h TH2_fill1" c_th2_fill1 
-  :: (Ptr RawTH2) -> CDouble -> IO CInt
-foreign import ccall "HROOT.h TH2_SetTitle" c_th2_settitle 
-  :: (Ptr RawTH2) -> CString -> IO ()
-foreign import ccall "HROOT.h TH2_SetLineColor" c_th2_setlinecolor 
-  :: (Ptr RawTH2) -> CInt -> IO ()
-foreign import ccall "HROOT.h TH2_SetFillColor" c_th2_setfillcolor 
-  :: (Ptr RawTH2) -> CInt -> IO ()
-foreign import ccall "HROOT.h TH2_SetFillStyle" c_th2_setfillstyle 
-  :: (Ptr RawTH2) -> CInt -> IO ()
-foreign import ccall "HROOT.h TH2_GetName" c_th2_getname 
-  :: (Ptr RawTH2) -> IO CString
-foreign import ccall "HROOT.h TH2_Draw" c_th2_draw 
-  :: (Ptr RawTH2) -> CString -> IO ()
-foreign import ccall "HROOT.h TH2_SaveAs" c_th2_saveas 
-  :: (Ptr RawTH2) -> CString -> CString -> IO ()
-foreign import ccall "HROOT.h TH2_Write" c_th2_write 
-  :: (Ptr RawTH2) -> CString -> CInt -> CInt -> IO CInt
-foreign import ccall "HROOT.h TH2_fill2" c_th2_fill2 
-  :: (Ptr RawTH2) -> CDouble -> CDouble -> IO CInt
-
-
-foreign import ccall "HROOT.h TH3_GetXaxis" c_th3_getxaxis 
-  :: (Ptr RawTH3) -> IO (Ptr RawTAxis)
-foreign import ccall "HROOT.h TH3_GetYaxis" c_th3_getyaxis 
-  :: (Ptr RawTH3) -> IO (Ptr RawTAxis)
-foreign import ccall "HROOT.h TH3_GetZaxis" c_th3_getzaxis 
-  :: (Ptr RawTH3) -> IO (Ptr RawTAxis)
-foreign import ccall "HROOT.h TH3_Add" c_th3_add 
-  :: (Ptr RawTH3) -> (Ptr RawTH1) -> CDouble -> IO ()
-foreign import ccall "HROOT.h TH3_fill1" c_th3_fill1 
-  :: (Ptr RawTH3) -> CDouble -> IO CInt
-foreign import ccall "HROOT.h TH3_SetTitle" c_th3_settitle 
-  :: (Ptr RawTH3) -> CString -> IO ()
-foreign import ccall "HROOT.h TH3_SetLineColor" c_th3_setlinecolor 
-  :: (Ptr RawTH3) -> CInt -> IO ()
-foreign import ccall "HROOT.h TH3_SetFillColor" c_th3_setfillcolor 
-  :: (Ptr RawTH3) -> CInt -> IO ()
-foreign import ccall "HROOT.h TH3_SetFillStyle" c_th3_setfillstyle 
-  :: (Ptr RawTH3) -> CInt -> IO ()
-foreign import ccall "HROOT.h TH3_GetName" c_th3_getname 
-  :: (Ptr RawTH3) -> IO CString
-foreign import ccall "HROOT.h TH3_Draw" c_th3_draw 
-  :: (Ptr RawTH3) -> CString -> IO ()
-foreign import ccall "HROOT.h TH3_SaveAs" c_th3_saveas 
-  :: (Ptr RawTH3) -> CString -> CString -> IO ()
-foreign import ccall "HROOT.h TH3_Write" c_th3_write 
-  :: (Ptr RawTH3) -> CString -> CInt -> CInt -> IO CInt
-
-foreign import ccall "HROOT.h TH1C_GetXaxis" c_th1c_getxaxis 
-  :: (Ptr RawTH1C) -> IO (Ptr RawTAxis)
-foreign import ccall "HROOT.h TH1C_GetYaxis" c_th1c_getyaxis 
-  :: (Ptr RawTH1C) -> IO (Ptr RawTAxis)
-foreign import ccall "HROOT.h TH1C_GetZaxis" c_th1c_getzaxis 
-  :: (Ptr RawTH1C) -> IO (Ptr RawTAxis)
-foreign import ccall "HROOT.h TH1C_Add" c_th1c_add 
-  :: (Ptr RawTH1C) -> (Ptr RawTH1) -> CDouble -> IO ()
-foreign import ccall "HROOT.h TH1C_fill1" c_th1c_fill1 
-  :: (Ptr RawTH1C) -> CDouble -> IO CInt
-foreign import ccall "HROOT.h TH1C_SetTitle" c_th1c_settitle 
-  :: (Ptr RawTH1C) -> CString -> IO ()
-foreign import ccall "HROOT.h TH1C_SetLineColor" c_th1c_setlinecolor 
-  :: (Ptr RawTH1C) -> CInt -> IO ()
-foreign import ccall "HROOT.h TH1C_SetFillColor" c_th1c_setfillcolor 
-  :: (Ptr RawTH1C) -> CInt -> IO ()
-foreign import ccall "HROOT.h TH1C_SetFillStyle" c_th1c_setfillstyle 
-  :: (Ptr RawTH1C) -> CInt -> IO ()
-foreign import ccall "HROOT.h TH1C_GetName" c_th1c_getname 
-  :: (Ptr RawTH1C) -> IO CString
-foreign import ccall "HROOT.h TH1C_Draw" c_th1c_draw 
-  :: (Ptr RawTH1C) -> CString -> IO ()
-foreign import ccall "HROOT.h TH1C_SaveAs" c_th1c_saveas 
-  :: (Ptr RawTH1C) -> CString -> CString -> IO ()
-foreign import ccall "HROOT.h TH1C_Write" c_th1c_write 
-  :: (Ptr RawTH1C) -> CString -> CInt -> CInt -> IO CInt
-
-foreign import ccall "HROOT.h TH1D_GetXaxis" c_th1d_getxaxis 
-  :: (Ptr RawTH1D) -> IO (Ptr RawTAxis)
-foreign import ccall "HROOT.h TH1D_GetYaxis" c_th1d_getyaxis 
-  :: (Ptr RawTH1D) -> IO (Ptr RawTAxis)
-foreign import ccall "HROOT.h TH1D_GetZaxis" c_th1d_getzaxis 
-  :: (Ptr RawTH1D) -> IO (Ptr RawTAxis)
-foreign import ccall "HROOT.h TH1D_Add" c_th1d_add 
-  :: (Ptr RawTH1D) -> (Ptr RawTH1) -> CDouble -> IO ()
-foreign import ccall "HROOT.h TH1D_fill1" c_th1d_fill1 
-  :: (Ptr RawTH1D) -> CDouble -> IO CInt
-foreign import ccall "HROOT.h TH1D_SetTitle" c_th1d_settitle 
-  :: (Ptr RawTH1D) -> CString -> IO ()
-foreign import ccall "HROOT.h TH1D_SetLineColor" c_th1d_setlinecolor 
-  :: (Ptr RawTH1D) -> CInt -> IO ()
-foreign import ccall "HROOT.h TH1D_SetFillColor" c_th1d_setfillcolor 
-  :: (Ptr RawTH1D) -> CInt -> IO ()
-foreign import ccall "HROOT.h TH1D_SetFillStyle" c_th1d_setfillstyle 
-  :: (Ptr RawTH1D) -> CInt -> IO ()
-foreign import ccall "HROOT.h TH1D_GetName" c_th1d_getname 
-  :: (Ptr RawTH1D) -> IO CString
-foreign import ccall "HROOT.h TH1D_Draw" c_th1d_draw 
-  :: (Ptr RawTH1D) -> CString -> IO ()
-foreign import ccall "HROOT.h TH1D_SaveAs" c_th1d_saveas 
-  :: (Ptr RawTH1D) -> CString -> CString -> IO ()
-foreign import ccall "HROOT.h TH1D_Write" c_th1d_write 
-  :: (Ptr RawTH1D) -> CString -> CInt -> CInt -> IO CInt
-
-foreign import ccall "HROOT.h TH1F_GetXaxis" c_th1f_getxaxis 
-  :: (Ptr RawTH1F) -> IO (Ptr RawTAxis)
-foreign import ccall "HROOT.h TH1F_GetYaxis" c_th1f_getyaxis 
-  :: (Ptr RawTH1F) -> IO (Ptr RawTAxis)
-foreign import ccall "HROOT.h TH1F_GetZaxis" c_th1f_getzaxis 
-  :: (Ptr RawTH1F) -> IO (Ptr RawTAxis)
-foreign import ccall "HROOT.h TH1F_Add" c_th1f_add 
-  :: (Ptr RawTH1F) -> (Ptr RawTH1) -> CDouble -> IO ()
-foreign import ccall "HROOT.h TH1F_fill1" c_th1f_fill1 
-  :: (Ptr RawTH1F) -> CDouble -> IO CInt
-foreign import ccall "HROOT.h TH1F_SetTitle" c_th1f_settitle 
-  :: (Ptr RawTH1F) -> CString -> IO ()
-foreign import ccall "HROOT.h TH1F_SetLineColor" c_th1f_setlinecolor 
-  :: (Ptr RawTH1F) -> CInt -> IO ()
-foreign import ccall "HROOT.h TH1F_SetFillColor" c_th1f_setfillcolor 
-  :: (Ptr RawTH1F) -> CInt -> IO ()
-foreign import ccall "HROOT.h TH1F_SetFillStyle" c_th1f_setfillstyle 
-  :: (Ptr RawTH1F) -> CInt -> IO ()
-foreign import ccall "HROOT.h TH1F_GetName" c_th1f_getname 
-  :: (Ptr RawTH1F) -> IO CString
-foreign import ccall "HROOT.h TH1F_Draw" c_th1f_draw 
-  :: (Ptr RawTH1F) -> CString -> IO ()
-foreign import ccall "HROOT.h TH1F_SaveAs" c_th1f_saveas 
-  :: (Ptr RawTH1F) -> CString -> CString -> IO ()
-foreign import ccall "HROOT.h TH1F_Write" c_th1f_write 
-  :: (Ptr RawTH1F) -> CString -> CInt -> CInt -> IO CInt
-foreign import ccall "HROOT.h TH1F_newTH1F" c_th1f_newth1f 
-  :: CString -> CString -> CInt -> CDouble -> CDouble -> IO (Ptr RawTH1F)
-
-
-foreign import ccall "HROOT.h TH1I_GetXaxis" c_th1i_getxaxis 
-  :: (Ptr RawTH1I) -> IO (Ptr RawTAxis)
-foreign import ccall "HROOT.h TH1I_GetYaxis" c_th1i_getyaxis 
-  :: (Ptr RawTH1I) -> IO (Ptr RawTAxis)
-foreign import ccall "HROOT.h TH1I_GetZaxis" c_th1i_getzaxis 
-  :: (Ptr RawTH1I) -> IO (Ptr RawTAxis)
-foreign import ccall "HROOT.h TH1I_Add" c_th1i_add 
-  :: (Ptr RawTH1I) -> (Ptr RawTH1) -> CDouble -> IO ()
-foreign import ccall "HROOT.h TH1I_fill1" c_th1i_fill1 
-  :: (Ptr RawTH1I) -> CDouble -> IO CInt
-foreign import ccall "HROOT.h TH1I_SetTitle" c_th1i_settitle 
-  :: (Ptr RawTH1I) -> CString -> IO ()
-foreign import ccall "HROOT.h TH1I_SetLineColor" c_th1i_setlinecolor 
-  :: (Ptr RawTH1I) -> CInt -> IO ()
-foreign import ccall "HROOT.h TH1I_SetFillColor" c_th1i_setfillcolor 
-  :: (Ptr RawTH1I) -> CInt -> IO ()
-foreign import ccall "HROOT.h TH1I_SetFillStyle" c_th1i_setfillstyle 
-  :: (Ptr RawTH1I) -> CInt -> IO ()
-foreign import ccall "HROOT.h TH1I_GetName" c_th1i_getname 
-  :: (Ptr RawTH1I) -> IO CString
-foreign import ccall "HROOT.h TH1I_Draw" c_th1i_draw 
-  :: (Ptr RawTH1I) -> CString -> IO ()
-foreign import ccall "HROOT.h TH1I_SaveAs" c_th1i_saveas 
-  :: (Ptr RawTH1I) -> CString -> CString -> IO ()
-foreign import ccall "HROOT.h TH1I_Write" c_th1i_write 
-  :: (Ptr RawTH1I) -> CString -> CInt -> CInt -> IO CInt
-
-foreign import ccall "HROOT.h TH1S_GetXaxis" c_th1s_getxaxis 
-  :: (Ptr RawTH1S) -> IO (Ptr RawTAxis)
-foreign import ccall "HROOT.h TH1S_GetYaxis" c_th1s_getyaxis 
-  :: (Ptr RawTH1S) -> IO (Ptr RawTAxis)
-foreign import ccall "HROOT.h TH1S_GetZaxis" c_th1s_getzaxis 
-  :: (Ptr RawTH1S) -> IO (Ptr RawTAxis)
-foreign import ccall "HROOT.h TH1S_Add" c_th1s_add 
-  :: (Ptr RawTH1S) -> (Ptr RawTH1) -> CDouble -> IO ()
-foreign import ccall "HROOT.h TH1S_fill1" c_th1s_fill1 
-  :: (Ptr RawTH1S) -> CDouble -> IO CInt
-foreign import ccall "HROOT.h TH1S_SetTitle" c_th1s_settitle 
-  :: (Ptr RawTH1S) -> CString -> IO ()
-foreign import ccall "HROOT.h TH1S_SetLineColor" c_th1s_setlinecolor 
-  :: (Ptr RawTH1S) -> CInt -> IO ()
-foreign import ccall "HROOT.h TH1S_SetFillColor" c_th1s_setfillcolor 
-  :: (Ptr RawTH1S) -> CInt -> IO ()
-foreign import ccall "HROOT.h TH1S_SetFillStyle" c_th1s_setfillstyle 
-  :: (Ptr RawTH1S) -> CInt -> IO ()
-foreign import ccall "HROOT.h TH1S_GetName" c_th1s_getname 
-  :: (Ptr RawTH1S) -> IO CString
-foreign import ccall "HROOT.h TH1S_Draw" c_th1s_draw 
-  :: (Ptr RawTH1S) -> CString -> IO ()
-foreign import ccall "HROOT.h TH1S_SaveAs" c_th1s_saveas 
-  :: (Ptr RawTH1S) -> CString -> CString -> IO ()
-foreign import ccall "HROOT.h TH1S_Write" c_th1s_write 
-  :: (Ptr RawTH1S) -> CString -> CInt -> CInt -> IO CInt
-
-foreign import ccall "HROOT.h TH2C_fill2" c_th2c_fill2 
-  :: (Ptr RawTH2C) -> CDouble -> CDouble -> IO CInt
-foreign import ccall "HROOT.h TH2C_GetXaxis" c_th2c_getxaxis 
-  :: (Ptr RawTH2C) -> IO (Ptr RawTAxis)
-foreign import ccall "HROOT.h TH2C_GetYaxis" c_th2c_getyaxis 
-  :: (Ptr RawTH2C) -> IO (Ptr RawTAxis)
-foreign import ccall "HROOT.h TH2C_GetZaxis" c_th2c_getzaxis 
-  :: (Ptr RawTH2C) -> IO (Ptr RawTAxis)
-foreign import ccall "HROOT.h TH2C_Add" c_th2c_add 
-  :: (Ptr RawTH2C) -> (Ptr RawTH1) -> CDouble -> IO ()
-foreign import ccall "HROOT.h TH2C_fill1" c_th2c_fill1 
-  :: (Ptr RawTH2C) -> CDouble -> IO CInt
-foreign import ccall "HROOT.h TH2C_SetTitle" c_th2c_settitle 
-  :: (Ptr RawTH2C) -> CString -> IO ()
-foreign import ccall "HROOT.h TH2C_SetLineColor" c_th2c_setlinecolor 
-  :: (Ptr RawTH2C) -> CInt -> IO ()
-foreign import ccall "HROOT.h TH2C_SetFillColor" c_th2c_setfillcolor 
-  :: (Ptr RawTH2C) -> CInt -> IO ()
-foreign import ccall "HROOT.h TH2C_SetFillStyle" c_th2c_setfillstyle 
-  :: (Ptr RawTH2C) -> CInt -> IO ()
-foreign import ccall "HROOT.h TH2C_GetName" c_th2c_getname 
-  :: (Ptr RawTH2C) -> IO CString
-foreign import ccall "HROOT.h TH2C_Draw" c_th2c_draw 
-  :: (Ptr RawTH2C) -> CString -> IO ()
-foreign import ccall "HROOT.h TH2C_SaveAs" c_th2c_saveas 
-  :: (Ptr RawTH2C) -> CString -> CString -> IO ()
-foreign import ccall "HROOT.h TH2C_Write" c_th2c_write 
-  :: (Ptr RawTH2C) -> CString -> CInt -> CInt -> IO CInt
-
-foreign import ccall "HROOT.h TH2D_fill2" c_th2d_fill2 
-  :: (Ptr RawTH2D) -> CDouble -> CDouble -> IO CInt
-foreign import ccall "HROOT.h TH2D_GetXaxis" c_th2d_getxaxis 
-  :: (Ptr RawTH2D) -> IO (Ptr RawTAxis)
-foreign import ccall "HROOT.h TH2D_GetYaxis" c_th2d_getyaxis 
-  :: (Ptr RawTH2D) -> IO (Ptr RawTAxis)
-foreign import ccall "HROOT.h TH2D_GetZaxis" c_th2d_getzaxis 
-  :: (Ptr RawTH2D) -> IO (Ptr RawTAxis)
-foreign import ccall "HROOT.h TH2D_Add" c_th2d_add 
-  :: (Ptr RawTH2D) -> (Ptr RawTH1) -> CDouble -> IO ()
-foreign import ccall "HROOT.h TH2D_fill1" c_th2d_fill1 
-  :: (Ptr RawTH2D) -> CDouble -> IO CInt
-foreign import ccall "HROOT.h TH2D_SetTitle" c_th2d_settitle 
-  :: (Ptr RawTH2D) -> CString -> IO ()
-foreign import ccall "HROOT.h TH2D_SetLineColor" c_th2d_setlinecolor 
-  :: (Ptr RawTH2D) -> CInt -> IO ()
-foreign import ccall "HROOT.h TH2D_SetFillColor" c_th2d_setfillcolor 
-  :: (Ptr RawTH2D) -> CInt -> IO ()
-foreign import ccall "HROOT.h TH2D_SetFillStyle" c_th2d_setfillstyle 
-  :: (Ptr RawTH2D) -> CInt -> IO ()
-foreign import ccall "HROOT.h TH2D_GetName" c_th2d_getname 
-  :: (Ptr RawTH2D) -> IO CString
-foreign import ccall "HROOT.h TH2D_Draw" c_th2d_draw 
-  :: (Ptr RawTH2D) -> CString -> IO ()
-foreign import ccall "HROOT.h TH2D_SaveAs" c_th2d_saveas 
-  :: (Ptr RawTH2D) -> CString -> CString -> IO ()
-foreign import ccall "HROOT.h TH2D_Write" c_th2d_write 
-  :: (Ptr RawTH2D) -> CString -> CInt -> CInt -> IO CInt
-
-foreign import ccall "HROOT.h TH2F_fill2" c_th2f_fill2 
-  :: (Ptr RawTH2F) -> CDouble -> CDouble -> IO CInt
-foreign import ccall "HROOT.h TH2F_GetXaxis" c_th2f_getxaxis 
-  :: (Ptr RawTH2F) -> IO (Ptr RawTAxis)
-foreign import ccall "HROOT.h TH2F_GetYaxis" c_th2f_getyaxis 
-  :: (Ptr RawTH2F) -> IO (Ptr RawTAxis)
-foreign import ccall "HROOT.h TH2F_GetZaxis" c_th2f_getzaxis 
-  :: (Ptr RawTH2F) -> IO (Ptr RawTAxis)
-foreign import ccall "HROOT.h TH2F_Add" c_th2f_add 
-  :: (Ptr RawTH2F) -> (Ptr RawTH1) -> CDouble -> IO ()
-foreign import ccall "HROOT.h TH2F_fill1" c_th2f_fill1 
-  :: (Ptr RawTH2F) -> CDouble -> IO CInt
-foreign import ccall "HROOT.h TH2F_SetTitle" c_th2f_settitle 
-  :: (Ptr RawTH2F) -> CString -> IO ()
-foreign import ccall "HROOT.h TH2F_SetLineColor" c_th2f_setlinecolor 
-  :: (Ptr RawTH2F) -> CInt -> IO ()
-foreign import ccall "HROOT.h TH2F_SetFillColor" c_th2f_setfillcolor 
-  :: (Ptr RawTH2F) -> CInt -> IO ()
-foreign import ccall "HROOT.h TH2F_SetFillStyle" c_th2f_setfillstyle 
-  :: (Ptr RawTH2F) -> CInt -> IO ()
-foreign import ccall "HROOT.h TH2F_GetName" c_th2f_getname 
-  :: (Ptr RawTH2F) -> IO CString
-foreign import ccall "HROOT.h TH2F_Draw" c_th2f_draw 
-  :: (Ptr RawTH2F) -> CString -> IO ()
-foreign import ccall "HROOT.h TH2F_SaveAs" c_th2f_saveas 
-  :: (Ptr RawTH2F) -> CString -> CString -> IO ()
-foreign import ccall "HROOT.h TH2F_Write" c_th2f_write 
-  :: (Ptr RawTH2F) -> CString -> CInt -> CInt -> IO CInt
-foreign import ccall "HROOT.h TH2F_newTH2F" c_th2f_newth2f 
-  :: CString -> CString -> CInt -> CDouble -> CDouble -> CInt -> CDouble -> CDouble -> IO (Ptr RawTH2F)
-
-
-foreign import ccall "HROOT.h TH2I_fill2" c_th2i_fill2 
-  :: (Ptr RawTH2I) -> CDouble -> CDouble -> IO CInt
-foreign import ccall "HROOT.h TH2I_GetXaxis" c_th2i_getxaxis 
-  :: (Ptr RawTH2I) -> IO (Ptr RawTAxis)
-foreign import ccall "HROOT.h TH2I_GetYaxis" c_th2i_getyaxis 
-  :: (Ptr RawTH2I) -> IO (Ptr RawTAxis)
-foreign import ccall "HROOT.h TH2I_GetZaxis" c_th2i_getzaxis 
-  :: (Ptr RawTH2I) -> IO (Ptr RawTAxis)
-foreign import ccall "HROOT.h TH2I_Add" c_th2i_add 
-  :: (Ptr RawTH2I) -> (Ptr RawTH1) -> CDouble -> IO ()
-foreign import ccall "HROOT.h TH2I_fill1" c_th2i_fill1 
-  :: (Ptr RawTH2I) -> CDouble -> IO CInt
-foreign import ccall "HROOT.h TH2I_SetTitle" c_th2i_settitle 
-  :: (Ptr RawTH2I) -> CString -> IO ()
-foreign import ccall "HROOT.h TH2I_SetLineColor" c_th2i_setlinecolor 
-  :: (Ptr RawTH2I) -> CInt -> IO ()
-foreign import ccall "HROOT.h TH2I_SetFillColor" c_th2i_setfillcolor 
-  :: (Ptr RawTH2I) -> CInt -> IO ()
-foreign import ccall "HROOT.h TH2I_SetFillStyle" c_th2i_setfillstyle 
-  :: (Ptr RawTH2I) -> CInt -> IO ()
-foreign import ccall "HROOT.h TH2I_GetName" c_th2i_getname 
-  :: (Ptr RawTH2I) -> IO CString
-foreign import ccall "HROOT.h TH2I_Draw" c_th2i_draw 
-  :: (Ptr RawTH2I) -> CString -> IO ()
-foreign import ccall "HROOT.h TH2I_SaveAs" c_th2i_saveas 
-  :: (Ptr RawTH2I) -> CString -> CString -> IO ()
-foreign import ccall "HROOT.h TH2I_Write" c_th2i_write 
-  :: (Ptr RawTH2I) -> CString -> CInt -> CInt -> IO CInt
-
-foreign import ccall "HROOT.h TH2Poly_fill2" c_th2poly_fill2 
-  :: (Ptr RawTH2Poly) -> CDouble -> CDouble -> IO CInt
-foreign import ccall "HROOT.h TH2Poly_GetXaxis" c_th2poly_getxaxis 
-  :: (Ptr RawTH2Poly) -> IO (Ptr RawTAxis)
-foreign import ccall "HROOT.h TH2Poly_GetYaxis" c_th2poly_getyaxis 
-  :: (Ptr RawTH2Poly) -> IO (Ptr RawTAxis)
-foreign import ccall "HROOT.h TH2Poly_GetZaxis" c_th2poly_getzaxis 
-  :: (Ptr RawTH2Poly) -> IO (Ptr RawTAxis)
-foreign import ccall "HROOT.h TH2Poly_Add" c_th2poly_add 
-  :: (Ptr RawTH2Poly) -> (Ptr RawTH1) -> CDouble -> IO ()
-foreign import ccall "HROOT.h TH2Poly_fill1" c_th2poly_fill1 
-  :: (Ptr RawTH2Poly) -> CDouble -> IO CInt
-foreign import ccall "HROOT.h TH2Poly_SetTitle" c_th2poly_settitle 
-  :: (Ptr RawTH2Poly) -> CString -> IO ()
-foreign import ccall "HROOT.h TH2Poly_SetLineColor" c_th2poly_setlinecolor 
-  :: (Ptr RawTH2Poly) -> CInt -> IO ()
-foreign import ccall "HROOT.h TH2Poly_SetFillColor" c_th2poly_setfillcolor 
-  :: (Ptr RawTH2Poly) -> CInt -> IO ()
-foreign import ccall "HROOT.h TH2Poly_SetFillStyle" c_th2poly_setfillstyle 
-  :: (Ptr RawTH2Poly) -> CInt -> IO ()
-foreign import ccall "HROOT.h TH2Poly_GetName" c_th2poly_getname 
-  :: (Ptr RawTH2Poly) -> IO CString
-foreign import ccall "HROOT.h TH2Poly_Draw" c_th2poly_draw 
-  :: (Ptr RawTH2Poly) -> CString -> IO ()
-foreign import ccall "HROOT.h TH2Poly_SaveAs" c_th2poly_saveas 
-  :: (Ptr RawTH2Poly) -> CString -> CString -> IO ()
-foreign import ccall "HROOT.h TH2Poly_Write" c_th2poly_write 
-  :: (Ptr RawTH2Poly) -> CString -> CInt -> CInt -> IO CInt
-
-foreign import ccall "HROOT.h TH2S_fill2" c_th2s_fill2 
-  :: (Ptr RawTH2S) -> CDouble -> CDouble -> IO CInt
-foreign import ccall "HROOT.h TH2S_GetXaxis" c_th2s_getxaxis 
-  :: (Ptr RawTH2S) -> IO (Ptr RawTAxis)
-foreign import ccall "HROOT.h TH2S_GetYaxis" c_th2s_getyaxis 
-  :: (Ptr RawTH2S) -> IO (Ptr RawTAxis)
-foreign import ccall "HROOT.h TH2S_GetZaxis" c_th2s_getzaxis 
-  :: (Ptr RawTH2S) -> IO (Ptr RawTAxis)
-foreign import ccall "HROOT.h TH2S_Add" c_th2s_add 
-  :: (Ptr RawTH2S) -> (Ptr RawTH1) -> CDouble -> IO ()
-foreign import ccall "HROOT.h TH2S_fill1" c_th2s_fill1 
-  :: (Ptr RawTH2S) -> CDouble -> IO CInt
-foreign import ccall "HROOT.h TH2S_SetTitle" c_th2s_settitle 
-  :: (Ptr RawTH2S) -> CString -> IO ()
-foreign import ccall "HROOT.h TH2S_SetLineColor" c_th2s_setlinecolor 
-  :: (Ptr RawTH2S) -> CInt -> IO ()
-foreign import ccall "HROOT.h TH2S_SetFillColor" c_th2s_setfillcolor 
-  :: (Ptr RawTH2S) -> CInt -> IO ()
-foreign import ccall "HROOT.h TH2S_SetFillStyle" c_th2s_setfillstyle 
-  :: (Ptr RawTH2S) -> CInt -> IO ()
-foreign import ccall "HROOT.h TH2S_GetName" c_th2s_getname 
-  :: (Ptr RawTH2S) -> IO CString
-foreign import ccall "HROOT.h TH2S_Draw" c_th2s_draw 
-  :: (Ptr RawTH2S) -> CString -> IO ()
-foreign import ccall "HROOT.h TH2S_SaveAs" c_th2s_saveas 
-  :: (Ptr RawTH2S) -> CString -> CString -> IO ()
-foreign import ccall "HROOT.h TH2S_Write" c_th2s_write 
-  :: (Ptr RawTH2S) -> CString -> CInt -> CInt -> IO CInt
-
-foreign import ccall "HROOT.h TH3C_GetXaxis" c_th3c_getxaxis 
-  :: (Ptr RawTH3C) -> IO (Ptr RawTAxis)
-foreign import ccall "HROOT.h TH3C_GetYaxis" c_th3c_getyaxis 
-  :: (Ptr RawTH3C) -> IO (Ptr RawTAxis)
-foreign import ccall "HROOT.h TH3C_GetZaxis" c_th3c_getzaxis 
-  :: (Ptr RawTH3C) -> IO (Ptr RawTAxis)
-foreign import ccall "HROOT.h TH3C_Add" c_th3c_add 
-  :: (Ptr RawTH3C) -> (Ptr RawTH1) -> CDouble -> IO ()
-foreign import ccall "HROOT.h TH3C_fill1" c_th3c_fill1 
-  :: (Ptr RawTH3C) -> CDouble -> IO CInt
-foreign import ccall "HROOT.h TH3C_SetTitle" c_th3c_settitle 
-  :: (Ptr RawTH3C) -> CString -> IO ()
-foreign import ccall "HROOT.h TH3C_SetLineColor" c_th3c_setlinecolor 
-  :: (Ptr RawTH3C) -> CInt -> IO ()
-foreign import ccall "HROOT.h TH3C_SetFillColor" c_th3c_setfillcolor 
-  :: (Ptr RawTH3C) -> CInt -> IO ()
-foreign import ccall "HROOT.h TH3C_SetFillStyle" c_th3c_setfillstyle 
-  :: (Ptr RawTH3C) -> CInt -> IO ()
-foreign import ccall "HROOT.h TH3C_GetName" c_th3c_getname 
-  :: (Ptr RawTH3C) -> IO CString
-foreign import ccall "HROOT.h TH3C_Draw" c_th3c_draw 
-  :: (Ptr RawTH3C) -> CString -> IO ()
-foreign import ccall "HROOT.h TH3C_SaveAs" c_th3c_saveas 
-  :: (Ptr RawTH3C) -> CString -> CString -> IO ()
-foreign import ccall "HROOT.h TH3C_Write" c_th3c_write 
-  :: (Ptr RawTH3C) -> CString -> CInt -> CInt -> IO CInt
-
-foreign import ccall "HROOT.h TH3D_GetXaxis" c_th3d_getxaxis 
-  :: (Ptr RawTH3D) -> IO (Ptr RawTAxis)
-foreign import ccall "HROOT.h TH3D_GetYaxis" c_th3d_getyaxis 
-  :: (Ptr RawTH3D) -> IO (Ptr RawTAxis)
-foreign import ccall "HROOT.h TH3D_GetZaxis" c_th3d_getzaxis 
-  :: (Ptr RawTH3D) -> IO (Ptr RawTAxis)
-foreign import ccall "HROOT.h TH3D_Add" c_th3d_add 
-  :: (Ptr RawTH3D) -> (Ptr RawTH1) -> CDouble -> IO ()
-foreign import ccall "HROOT.h TH3D_fill1" c_th3d_fill1 
-  :: (Ptr RawTH3D) -> CDouble -> IO CInt
-foreign import ccall "HROOT.h TH3D_SetTitle" c_th3d_settitle 
-  :: (Ptr RawTH3D) -> CString -> IO ()
-foreign import ccall "HROOT.h TH3D_SetLineColor" c_th3d_setlinecolor 
-  :: (Ptr RawTH3D) -> CInt -> IO ()
-foreign import ccall "HROOT.h TH3D_SetFillColor" c_th3d_setfillcolor 
-  :: (Ptr RawTH3D) -> CInt -> IO ()
-foreign import ccall "HROOT.h TH3D_SetFillStyle" c_th3d_setfillstyle 
-  :: (Ptr RawTH3D) -> CInt -> IO ()
-foreign import ccall "HROOT.h TH3D_GetName" c_th3d_getname 
-  :: (Ptr RawTH3D) -> IO CString
-foreign import ccall "HROOT.h TH3D_Draw" c_th3d_draw 
-  :: (Ptr RawTH3D) -> CString -> IO ()
-foreign import ccall "HROOT.h TH3D_SaveAs" c_th3d_saveas 
-  :: (Ptr RawTH3D) -> CString -> CString -> IO ()
-foreign import ccall "HROOT.h TH3D_Write" c_th3d_write 
-  :: (Ptr RawTH3D) -> CString -> CInt -> CInt -> IO CInt
-
-foreign import ccall "HROOT.h TH3F_GetXaxis" c_th3f_getxaxis 
-  :: (Ptr RawTH3F) -> IO (Ptr RawTAxis)
-foreign import ccall "HROOT.h TH3F_GetYaxis" c_th3f_getyaxis 
-  :: (Ptr RawTH3F) -> IO (Ptr RawTAxis)
-foreign import ccall "HROOT.h TH3F_GetZaxis" c_th3f_getzaxis 
-  :: (Ptr RawTH3F) -> IO (Ptr RawTAxis)
-foreign import ccall "HROOT.h TH3F_Add" c_th3f_add 
-  :: (Ptr RawTH3F) -> (Ptr RawTH1) -> CDouble -> IO ()
-foreign import ccall "HROOT.h TH3F_fill1" c_th3f_fill1 
-  :: (Ptr RawTH3F) -> CDouble -> IO CInt
-foreign import ccall "HROOT.h TH3F_SetTitle" c_th3f_settitle 
-  :: (Ptr RawTH3F) -> CString -> IO ()
-foreign import ccall "HROOT.h TH3F_SetLineColor" c_th3f_setlinecolor 
-  :: (Ptr RawTH3F) -> CInt -> IO ()
-foreign import ccall "HROOT.h TH3F_SetFillColor" c_th3f_setfillcolor 
-  :: (Ptr RawTH3F) -> CInt -> IO ()
-foreign import ccall "HROOT.h TH3F_SetFillStyle" c_th3f_setfillstyle 
-  :: (Ptr RawTH3F) -> CInt -> IO ()
-foreign import ccall "HROOT.h TH3F_GetName" c_th3f_getname 
-  :: (Ptr RawTH3F) -> IO CString
-foreign import ccall "HROOT.h TH3F_Draw" c_th3f_draw 
-  :: (Ptr RawTH3F) -> CString -> IO ()
-foreign import ccall "HROOT.h TH3F_SaveAs" c_th3f_saveas 
-  :: (Ptr RawTH3F) -> CString -> CString -> IO ()
-foreign import ccall "HROOT.h TH3F_Write" c_th3f_write 
-  :: (Ptr RawTH3F) -> CString -> CInt -> CInt -> IO CInt
-
-foreign import ccall "HROOT.h TH3I_GetXaxis" c_th3i_getxaxis 
-  :: (Ptr RawTH3I) -> IO (Ptr RawTAxis)
-foreign import ccall "HROOT.h TH3I_GetYaxis" c_th3i_getyaxis 
-  :: (Ptr RawTH3I) -> IO (Ptr RawTAxis)
-foreign import ccall "HROOT.h TH3I_GetZaxis" c_th3i_getzaxis 
-  :: (Ptr RawTH3I) -> IO (Ptr RawTAxis)
-foreign import ccall "HROOT.h TH3I_Add" c_th3i_add 
-  :: (Ptr RawTH3I) -> (Ptr RawTH1) -> CDouble -> IO ()
-foreign import ccall "HROOT.h TH3I_fill1" c_th3i_fill1 
-  :: (Ptr RawTH3I) -> CDouble -> IO CInt
-foreign import ccall "HROOT.h TH3I_SetTitle" c_th3i_settitle 
-  :: (Ptr RawTH3I) -> CString -> IO ()
-foreign import ccall "HROOT.h TH3I_SetLineColor" c_th3i_setlinecolor 
-  :: (Ptr RawTH3I) -> CInt -> IO ()
-foreign import ccall "HROOT.h TH3I_SetFillColor" c_th3i_setfillcolor 
-  :: (Ptr RawTH3I) -> CInt -> IO ()
-foreign import ccall "HROOT.h TH3I_SetFillStyle" c_th3i_setfillstyle 
-  :: (Ptr RawTH3I) -> CInt -> IO ()
-foreign import ccall "HROOT.h TH3I_GetName" c_th3i_getname 
-  :: (Ptr RawTH3I) -> IO CString
-foreign import ccall "HROOT.h TH3I_Draw" c_th3i_draw 
-  :: (Ptr RawTH3I) -> CString -> IO ()
-foreign import ccall "HROOT.h TH3I_SaveAs" c_th3i_saveas 
-  :: (Ptr RawTH3I) -> CString -> CString -> IO ()
-foreign import ccall "HROOT.h TH3I_Write" c_th3i_write 
-  :: (Ptr RawTH3I) -> CString -> CInt -> CInt -> IO CInt
-
-foreign import ccall "HROOT.h TH3S_GetXaxis" c_th3s_getxaxis 
-  :: (Ptr RawTH3S) -> IO (Ptr RawTAxis)
-foreign import ccall "HROOT.h TH3S_GetYaxis" c_th3s_getyaxis 
-  :: (Ptr RawTH3S) -> IO (Ptr RawTAxis)
-foreign import ccall "HROOT.h TH3S_GetZaxis" c_th3s_getzaxis 
-  :: (Ptr RawTH3S) -> IO (Ptr RawTAxis)
-foreign import ccall "HROOT.h TH3S_Add" c_th3s_add 
-  :: (Ptr RawTH3S) -> (Ptr RawTH1) -> CDouble -> IO ()
-foreign import ccall "HROOT.h TH3S_fill1" c_th3s_fill1 
-  :: (Ptr RawTH3S) -> CDouble -> IO CInt
-foreign import ccall "HROOT.h TH3S_SetTitle" c_th3s_settitle 
-  :: (Ptr RawTH3S) -> CString -> IO ()
-foreign import ccall "HROOT.h TH3S_SetLineColor" c_th3s_setlinecolor 
-  :: (Ptr RawTH3S) -> CInt -> IO ()
-foreign import ccall "HROOT.h TH3S_SetFillColor" c_th3s_setfillcolor 
-  :: (Ptr RawTH3S) -> CInt -> IO ()
-foreign import ccall "HROOT.h TH3S_SetFillStyle" c_th3s_setfillstyle 
-  :: (Ptr RawTH3S) -> CInt -> IO ()
-foreign import ccall "HROOT.h TH3S_GetName" c_th3s_getname 
-  :: (Ptr RawTH3S) -> IO CString
-foreign import ccall "HROOT.h TH3S_Draw" c_th3s_draw 
-  :: (Ptr RawTH3S) -> CString -> IO ()
-foreign import ccall "HROOT.h TH3S_SaveAs" c_th3s_saveas 
-  :: (Ptr RawTH3S) -> CString -> CString -> IO ()
-foreign import ccall "HROOT.h TH3S_Write" c_th3s_write 
-  :: (Ptr RawTH3S) -> CString -> CInt -> CInt -> IO CInt
-
-
-
-foreign import ccall "HROOT.h TVirtualPad_GetName" c_tvirtualpad_getname 
-  :: (Ptr RawTVirtualPad) -> IO CString
-foreign import ccall "HROOT.h TVirtualPad_Draw" c_tvirtualpad_draw 
-  :: (Ptr RawTVirtualPad) -> CString -> IO ()
-foreign import ccall "HROOT.h TVirtualPad_SaveAs" c_tvirtualpad_saveas 
-  :: (Ptr RawTVirtualPad) -> CString -> CString -> IO ()
-foreign import ccall "HROOT.h TVirtualPad_Write" c_tvirtualpad_write 
-  :: (Ptr RawTVirtualPad) -> CString -> CInt -> CInt -> IO CInt
-foreign import ccall "HROOT.h TVirtualPad_SetLineColor" c_tvirtualpad_setlinecolor 
-  :: (Ptr RawTVirtualPad) -> CInt -> IO ()
-foreign import ccall "HROOT.h TVirtualPad_SetFillColor" c_tvirtualpad_setfillcolor 
-  :: (Ptr RawTVirtualPad) -> CInt -> IO ()
-foreign import ccall "HROOT.h TVirtualPad_SetFillStyle" c_tvirtualpad_setfillstyle 
-  :: (Ptr RawTVirtualPad) -> CInt -> IO ()
-foreign import ccall "HROOT.h TVirtualPad_GetFrame" c_tvirtualpad_getframe 
-  :: (Ptr RawTVirtualPad) -> IO (Ptr RawTFrame)
-foreign import ccall "HROOT.h TVirtualPad_Range" c_tvirtualpad_range 
-  :: (Ptr RawTVirtualPad) -> CDouble -> CDouble -> CDouble -> CDouble -> IO ()
-
-foreign import ccall "HROOT.h TPad_GetFrame" c_tpad_getframe 
-  :: (Ptr RawTPad) -> IO (Ptr RawTFrame)
-foreign import ccall "HROOT.h TPad_Range" c_tpad_range 
-  :: (Ptr RawTPad) -> CDouble -> CDouble -> CDouble -> CDouble -> IO ()
-foreign import ccall "HROOT.h TPad_GetName" c_tpad_getname 
-  :: (Ptr RawTPad) -> IO CString
-foreign import ccall "HROOT.h TPad_Draw" c_tpad_draw 
-  :: (Ptr RawTPad) -> CString -> IO ()
-foreign import ccall "HROOT.h TPad_SaveAs" c_tpad_saveas 
-  :: (Ptr RawTPad) -> CString -> CString -> IO ()
-foreign import ccall "HROOT.h TPad_Write" c_tpad_write 
-  :: (Ptr RawTPad) -> CString -> CInt -> CInt -> IO CInt
-foreign import ccall "HROOT.h TPad_SetLineColor" c_tpad_setlinecolor 
-  :: (Ptr RawTPad) -> CInt -> IO ()
-foreign import ccall "HROOT.h TPad_SetFillColor" c_tpad_setfillcolor 
-  :: (Ptr RawTPad) -> CInt -> IO ()
-foreign import ccall "HROOT.h TPad_SetFillStyle" c_tpad_setfillstyle 
-  :: (Ptr RawTPad) -> CInt -> IO ()
-
-foreign import ccall "HROOT.h TButton_SetTextColor" c_tbutton_settextcolor 
-  :: (Ptr RawTButton) -> CInt -> IO ()
-foreign import ccall "HROOT.h TButton_SetTextAlign" c_tbutton_settextalign 
-  :: (Ptr RawTButton) -> CInt -> IO ()
-foreign import ccall "HROOT.h TButton_SetTextSize" c_tbutton_settextsize 
-  :: (Ptr RawTButton) -> CDouble -> IO ()
-foreign import ccall "HROOT.h TButton_GetFrame" c_tbutton_getframe 
-  :: (Ptr RawTButton) -> IO (Ptr RawTFrame)
-foreign import ccall "HROOT.h TButton_Range" c_tbutton_range 
-  :: (Ptr RawTButton) -> CDouble -> CDouble -> CDouble -> CDouble -> IO ()
-foreign import ccall "HROOT.h TButton_GetName" c_tbutton_getname 
-  :: (Ptr RawTButton) -> IO CString
-foreign import ccall "HROOT.h TButton_Draw" c_tbutton_draw 
-  :: (Ptr RawTButton) -> CString -> IO ()
-foreign import ccall "HROOT.h TButton_SaveAs" c_tbutton_saveas 
-  :: (Ptr RawTButton) -> CString -> CString -> IO ()
-foreign import ccall "HROOT.h TButton_Write" c_tbutton_write 
-  :: (Ptr RawTButton) -> CString -> CInt -> CInt -> IO CInt
-foreign import ccall "HROOT.h TButton_SetLineColor" c_tbutton_setlinecolor 
-  :: (Ptr RawTButton) -> CInt -> IO ()
-foreign import ccall "HROOT.h TButton_SetFillColor" c_tbutton_setfillcolor 
-  :: (Ptr RawTButton) -> CInt -> IO ()
-foreign import ccall "HROOT.h TButton_SetFillStyle" c_tbutton_setfillstyle 
-  :: (Ptr RawTButton) -> CInt -> IO ()
-
-foreign import ccall "HROOT.h TGroupButton_SetTextColor" c_tgroupbutton_settextcolor 
-  :: (Ptr RawTGroupButton) -> CInt -> IO ()
-foreign import ccall "HROOT.h TGroupButton_SetTextAlign" c_tgroupbutton_settextalign 
-  :: (Ptr RawTGroupButton) -> CInt -> IO ()
-foreign import ccall "HROOT.h TGroupButton_SetTextSize" c_tgroupbutton_settextsize 
-  :: (Ptr RawTGroupButton) -> CDouble -> IO ()
-foreign import ccall "HROOT.h TGroupButton_GetFrame" c_tgroupbutton_getframe 
-  :: (Ptr RawTGroupButton) -> IO (Ptr RawTFrame)
-foreign import ccall "HROOT.h TGroupButton_Range" c_tgroupbutton_range 
-  :: (Ptr RawTGroupButton) -> CDouble -> CDouble -> CDouble -> CDouble -> IO ()
-foreign import ccall "HROOT.h TGroupButton_GetName" c_tgroupbutton_getname 
-  :: (Ptr RawTGroupButton) -> IO CString
-foreign import ccall "HROOT.h TGroupButton_Draw" c_tgroupbutton_draw 
-  :: (Ptr RawTGroupButton) -> CString -> IO ()
-foreign import ccall "HROOT.h TGroupButton_SaveAs" c_tgroupbutton_saveas 
-  :: (Ptr RawTGroupButton) -> CString -> CString -> IO ()
-foreign import ccall "HROOT.h TGroupButton_Write" c_tgroupbutton_write 
-  :: (Ptr RawTGroupButton) -> CString -> CInt -> CInt -> IO CInt
-foreign import ccall "HROOT.h TGroupButton_SetLineColor" c_tgroupbutton_setlinecolor 
-  :: (Ptr RawTGroupButton) -> CInt -> IO ()
-foreign import ccall "HROOT.h TGroupButton_SetFillColor" c_tgroupbutton_setfillcolor 
-  :: (Ptr RawTGroupButton) -> CInt -> IO ()
-foreign import ccall "HROOT.h TGroupButton_SetFillStyle" c_tgroupbutton_setfillstyle 
-  :: (Ptr RawTGroupButton) -> CInt -> IO ()
-
-foreign import ccall "HROOT.h TCanvas_GetFrame" c_tcanvas_getframe 
-  :: (Ptr RawTCanvas) -> IO (Ptr RawTFrame)
-foreign import ccall "HROOT.h TCanvas_Range" c_tcanvas_range 
-  :: (Ptr RawTCanvas) -> CDouble -> CDouble -> CDouble -> CDouble -> IO ()
-foreign import ccall "HROOT.h TCanvas_GetName" c_tcanvas_getname 
-  :: (Ptr RawTCanvas) -> IO CString
-foreign import ccall "HROOT.h TCanvas_Draw" c_tcanvas_draw 
-  :: (Ptr RawTCanvas) -> CString -> IO ()
-foreign import ccall "HROOT.h TCanvas_SaveAs" c_tcanvas_saveas 
-  :: (Ptr RawTCanvas) -> CString -> CString -> IO ()
-foreign import ccall "HROOT.h TCanvas_Write" c_tcanvas_write 
-  :: (Ptr RawTCanvas) -> CString -> CInt -> CInt -> IO CInt
-foreign import ccall "HROOT.h TCanvas_SetLineColor" c_tcanvas_setlinecolor 
-  :: (Ptr RawTCanvas) -> CInt -> IO ()
-foreign import ccall "HROOT.h TCanvas_SetFillColor" c_tcanvas_setfillcolor 
-  :: (Ptr RawTCanvas) -> CInt -> IO ()
-foreign import ccall "HROOT.h TCanvas_SetFillStyle" c_tcanvas_setfillstyle 
-  :: (Ptr RawTCanvas) -> CInt -> IO ()
-foreign import ccall "HROOT.h TCanvas_newTCanvas" c_tcanvas_newtcanvas 
-  :: CString -> CString -> CInt -> CInt -> IO (Ptr RawTCanvas)
-
-
-foreign import ccall "HROOT.h TDialogCanvas_SetTextColor" c_tdialogcanvas_settextcolor 
-  :: (Ptr RawTDialogCanvas) -> CInt -> IO ()
-foreign import ccall "HROOT.h TDialogCanvas_SetTextAlign" c_tdialogcanvas_settextalign 
-  :: (Ptr RawTDialogCanvas) -> CInt -> IO ()
-foreign import ccall "HROOT.h TDialogCanvas_SetTextSize" c_tdialogcanvas_settextsize 
-  :: (Ptr RawTDialogCanvas) -> CDouble -> IO ()
-foreign import ccall "HROOT.h TDialogCanvas_GetFrame" c_tdialogcanvas_getframe 
-  :: (Ptr RawTDialogCanvas) -> IO (Ptr RawTFrame)
-foreign import ccall "HROOT.h TDialogCanvas_Range" c_tdialogcanvas_range 
-  :: (Ptr RawTDialogCanvas) -> CDouble -> CDouble -> CDouble -> CDouble -> IO ()
-foreign import ccall "HROOT.h TDialogCanvas_GetName" c_tdialogcanvas_getname 
-  :: (Ptr RawTDialogCanvas) -> IO CString
-foreign import ccall "HROOT.h TDialogCanvas_Draw" c_tdialogcanvas_draw 
-  :: (Ptr RawTDialogCanvas) -> CString -> IO ()
-foreign import ccall "HROOT.h TDialogCanvas_SaveAs" c_tdialogcanvas_saveas 
-  :: (Ptr RawTDialogCanvas) -> CString -> CString -> IO ()
-foreign import ccall "HROOT.h TDialogCanvas_Write" c_tdialogcanvas_write 
-  :: (Ptr RawTDialogCanvas) -> CString -> CInt -> CInt -> IO CInt
-foreign import ccall "HROOT.h TDialogCanvas_SetLineColor" c_tdialogcanvas_setlinecolor 
-  :: (Ptr RawTDialogCanvas) -> CInt -> IO ()
-foreign import ccall "HROOT.h TDialogCanvas_SetFillColor" c_tdialogcanvas_setfillcolor 
-  :: (Ptr RawTDialogCanvas) -> CInt -> IO ()
-foreign import ccall "HROOT.h TDialogCanvas_SetFillStyle" c_tdialogcanvas_setfillstyle 
-  :: (Ptr RawTDialogCanvas) -> CInt -> IO ()
-
-foreign import ccall "HROOT.h TInspectCanvas_SetTextColor" c_tinspectcanvas_settextcolor 
-  :: (Ptr RawTInspectCanvas) -> CInt -> IO ()
-foreign import ccall "HROOT.h TInspectCanvas_SetTextAlign" c_tinspectcanvas_settextalign 
-  :: (Ptr RawTInspectCanvas) -> CInt -> IO ()
-foreign import ccall "HROOT.h TInspectCanvas_SetTextSize" c_tinspectcanvas_settextsize 
-  :: (Ptr RawTInspectCanvas) -> CDouble -> IO ()
-foreign import ccall "HROOT.h TInspectCanvas_GetFrame" c_tinspectcanvas_getframe 
-  :: (Ptr RawTInspectCanvas) -> IO (Ptr RawTFrame)
-foreign import ccall "HROOT.h TInspectCanvas_Range" c_tinspectcanvas_range 
-  :: (Ptr RawTInspectCanvas) -> CDouble -> CDouble -> CDouble -> CDouble -> IO ()
-foreign import ccall "HROOT.h TInspectCanvas_GetName" c_tinspectcanvas_getname 
-  :: (Ptr RawTInspectCanvas) -> IO CString
-foreign import ccall "HROOT.h TInspectCanvas_Draw" c_tinspectcanvas_draw 
-  :: (Ptr RawTInspectCanvas) -> CString -> IO ()
-foreign import ccall "HROOT.h TInspectCanvas_SaveAs" c_tinspectcanvas_saveas 
-  :: (Ptr RawTInspectCanvas) -> CString -> CString -> IO ()
-foreign import ccall "HROOT.h TInspectCanvas_Write" c_tinspectcanvas_write 
-  :: (Ptr RawTInspectCanvas) -> CString -> CInt -> CInt -> IO CInt
-foreign import ccall "HROOT.h TInspectCanvas_SetLineColor" c_tinspectcanvas_setlinecolor 
-  :: (Ptr RawTInspectCanvas) -> CInt -> IO ()
-foreign import ccall "HROOT.h TInspectCanvas_SetFillColor" c_tinspectcanvas_setfillcolor 
-  :: (Ptr RawTInspectCanvas) -> CInt -> IO ()
-foreign import ccall "HROOT.h TInspectCanvas_SetFillStyle" c_tinspectcanvas_setfillstyle 
-  :: (Ptr RawTInspectCanvas) -> CInt -> IO ()
-
-foreign import ccall "HROOT.h TEvePad_GetFrame" c_tevepad_getframe 
-  :: (Ptr RawTEvePad) -> IO (Ptr RawTFrame)
-foreign import ccall "HROOT.h TEvePad_Range" c_tevepad_range 
-  :: (Ptr RawTEvePad) -> CDouble -> CDouble -> CDouble -> CDouble -> IO ()
-foreign import ccall "HROOT.h TEvePad_GetName" c_tevepad_getname 
-  :: (Ptr RawTEvePad) -> IO CString
-foreign import ccall "HROOT.h TEvePad_Draw" c_tevepad_draw 
-  :: (Ptr RawTEvePad) -> CString -> IO ()
-foreign import ccall "HROOT.h TEvePad_SaveAs" c_tevepad_saveas 
-  :: (Ptr RawTEvePad) -> CString -> CString -> IO ()
-foreign import ccall "HROOT.h TEvePad_Write" c_tevepad_write 
-  :: (Ptr RawTEvePad) -> CString -> CInt -> CInt -> IO CInt
-foreign import ccall "HROOT.h TEvePad_SetLineColor" c_tevepad_setlinecolor 
-  :: (Ptr RawTEvePad) -> CInt -> IO ()
-foreign import ccall "HROOT.h TEvePad_SetFillColor" c_tevepad_setfillcolor 
-  :: (Ptr RawTEvePad) -> CInt -> IO ()
-foreign import ccall "HROOT.h TEvePad_SetFillStyle" c_tevepad_setfillstyle 
-  :: (Ptr RawTEvePad) -> CInt -> IO ()
-
-foreign import ccall "HROOT.h TSlider_GetFrame" c_tslider_getframe 
-  :: (Ptr RawTSlider) -> IO (Ptr RawTFrame)
-foreign import ccall "HROOT.h TSlider_Range" c_tslider_range 
-  :: (Ptr RawTSlider) -> CDouble -> CDouble -> CDouble -> CDouble -> IO ()
-foreign import ccall "HROOT.h TSlider_GetName" c_tslider_getname 
-  :: (Ptr RawTSlider) -> IO CString
-foreign import ccall "HROOT.h TSlider_Draw" c_tslider_draw 
-  :: (Ptr RawTSlider) -> CString -> IO ()
-foreign import ccall "HROOT.h TSlider_SaveAs" c_tslider_saveas 
-  :: (Ptr RawTSlider) -> CString -> CString -> IO ()
-foreign import ccall "HROOT.h TSlider_Write" c_tslider_write 
-  :: (Ptr RawTSlider) -> CString -> CInt -> CInt -> IO CInt
-foreign import ccall "HROOT.h TSlider_SetLineColor" c_tslider_setlinecolor 
-  :: (Ptr RawTSlider) -> CInt -> IO ()
-foreign import ccall "HROOT.h TSlider_SetFillColor" c_tslider_setfillcolor 
-  :: (Ptr RawTSlider) -> CInt -> IO ()
-foreign import ccall "HROOT.h TSlider_SetFillStyle" c_tslider_setfillstyle 
-  :: (Ptr RawTSlider) -> CInt -> IO ()
-
-foreign import ccall "HROOT.h TApplication_GetName" c_tapplication_getname 
-  :: (Ptr RawTApplication) -> IO CString
-foreign import ccall "HROOT.h TApplication_Draw" c_tapplication_draw 
-  :: (Ptr RawTApplication) -> CString -> IO ()
-foreign import ccall "HROOT.h TApplication_SaveAs" c_tapplication_saveas 
-  :: (Ptr RawTApplication) -> CString -> CString -> IO ()
-foreign import ccall "HROOT.h TApplication_Write" c_tapplication_write 
-  :: (Ptr RawTApplication) -> CString -> CInt -> CInt -> IO CInt
-foreign import ccall "HROOT.h TApplication_newTApplication" c_tapplication_newtapplication 
-  :: CString -> (Ptr CInt) -> (Ptr (CString)) -> IO (Ptr RawTApplication)
-foreign import ccall "HROOT.h TApplication_Run" c_tapplication_run 
-  :: (Ptr RawTApplication) -> CInt -> IO ()
-
-foreign import ccall "HROOT.h TRint_Run" c_trint_run 
-  :: (Ptr RawTRint) -> CInt -> IO ()
-foreign import ccall "HROOT.h TRint_GetName" c_trint_getname 
-  :: (Ptr RawTRint) -> IO CString
-foreign import ccall "HROOT.h TRint_Draw" c_trint_draw 
-  :: (Ptr RawTRint) -> CString -> IO ()
-foreign import ccall "HROOT.h TRint_SaveAs" c_trint_saveas 
-  :: (Ptr RawTRint) -> CString -> CString -> IO ()
-foreign import ccall "HROOT.h TRint_Write" c_trint_write 
-  :: (Ptr RawTRint) -> CString -> CInt -> CInt -> IO CInt
-foreign import ccall "HROOT.h TRint_newTRint" c_trint_newtrint 
-  :: CString -> (Ptr CInt) -> (Ptr (CString)) -> IO (Ptr RawTRint)
-
+
+
+foreign import ccall "HROOT.h TObject_delete" c_tobject_delete 
+  :: (Ptr RawTObject) -> IO ()
+foreign import ccall "HROOT.h TObject_newTObject" c_tobject_newtobject 
+  :: IO (Ptr RawTObject)
+foreign import ccall "HROOT.h TObject_GetName" c_tobject_getname 
+  :: (Ptr RawTObject) -> IO CString
+foreign import ccall "HROOT.h TObject_Draw" c_tobject_draw 
+  :: (Ptr RawTObject) -> CString -> IO ()
+foreign import ccall "HROOT.h TObject_FindObject" c_tobject_findobject 
+  :: (Ptr RawTObject) -> CString -> IO (Ptr RawTObject)
+foreign import ccall "HROOT.h TObject_SaveAs" c_tobject_saveas 
+  :: (Ptr RawTObject) -> CString -> CString -> IO ()
+foreign import ccall "HROOT.h TObject_Write" c_tobject_write 
+  :: (Ptr RawTObject) -> CString -> CInt -> CInt -> IO CInt
+
+foreign import ccall "HROOT.h TNamed_GetName" c_tnamed_getname 
+  :: (Ptr RawTNamed) -> IO CString
+foreign import ccall "HROOT.h TNamed_Draw" c_tnamed_draw 
+  :: (Ptr RawTNamed) -> CString -> IO ()
+foreign import ccall "HROOT.h TNamed_FindObject" c_tnamed_findobject 
+  :: (Ptr RawTNamed) -> CString -> IO (Ptr RawTObject)
+foreign import ccall "HROOT.h TNamed_SaveAs" c_tnamed_saveas 
+  :: (Ptr RawTNamed) -> CString -> CString -> IO ()
+foreign import ccall "HROOT.h TNamed_Write" c_tnamed_write 
+  :: (Ptr RawTNamed) -> CString -> CInt -> CInt -> IO CInt
+foreign import ccall "HROOT.h TNamed_delete" c_tnamed_delete 
+  :: (Ptr RawTNamed) -> IO ()
+foreign import ccall "HROOT.h TNamed_newTNamed" c_tnamed_newtnamed 
+  :: CString -> CString -> IO (Ptr RawTNamed)
+foreign import ccall "HROOT.h TNamed_SetTitle" c_tnamed_settitle 
+  :: (Ptr RawTNamed) -> CString -> IO ()
+
+foreign import ccall "HROOT.h TFormula_SetTitle" c_tformula_settitle 
+  :: (Ptr RawTFormula) -> CString -> IO ()
+foreign import ccall "HROOT.h TFormula_GetName" c_tformula_getname 
+  :: (Ptr RawTFormula) -> IO CString
+foreign import ccall "HROOT.h TFormula_Draw" c_tformula_draw 
+  :: (Ptr RawTFormula) -> CString -> IO ()
+foreign import ccall "HROOT.h TFormula_FindObject" c_tformula_findobject 
+  :: (Ptr RawTFormula) -> CString -> IO (Ptr RawTObject)
+foreign import ccall "HROOT.h TFormula_SaveAs" c_tformula_saveas 
+  :: (Ptr RawTFormula) -> CString -> CString -> IO ()
+foreign import ccall "HROOT.h TFormula_Write" c_tformula_write 
+  :: (Ptr RawTFormula) -> CString -> CInt -> CInt -> IO CInt
+foreign import ccall "HROOT.h TFormula_delete" c_tformula_delete 
+  :: (Ptr RawTFormula) -> IO ()
+foreign import ccall "HROOT.h TFormula_newTFormula" c_tformula_newtformula 
+  :: CString -> CString -> IO (Ptr RawTFormula)
+foreign import ccall "HROOT.h TFormula_GetParameter" c_tformula_getparameter 
+  :: (Ptr RawTFormula) -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TFormula_SetParameter" c_tformula_setparameter 
+  :: (Ptr RawTFormula) -> CInt -> CDouble -> IO ()
+
+foreign import ccall "HROOT.h TAtt3D_delete" c_tatt3d_delete 
+  :: (Ptr RawTAtt3D) -> IO ()
+
+foreign import ccall "HROOT.h TAttAxis_delete" c_tattaxis_delete 
+  :: (Ptr RawTAttAxis) -> IO ()
+foreign import ccall "HROOT.h TAttAxis_newTAttAxis" c_tattaxis_newtattaxis 
+  :: IO (Ptr RawTAttAxis)
+foreign import ccall "HROOT.h TAttAxis_SetLabelColor" c_tattaxis_setlabelcolor 
+  :: (Ptr RawTAttAxis) -> CInt -> IO ()
+foreign import ccall "HROOT.h TAttAxis_SetLabelSize" c_tattaxis_setlabelsize 
+  :: (Ptr RawTAttAxis) -> CDouble -> IO ()
+foreign import ccall "HROOT.h TAttAxis_SetTickLength" c_tattaxis_setticklength 
+  :: (Ptr RawTAttAxis) -> CDouble -> IO ()
+foreign import ccall "HROOT.h TAttAxis_SetTitleOffset" c_tattaxis_settitleoffset 
+  :: (Ptr RawTAttAxis) -> CDouble -> IO ()
+foreign import ccall "HROOT.h TAttAxis_SetNdivisions" c_tattaxis_setndivisions 
+  :: (Ptr RawTAttAxis) -> CInt -> CInt -> IO ()
+
+foreign import ccall "HROOT.h TAttBBox_delete" c_tattbbox_delete 
+  :: (Ptr RawTAttBBox) -> IO ()
+
+foreign import ccall "HROOT.h TAttCanvas_delete" c_tattcanvas_delete 
+  :: (Ptr RawTAttCanvas) -> IO ()
+foreign import ccall "HROOT.h TAttCanvas_newTAttCanvas" c_tattcanvas_newtattcanvas 
+  :: IO (Ptr RawTAttCanvas)
+
+foreign import ccall "HROOT.h TAttFill_delete" c_tattfill_delete 
+  :: (Ptr RawTAttFill) -> IO ()
+foreign import ccall "HROOT.h TAttFill_newTAttFill" c_tattfill_newtattfill 
+  :: CInt -> CInt -> IO (Ptr RawTAttFill)
+foreign import ccall "HROOT.h TAttFill_SetFillColor" c_tattfill_setfillcolor 
+  :: (Ptr RawTAttFill) -> CInt -> IO ()
+foreign import ccall "HROOT.h TAttFill_SetFillStyle" c_tattfill_setfillstyle 
+  :: (Ptr RawTAttFill) -> CInt -> IO ()
+
+foreign import ccall "HROOT.h TAttImage_delete" c_tattimage_delete 
+  :: (Ptr RawTAttImage) -> IO ()
+
+foreign import ccall "HROOT.h TAttLine_delete" c_tattline_delete 
+  :: (Ptr RawTAttLine) -> IO ()
+foreign import ccall "HROOT.h TAttLine_newTAttLine" c_tattline_newtattline 
+  :: CInt -> CInt -> CInt -> IO (Ptr RawTAttLine)
+foreign import ccall "HROOT.h TAttLine_SetLineColor" c_tattline_setlinecolor 
+  :: (Ptr RawTAttLine) -> CInt -> IO ()
+
+foreign import ccall "HROOT.h TAttMarker_delete" c_tattmarker_delete 
+  :: (Ptr RawTAttMarker) -> IO ()
+foreign import ccall "HROOT.h TAttMarker_newTAttMarker" c_tattmarker_newtattmarker 
+  :: CInt -> CInt -> CInt -> IO (Ptr RawTAttMarker)
+
+foreign import ccall "HROOT.h TAttPad_delete" c_tattpad_delete 
+  :: (Ptr RawTAttPad) -> IO ()
+foreign import ccall "HROOT.h TAttPad_newTAttPad" c_tattpad_newtattpad 
+  :: IO (Ptr RawTAttPad)
+
+foreign import ccall "HROOT.h TAttParticle_SetTitle" c_tattparticle_settitle 
+  :: (Ptr RawTAttParticle) -> CString -> IO ()
+foreign import ccall "HROOT.h TAttParticle_GetName" c_tattparticle_getname 
+  :: (Ptr RawTAttParticle) -> IO CString
+foreign import ccall "HROOT.h TAttParticle_Draw" c_tattparticle_draw 
+  :: (Ptr RawTAttParticle) -> CString -> IO ()
+foreign import ccall "HROOT.h TAttParticle_FindObject" c_tattparticle_findobject 
+  :: (Ptr RawTAttParticle) -> CString -> IO (Ptr RawTObject)
+foreign import ccall "HROOT.h TAttParticle_SaveAs" c_tattparticle_saveas 
+  :: (Ptr RawTAttParticle) -> CString -> CString -> IO ()
+foreign import ccall "HROOT.h TAttParticle_Write" c_tattparticle_write 
+  :: (Ptr RawTAttParticle) -> CString -> CInt -> CInt -> IO CInt
+foreign import ccall "HROOT.h TAttParticle_delete" c_tattparticle_delete 
+  :: (Ptr RawTAttParticle) -> IO ()
+
+foreign import ccall "HROOT.h TAttText_delete" c_tatttext_delete 
+  :: (Ptr RawTAttText) -> IO ()
+foreign import ccall "HROOT.h TAttText_newTAttText" c_tatttext_newtatttext 
+  :: CInt -> CDouble -> CInt -> CInt -> CDouble -> IO (Ptr RawTAttText)
+foreign import ccall "HROOT.h TAttText_SetTextColor" c_tatttext_settextcolor 
+  :: (Ptr RawTAttText) -> CInt -> IO ()
+foreign import ccall "HROOT.h TAttText_SetTextAlign" c_tatttext_settextalign 
+  :: (Ptr RawTAttText) -> CInt -> IO ()
+foreign import ccall "HROOT.h TAttText_SetTextSize" c_tatttext_settextsize 
+  :: (Ptr RawTAttText) -> CDouble -> IO ()
+
+foreign import ccall "HROOT.h THStack_SetTitle" c_thstack_settitle 
+  :: (Ptr RawTHStack) -> CString -> IO ()
+foreign import ccall "HROOT.h THStack_GetName" c_thstack_getname 
+  :: (Ptr RawTHStack) -> IO CString
+foreign import ccall "HROOT.h THStack_Draw" c_thstack_draw 
+  :: (Ptr RawTHStack) -> CString -> IO ()
+foreign import ccall "HROOT.h THStack_FindObject" c_thstack_findobject 
+  :: (Ptr RawTHStack) -> CString -> IO (Ptr RawTObject)
+foreign import ccall "HROOT.h THStack_SaveAs" c_thstack_saveas 
+  :: (Ptr RawTHStack) -> CString -> CString -> IO ()
+foreign import ccall "HROOT.h THStack_Write" c_thstack_write 
+  :: (Ptr RawTHStack) -> CString -> CInt -> CInt -> IO CInt
+foreign import ccall "HROOT.h THStack_delete" c_thstack_delete 
+  :: (Ptr RawTHStack) -> IO ()
+foreign import ccall "HROOT.h THStack_newTHStack" c_thstack_newthstack 
+  :: CString -> CString -> IO (Ptr RawTHStack)
+
+foreign import ccall "HROOT.h TF1_GetParameter" c_tf1_getparameter 
+  :: (Ptr RawTF1) -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TF1_SetParameter" c_tf1_setparameter 
+  :: (Ptr RawTF1) -> CInt -> CDouble -> IO ()
+foreign import ccall "HROOT.h TF1_SetLineColor" c_tf1_setlinecolor 
+  :: (Ptr RawTF1) -> CInt -> IO ()
+foreign import ccall "HROOT.h TF1_SetFillColor" c_tf1_setfillcolor 
+  :: (Ptr RawTF1) -> CInt -> IO ()
+foreign import ccall "HROOT.h TF1_SetFillStyle" c_tf1_setfillstyle 
+  :: (Ptr RawTF1) -> CInt -> IO ()
+foreign import ccall "HROOT.h TF1_SetTitle" c_tf1_settitle 
+  :: (Ptr RawTF1) -> CString -> IO ()
+foreign import ccall "HROOT.h TF1_GetName" c_tf1_getname 
+  :: (Ptr RawTF1) -> IO CString
+foreign import ccall "HROOT.h TF1_Draw" c_tf1_draw 
+  :: (Ptr RawTF1) -> CString -> IO ()
+foreign import ccall "HROOT.h TF1_FindObject" c_tf1_findobject 
+  :: (Ptr RawTF1) -> CString -> IO (Ptr RawTObject)
+foreign import ccall "HROOT.h TF1_SaveAs" c_tf1_saveas 
+  :: (Ptr RawTF1) -> CString -> CString -> IO ()
+foreign import ccall "HROOT.h TF1_Write" c_tf1_write 
+  :: (Ptr RawTF1) -> CString -> CInt -> CInt -> IO CInt
+foreign import ccall "HROOT.h TF1_delete" c_tf1_delete 
+  :: (Ptr RawTF1) -> IO ()
+foreign import ccall "HROOT.h TF1_newTF1" c_tf1_newtf1 
+  :: CString -> CString -> CDouble -> CDouble -> IO (Ptr RawTF1)
+
+foreign import ccall "HROOT.h TGraph_SetTitle" c_tgraph_settitle 
+  :: (Ptr RawTGraph) -> CString -> IO ()
+foreign import ccall "HROOT.h TGraph_SetLineColor" c_tgraph_setlinecolor 
+  :: (Ptr RawTGraph) -> CInt -> IO ()
+foreign import ccall "HROOT.h TGraph_SetFillColor" c_tgraph_setfillcolor 
+  :: (Ptr RawTGraph) -> CInt -> IO ()
+foreign import ccall "HROOT.h TGraph_SetFillStyle" c_tgraph_setfillstyle 
+  :: (Ptr RawTGraph) -> CInt -> IO ()
+foreign import ccall "HROOT.h TGraph_GetName" c_tgraph_getname 
+  :: (Ptr RawTGraph) -> IO CString
+foreign import ccall "HROOT.h TGraph_Draw" c_tgraph_draw 
+  :: (Ptr RawTGraph) -> CString -> IO ()
+foreign import ccall "HROOT.h TGraph_FindObject" c_tgraph_findobject 
+  :: (Ptr RawTGraph) -> CString -> IO (Ptr RawTObject)
+foreign import ccall "HROOT.h TGraph_SaveAs" c_tgraph_saveas 
+  :: (Ptr RawTGraph) -> CString -> CString -> IO ()
+foreign import ccall "HROOT.h TGraph_Write" c_tgraph_write 
+  :: (Ptr RawTGraph) -> CString -> CInt -> CInt -> IO CInt
+foreign import ccall "HROOT.h TGraph_delete" c_tgraph_delete 
+  :: (Ptr RawTGraph) -> IO ()
+foreign import ccall "HROOT.h TGraph_newTGraph" c_tgraph_newtgraph 
+  :: CInt -> (Ptr CDouble) -> (Ptr CDouble) -> IO (Ptr RawTGraph)
+
+foreign import ccall "HROOT.h TGraphAsymmErrors_SetTitle" c_tgraphasymmerrors_settitle 
+  :: (Ptr RawTGraphAsymmErrors) -> CString -> IO ()
+foreign import ccall "HROOT.h TGraphAsymmErrors_SetLineColor" c_tgraphasymmerrors_setlinecolor 
+  :: (Ptr RawTGraphAsymmErrors) -> CInt -> IO ()
+foreign import ccall "HROOT.h TGraphAsymmErrors_SetFillColor" c_tgraphasymmerrors_setfillcolor 
+  :: (Ptr RawTGraphAsymmErrors) -> CInt -> IO ()
+foreign import ccall "HROOT.h TGraphAsymmErrors_SetFillStyle" c_tgraphasymmerrors_setfillstyle 
+  :: (Ptr RawTGraphAsymmErrors) -> CInt -> IO ()
+foreign import ccall "HROOT.h TGraphAsymmErrors_GetName" c_tgraphasymmerrors_getname 
+  :: (Ptr RawTGraphAsymmErrors) -> IO CString
+foreign import ccall "HROOT.h TGraphAsymmErrors_Draw" c_tgraphasymmerrors_draw 
+  :: (Ptr RawTGraphAsymmErrors) -> CString -> IO ()
+foreign import ccall "HROOT.h TGraphAsymmErrors_FindObject" c_tgraphasymmerrors_findobject 
+  :: (Ptr RawTGraphAsymmErrors) -> CString -> IO (Ptr RawTObject)
+foreign import ccall "HROOT.h TGraphAsymmErrors_SaveAs" c_tgraphasymmerrors_saveas 
+  :: (Ptr RawTGraphAsymmErrors) -> CString -> CString -> IO ()
+foreign import ccall "HROOT.h TGraphAsymmErrors_Write" c_tgraphasymmerrors_write 
+  :: (Ptr RawTGraphAsymmErrors) -> CString -> CInt -> CInt -> IO CInt
+foreign import ccall "HROOT.h TGraphAsymmErrors_delete" c_tgraphasymmerrors_delete 
+  :: (Ptr RawTGraphAsymmErrors) -> IO ()
+foreign import ccall "HROOT.h TGraphAsymmErrors_newTGraphAsymmErrors" c_tgraphasymmerrors_newtgraphasymmerrors 
+  :: CInt -> (Ptr CDouble) -> (Ptr CDouble) -> (Ptr CDouble) -> (Ptr CDouble) -> (Ptr CDouble) -> (Ptr CDouble) -> IO (Ptr RawTGraphAsymmErrors)
+
+foreign import ccall "HROOT.h TCutG_SetTitle" c_tcutg_settitle 
+  :: (Ptr RawTCutG) -> CString -> IO ()
+foreign import ccall "HROOT.h TCutG_SetLineColor" c_tcutg_setlinecolor 
+  :: (Ptr RawTCutG) -> CInt -> IO ()
+foreign import ccall "HROOT.h TCutG_SetFillColor" c_tcutg_setfillcolor 
+  :: (Ptr RawTCutG) -> CInt -> IO ()
+foreign import ccall "HROOT.h TCutG_SetFillStyle" c_tcutg_setfillstyle 
+  :: (Ptr RawTCutG) -> CInt -> IO ()
+foreign import ccall "HROOT.h TCutG_GetName" c_tcutg_getname 
+  :: (Ptr RawTCutG) -> IO CString
+foreign import ccall "HROOT.h TCutG_Draw" c_tcutg_draw 
+  :: (Ptr RawTCutG) -> CString -> IO ()
+foreign import ccall "HROOT.h TCutG_FindObject" c_tcutg_findobject 
+  :: (Ptr RawTCutG) -> CString -> IO (Ptr RawTObject)
+foreign import ccall "HROOT.h TCutG_SaveAs" c_tcutg_saveas 
+  :: (Ptr RawTCutG) -> CString -> CString -> IO ()
+foreign import ccall "HROOT.h TCutG_Write" c_tcutg_write 
+  :: (Ptr RawTCutG) -> CString -> CInt -> CInt -> IO CInt
+foreign import ccall "HROOT.h TCutG_delete" c_tcutg_delete 
+  :: (Ptr RawTCutG) -> IO ()
+foreign import ccall "HROOT.h TCutG_newTCutG" c_tcutg_newtcutg 
+  :: CString -> CInt -> (Ptr CDouble) -> (Ptr CDouble) -> IO (Ptr RawTCutG)
+
+foreign import ccall "HROOT.h TGraphBentErrors_SetTitle" c_tgraphbenterrors_settitle 
+  :: (Ptr RawTGraphBentErrors) -> CString -> IO ()
+foreign import ccall "HROOT.h TGraphBentErrors_SetLineColor" c_tgraphbenterrors_setlinecolor 
+  :: (Ptr RawTGraphBentErrors) -> CInt -> IO ()
+foreign import ccall "HROOT.h TGraphBentErrors_SetFillColor" c_tgraphbenterrors_setfillcolor 
+  :: (Ptr RawTGraphBentErrors) -> CInt -> IO ()
+foreign import ccall "HROOT.h TGraphBentErrors_SetFillStyle" c_tgraphbenterrors_setfillstyle 
+  :: (Ptr RawTGraphBentErrors) -> CInt -> IO ()
+foreign import ccall "HROOT.h TGraphBentErrors_GetName" c_tgraphbenterrors_getname 
+  :: (Ptr RawTGraphBentErrors) -> IO CString
+foreign import ccall "HROOT.h TGraphBentErrors_Draw" c_tgraphbenterrors_draw 
+  :: (Ptr RawTGraphBentErrors) -> CString -> IO ()
+foreign import ccall "HROOT.h TGraphBentErrors_FindObject" c_tgraphbenterrors_findobject 
+  :: (Ptr RawTGraphBentErrors) -> CString -> IO (Ptr RawTObject)
+foreign import ccall "HROOT.h TGraphBentErrors_SaveAs" c_tgraphbenterrors_saveas 
+  :: (Ptr RawTGraphBentErrors) -> CString -> CString -> IO ()
+foreign import ccall "HROOT.h TGraphBentErrors_Write" c_tgraphbenterrors_write 
+  :: (Ptr RawTGraphBentErrors) -> CString -> CInt -> CInt -> IO CInt
+foreign import ccall "HROOT.h TGraphBentErrors_delete" c_tgraphbenterrors_delete 
+  :: (Ptr RawTGraphBentErrors) -> IO ()
+foreign import ccall "HROOT.h TGraphBentErrors_newTGraphBentErrors" c_tgraphbenterrors_newtgraphbenterrors 
+  :: CInt -> (Ptr CDouble) -> (Ptr CDouble) -> (Ptr CDouble) -> (Ptr CDouble) -> (Ptr CDouble) -> (Ptr CDouble) -> (Ptr CDouble) -> (Ptr CDouble) -> (Ptr CDouble) -> (Ptr CDouble) -> IO (Ptr RawTGraphBentErrors)
+
+foreign import ccall "HROOT.h TGraphErrors_SetTitle" c_tgrapherrors_settitle 
+  :: (Ptr RawTGraphErrors) -> CString -> IO ()
+foreign import ccall "HROOT.h TGraphErrors_SetLineColor" c_tgrapherrors_setlinecolor 
+  :: (Ptr RawTGraphErrors) -> CInt -> IO ()
+foreign import ccall "HROOT.h TGraphErrors_SetFillColor" c_tgrapherrors_setfillcolor 
+  :: (Ptr RawTGraphErrors) -> CInt -> IO ()
+foreign import ccall "HROOT.h TGraphErrors_SetFillStyle" c_tgrapherrors_setfillstyle 
+  :: (Ptr RawTGraphErrors) -> CInt -> IO ()
+foreign import ccall "HROOT.h TGraphErrors_GetName" c_tgrapherrors_getname 
+  :: (Ptr RawTGraphErrors) -> IO CString
+foreign import ccall "HROOT.h TGraphErrors_Draw" c_tgrapherrors_draw 
+  :: (Ptr RawTGraphErrors) -> CString -> IO ()
+foreign import ccall "HROOT.h TGraphErrors_FindObject" c_tgrapherrors_findobject 
+  :: (Ptr RawTGraphErrors) -> CString -> IO (Ptr RawTObject)
+foreign import ccall "HROOT.h TGraphErrors_SaveAs" c_tgrapherrors_saveas 
+  :: (Ptr RawTGraphErrors) -> CString -> CString -> IO ()
+foreign import ccall "HROOT.h TGraphErrors_Write" c_tgrapherrors_write 
+  :: (Ptr RawTGraphErrors) -> CString -> CInt -> CInt -> IO CInt
+foreign import ccall "HROOT.h TGraphErrors_delete" c_tgrapherrors_delete 
+  :: (Ptr RawTGraphErrors) -> IO ()
+foreign import ccall "HROOT.h TGraphErrors_newTGraphErrors" c_tgrapherrors_newtgrapherrors 
+  :: CInt -> (Ptr CDouble) -> (Ptr CDouble) -> (Ptr CDouble) -> (Ptr CDouble) -> IO (Ptr RawTGraphErrors)
+
+foreign import ccall "HROOT.h TGraphPolar_SetTitle" c_tgraphpolar_settitle 
+  :: (Ptr RawTGraphPolar) -> CString -> IO ()
+foreign import ccall "HROOT.h TGraphPolar_SetLineColor" c_tgraphpolar_setlinecolor 
+  :: (Ptr RawTGraphPolar) -> CInt -> IO ()
+foreign import ccall "HROOT.h TGraphPolar_SetFillColor" c_tgraphpolar_setfillcolor 
+  :: (Ptr RawTGraphPolar) -> CInt -> IO ()
+foreign import ccall "HROOT.h TGraphPolar_SetFillStyle" c_tgraphpolar_setfillstyle 
+  :: (Ptr RawTGraphPolar) -> CInt -> IO ()
+foreign import ccall "HROOT.h TGraphPolar_GetName" c_tgraphpolar_getname 
+  :: (Ptr RawTGraphPolar) -> IO CString
+foreign import ccall "HROOT.h TGraphPolar_Draw" c_tgraphpolar_draw 
+  :: (Ptr RawTGraphPolar) -> CString -> IO ()
+foreign import ccall "HROOT.h TGraphPolar_FindObject" c_tgraphpolar_findobject 
+  :: (Ptr RawTGraphPolar) -> CString -> IO (Ptr RawTObject)
+foreign import ccall "HROOT.h TGraphPolar_SaveAs" c_tgraphpolar_saveas 
+  :: (Ptr RawTGraphPolar) -> CString -> CString -> IO ()
+foreign import ccall "HROOT.h TGraphPolar_Write" c_tgraphpolar_write 
+  :: (Ptr RawTGraphPolar) -> CString -> CInt -> CInt -> IO CInt
+foreign import ccall "HROOT.h TGraphPolar_delete" c_tgraphpolar_delete 
+  :: (Ptr RawTGraphPolar) -> IO ()
+foreign import ccall "HROOT.h TGraphPolar_newTGraphPolar" c_tgraphpolar_newtgraphpolar 
+  :: CInt -> (Ptr CDouble) -> (Ptr CDouble) -> (Ptr CDouble) -> (Ptr CDouble) -> IO (Ptr RawTGraphPolar)
+
+foreign import ccall "HROOT.h TGraphQQ_SetTitle" c_tgraphqq_settitle 
+  :: (Ptr RawTGraphQQ) -> CString -> IO ()
+foreign import ccall "HROOT.h TGraphQQ_SetLineColor" c_tgraphqq_setlinecolor 
+  :: (Ptr RawTGraphQQ) -> CInt -> IO ()
+foreign import ccall "HROOT.h TGraphQQ_SetFillColor" c_tgraphqq_setfillcolor 
+  :: (Ptr RawTGraphQQ) -> CInt -> IO ()
+foreign import ccall "HROOT.h TGraphQQ_SetFillStyle" c_tgraphqq_setfillstyle 
+  :: (Ptr RawTGraphQQ) -> CInt -> IO ()
+foreign import ccall "HROOT.h TGraphQQ_GetName" c_tgraphqq_getname 
+  :: (Ptr RawTGraphQQ) -> IO CString
+foreign import ccall "HROOT.h TGraphQQ_Draw" c_tgraphqq_draw 
+  :: (Ptr RawTGraphQQ) -> CString -> IO ()
+foreign import ccall "HROOT.h TGraphQQ_FindObject" c_tgraphqq_findobject 
+  :: (Ptr RawTGraphQQ) -> CString -> IO (Ptr RawTObject)
+foreign import ccall "HROOT.h TGraphQQ_SaveAs" c_tgraphqq_saveas 
+  :: (Ptr RawTGraphQQ) -> CString -> CString -> IO ()
+foreign import ccall "HROOT.h TGraphQQ_Write" c_tgraphqq_write 
+  :: (Ptr RawTGraphQQ) -> CString -> CInt -> CInt -> IO CInt
+foreign import ccall "HROOT.h TGraphQQ_delete" c_tgraphqq_delete 
+  :: (Ptr RawTGraphQQ) -> IO ()
+foreign import ccall "HROOT.h TGraphQQ_newTGraphQQ" c_tgraphqq_newtgraphqq 
+  :: CInt -> (Ptr CDouble) -> CInt -> (Ptr CDouble) -> IO (Ptr RawTGraphQQ)
+
+foreign import ccall "HROOT.h TEllipse_GetName" c_tellipse_getname 
+  :: (Ptr RawTEllipse) -> IO CString
+foreign import ccall "HROOT.h TEllipse_Draw" c_tellipse_draw 
+  :: (Ptr RawTEllipse) -> CString -> IO ()
+foreign import ccall "HROOT.h TEllipse_FindObject" c_tellipse_findobject 
+  :: (Ptr RawTEllipse) -> CString -> IO (Ptr RawTObject)
+foreign import ccall "HROOT.h TEllipse_SaveAs" c_tellipse_saveas 
+  :: (Ptr RawTEllipse) -> CString -> CString -> IO ()
+foreign import ccall "HROOT.h TEllipse_Write" c_tellipse_write 
+  :: (Ptr RawTEllipse) -> CString -> CInt -> CInt -> IO CInt
+foreign import ccall "HROOT.h TEllipse_SetLineColor" c_tellipse_setlinecolor 
+  :: (Ptr RawTEllipse) -> CInt -> IO ()
+foreign import ccall "HROOT.h TEllipse_SetFillColor" c_tellipse_setfillcolor 
+  :: (Ptr RawTEllipse) -> CInt -> IO ()
+foreign import ccall "HROOT.h TEllipse_SetFillStyle" c_tellipse_setfillstyle 
+  :: (Ptr RawTEllipse) -> CInt -> IO ()
+foreign import ccall "HROOT.h TEllipse_delete" c_tellipse_delete 
+  :: (Ptr RawTEllipse) -> IO ()
+foreign import ccall "HROOT.h TEllipse_newTEllipse" c_tellipse_newtellipse 
+  :: CDouble -> CDouble -> CDouble -> CDouble -> CDouble -> CDouble -> CDouble -> IO (Ptr RawTEllipse)
+
+foreign import ccall "HROOT.h TArc_GetName" c_tarc_getname 
+  :: (Ptr RawTArc) -> IO CString
+foreign import ccall "HROOT.h TArc_Draw" c_tarc_draw 
+  :: (Ptr RawTArc) -> CString -> IO ()
+foreign import ccall "HROOT.h TArc_FindObject" c_tarc_findobject 
+  :: (Ptr RawTArc) -> CString -> IO (Ptr RawTObject)
+foreign import ccall "HROOT.h TArc_SaveAs" c_tarc_saveas 
+  :: (Ptr RawTArc) -> CString -> CString -> IO ()
+foreign import ccall "HROOT.h TArc_Write" c_tarc_write 
+  :: (Ptr RawTArc) -> CString -> CInt -> CInt -> IO CInt
+foreign import ccall "HROOT.h TArc_SetLineColor" c_tarc_setlinecolor 
+  :: (Ptr RawTArc) -> CInt -> IO ()
+foreign import ccall "HROOT.h TArc_SetFillColor" c_tarc_setfillcolor 
+  :: (Ptr RawTArc) -> CInt -> IO ()
+foreign import ccall "HROOT.h TArc_SetFillStyle" c_tarc_setfillstyle 
+  :: (Ptr RawTArc) -> CInt -> IO ()
+foreign import ccall "HROOT.h TArc_delete" c_tarc_delete 
+  :: (Ptr RawTArc) -> IO ()
+foreign import ccall "HROOT.h TArc_newTArc" c_tarc_newtarc 
+  :: CDouble -> CDouble -> CDouble -> CDouble -> CDouble -> IO (Ptr RawTArc)
+
+foreign import ccall "HROOT.h TCrown_GetName" c_tcrown_getname 
+  :: (Ptr RawTCrown) -> IO CString
+foreign import ccall "HROOT.h TCrown_Draw" c_tcrown_draw 
+  :: (Ptr RawTCrown) -> CString -> IO ()
+foreign import ccall "HROOT.h TCrown_FindObject" c_tcrown_findobject 
+  :: (Ptr RawTCrown) -> CString -> IO (Ptr RawTObject)
+foreign import ccall "HROOT.h TCrown_SaveAs" c_tcrown_saveas 
+  :: (Ptr RawTCrown) -> CString -> CString -> IO ()
+foreign import ccall "HROOT.h TCrown_Write" c_tcrown_write 
+  :: (Ptr RawTCrown) -> CString -> CInt -> CInt -> IO CInt
+foreign import ccall "HROOT.h TCrown_SetLineColor" c_tcrown_setlinecolor 
+  :: (Ptr RawTCrown) -> CInt -> IO ()
+foreign import ccall "HROOT.h TCrown_SetFillColor" c_tcrown_setfillcolor 
+  :: (Ptr RawTCrown) -> CInt -> IO ()
+foreign import ccall "HROOT.h TCrown_SetFillStyle" c_tcrown_setfillstyle 
+  :: (Ptr RawTCrown) -> CInt -> IO ()
+foreign import ccall "HROOT.h TCrown_delete" c_tcrown_delete 
+  :: (Ptr RawTCrown) -> IO ()
+foreign import ccall "HROOT.h TCrown_newTCrown" c_tcrown_newtcrown 
+  :: CDouble -> CDouble -> CDouble -> CDouble -> CDouble -> CDouble -> IO (Ptr RawTCrown)
+
+foreign import ccall "HROOT.h TLine_GetName" c_tline_getname 
+  :: (Ptr RawTLine) -> IO CString
+foreign import ccall "HROOT.h TLine_Draw" c_tline_draw 
+  :: (Ptr RawTLine) -> CString -> IO ()
+foreign import ccall "HROOT.h TLine_FindObject" c_tline_findobject 
+  :: (Ptr RawTLine) -> CString -> IO (Ptr RawTObject)
+foreign import ccall "HROOT.h TLine_SaveAs" c_tline_saveas 
+  :: (Ptr RawTLine) -> CString -> CString -> IO ()
+foreign import ccall "HROOT.h TLine_Write" c_tline_write 
+  :: (Ptr RawTLine) -> CString -> CInt -> CInt -> IO CInt
+foreign import ccall "HROOT.h TLine_SetLineColor" c_tline_setlinecolor 
+  :: (Ptr RawTLine) -> CInt -> IO ()
+foreign import ccall "HROOT.h TLine_delete" c_tline_delete 
+  :: (Ptr RawTLine) -> IO ()
+foreign import ccall "HROOT.h TLine_newTLine" c_tline_newtline 
+  :: CDouble -> CDouble -> CDouble -> CDouble -> IO (Ptr RawTLine)
+
+foreign import ccall "HROOT.h TArrow_SetFillColor" c_tarrow_setfillcolor 
+  :: (Ptr RawTArrow) -> CInt -> IO ()
+foreign import ccall "HROOT.h TArrow_SetFillStyle" c_tarrow_setfillstyle 
+  :: (Ptr RawTArrow) -> CInt -> IO ()
+foreign import ccall "HROOT.h TArrow_GetName" c_tarrow_getname 
+  :: (Ptr RawTArrow) -> IO CString
+foreign import ccall "HROOT.h TArrow_Draw" c_tarrow_draw 
+  :: (Ptr RawTArrow) -> CString -> IO ()
+foreign import ccall "HROOT.h TArrow_FindObject" c_tarrow_findobject 
+  :: (Ptr RawTArrow) -> CString -> IO (Ptr RawTObject)
+foreign import ccall "HROOT.h TArrow_SaveAs" c_tarrow_saveas 
+  :: (Ptr RawTArrow) -> CString -> CString -> IO ()
+foreign import ccall "HROOT.h TArrow_Write" c_tarrow_write 
+  :: (Ptr RawTArrow) -> CString -> CInt -> CInt -> IO CInt
+foreign import ccall "HROOT.h TArrow_SetLineColor" c_tarrow_setlinecolor 
+  :: (Ptr RawTArrow) -> CInt -> IO ()
+foreign import ccall "HROOT.h TArrow_delete" c_tarrow_delete 
+  :: (Ptr RawTArrow) -> IO ()
+foreign import ccall "HROOT.h TArrow_newTArrow" c_tarrow_newtarrow 
+  :: CDouble -> CDouble -> CDouble -> CDouble -> CDouble -> CString -> IO (Ptr RawTArrow)
+
+foreign import ccall "HROOT.h TGaxis_SetTextColor" c_tgaxis_settextcolor 
+  :: (Ptr RawTGaxis) -> CInt -> IO ()
+foreign import ccall "HROOT.h TGaxis_SetTextAlign" c_tgaxis_settextalign 
+  :: (Ptr RawTGaxis) -> CInt -> IO ()
+foreign import ccall "HROOT.h TGaxis_SetTextSize" c_tgaxis_settextsize 
+  :: (Ptr RawTGaxis) -> CDouble -> IO ()
+foreign import ccall "HROOT.h TGaxis_GetName" c_tgaxis_getname 
+  :: (Ptr RawTGaxis) -> IO CString
+foreign import ccall "HROOT.h TGaxis_Draw" c_tgaxis_draw 
+  :: (Ptr RawTGaxis) -> CString -> IO ()
+foreign import ccall "HROOT.h TGaxis_FindObject" c_tgaxis_findobject 
+  :: (Ptr RawTGaxis) -> CString -> IO (Ptr RawTObject)
+foreign import ccall "HROOT.h TGaxis_SaveAs" c_tgaxis_saveas 
+  :: (Ptr RawTGaxis) -> CString -> CString -> IO ()
+foreign import ccall "HROOT.h TGaxis_Write" c_tgaxis_write 
+  :: (Ptr RawTGaxis) -> CString -> CInt -> CInt -> IO CInt
+foreign import ccall "HROOT.h TGaxis_SetLineColor" c_tgaxis_setlinecolor 
+  :: (Ptr RawTGaxis) -> CInt -> IO ()
+foreign import ccall "HROOT.h TGaxis_delete" c_tgaxis_delete 
+  :: (Ptr RawTGaxis) -> IO ()
+foreign import ccall "HROOT.h TGaxis_newTGaxis" c_tgaxis_newtgaxis 
+  :: CDouble -> CDouble -> CDouble -> CDouble -> CDouble -> CDouble -> CInt -> CString -> CDouble -> IO (Ptr RawTGaxis)
+
+foreign import ccall "HROOT.h TShape_SetTitle" c_tshape_settitle 
+  :: (Ptr RawTShape) -> CString -> IO ()
+foreign import ccall "HROOT.h TShape_SetLineColor" c_tshape_setlinecolor 
+  :: (Ptr RawTShape) -> CInt -> IO ()
+foreign import ccall "HROOT.h TShape_SetFillColor" c_tshape_setfillcolor 
+  :: (Ptr RawTShape) -> CInt -> IO ()
+foreign import ccall "HROOT.h TShape_SetFillStyle" c_tshape_setfillstyle 
+  :: (Ptr RawTShape) -> CInt -> IO ()
+foreign import ccall "HROOT.h TShape_GetName" c_tshape_getname 
+  :: (Ptr RawTShape) -> IO CString
+foreign import ccall "HROOT.h TShape_Draw" c_tshape_draw 
+  :: (Ptr RawTShape) -> CString -> IO ()
+foreign import ccall "HROOT.h TShape_FindObject" c_tshape_findobject 
+  :: (Ptr RawTShape) -> CString -> IO (Ptr RawTObject)
+foreign import ccall "HROOT.h TShape_SaveAs" c_tshape_saveas 
+  :: (Ptr RawTShape) -> CString -> CString -> IO ()
+foreign import ccall "HROOT.h TShape_Write" c_tshape_write 
+  :: (Ptr RawTShape) -> CString -> CInt -> CInt -> IO CInt
+foreign import ccall "HROOT.h TShape_delete" c_tshape_delete 
+  :: (Ptr RawTShape) -> IO ()
+foreign import ccall "HROOT.h TShape_newTShape" c_tshape_newtshape 
+  :: CString -> CString -> CString -> IO (Ptr RawTShape)
+
+foreign import ccall "HROOT.h TBRIK_SetTitle" c_tbrik_settitle 
+  :: (Ptr RawTBRIK) -> CString -> IO ()
+foreign import ccall "HROOT.h TBRIK_SetLineColor" c_tbrik_setlinecolor 
+  :: (Ptr RawTBRIK) -> CInt -> IO ()
+foreign import ccall "HROOT.h TBRIK_SetFillColor" c_tbrik_setfillcolor 
+  :: (Ptr RawTBRIK) -> CInt -> IO ()
+foreign import ccall "HROOT.h TBRIK_SetFillStyle" c_tbrik_setfillstyle 
+  :: (Ptr RawTBRIK) -> CInt -> IO ()
+foreign import ccall "HROOT.h TBRIK_GetName" c_tbrik_getname 
+  :: (Ptr RawTBRIK) -> IO CString
+foreign import ccall "HROOT.h TBRIK_Draw" c_tbrik_draw 
+  :: (Ptr RawTBRIK) -> CString -> IO ()
+foreign import ccall "HROOT.h TBRIK_FindObject" c_tbrik_findobject 
+  :: (Ptr RawTBRIK) -> CString -> IO (Ptr RawTObject)
+foreign import ccall "HROOT.h TBRIK_SaveAs" c_tbrik_saveas 
+  :: (Ptr RawTBRIK) -> CString -> CString -> IO ()
+foreign import ccall "HROOT.h TBRIK_Write" c_tbrik_write 
+  :: (Ptr RawTBRIK) -> CString -> CInt -> CInt -> IO CInt
+foreign import ccall "HROOT.h TBRIK_delete" c_tbrik_delete 
+  :: (Ptr RawTBRIK) -> IO ()
+foreign import ccall "HROOT.h TBRIK_newTBRIK" c_tbrik_newtbrik 
+  :: CString -> CString -> CString -> CDouble -> CDouble -> CDouble -> IO (Ptr RawTBRIK)
+
+foreign import ccall "HROOT.h TTUBE_SetTitle" c_ttube_settitle 
+  :: (Ptr RawTTUBE) -> CString -> IO ()
+foreign import ccall "HROOT.h TTUBE_SetLineColor" c_ttube_setlinecolor 
+  :: (Ptr RawTTUBE) -> CInt -> IO ()
+foreign import ccall "HROOT.h TTUBE_SetFillColor" c_ttube_setfillcolor 
+  :: (Ptr RawTTUBE) -> CInt -> IO ()
+foreign import ccall "HROOT.h TTUBE_SetFillStyle" c_ttube_setfillstyle 
+  :: (Ptr RawTTUBE) -> CInt -> IO ()
+foreign import ccall "HROOT.h TTUBE_GetName" c_ttube_getname 
+  :: (Ptr RawTTUBE) -> IO CString
+foreign import ccall "HROOT.h TTUBE_Draw" c_ttube_draw 
+  :: (Ptr RawTTUBE) -> CString -> IO ()
+foreign import ccall "HROOT.h TTUBE_FindObject" c_ttube_findobject 
+  :: (Ptr RawTTUBE) -> CString -> IO (Ptr RawTObject)
+foreign import ccall "HROOT.h TTUBE_SaveAs" c_ttube_saveas 
+  :: (Ptr RawTTUBE) -> CString -> CString -> IO ()
+foreign import ccall "HROOT.h TTUBE_Write" c_ttube_write 
+  :: (Ptr RawTTUBE) -> CString -> CInt -> CInt -> IO CInt
+foreign import ccall "HROOT.h TTUBE_delete" c_ttube_delete 
+  :: (Ptr RawTTUBE) -> IO ()
+foreign import ccall "HROOT.h TTUBE_newTTUBE" c_ttube_newttube 
+  :: CString -> CString -> CString -> CDouble -> CDouble -> CDouble -> CDouble -> IO (Ptr RawTTUBE)
+
+foreign import ccall "HROOT.h TPCON_SetTitle" c_tpcon_settitle 
+  :: (Ptr RawTPCON) -> CString -> IO ()
+foreign import ccall "HROOT.h TPCON_SetLineColor" c_tpcon_setlinecolor 
+  :: (Ptr RawTPCON) -> CInt -> IO ()
+foreign import ccall "HROOT.h TPCON_SetFillColor" c_tpcon_setfillcolor 
+  :: (Ptr RawTPCON) -> CInt -> IO ()
+foreign import ccall "HROOT.h TPCON_SetFillStyle" c_tpcon_setfillstyle 
+  :: (Ptr RawTPCON) -> CInt -> IO ()
+foreign import ccall "HROOT.h TPCON_GetName" c_tpcon_getname 
+  :: (Ptr RawTPCON) -> IO CString
+foreign import ccall "HROOT.h TPCON_Draw" c_tpcon_draw 
+  :: (Ptr RawTPCON) -> CString -> IO ()
+foreign import ccall "HROOT.h TPCON_FindObject" c_tpcon_findobject 
+  :: (Ptr RawTPCON) -> CString -> IO (Ptr RawTObject)
+foreign import ccall "HROOT.h TPCON_SaveAs" c_tpcon_saveas 
+  :: (Ptr RawTPCON) -> CString -> CString -> IO ()
+foreign import ccall "HROOT.h TPCON_Write" c_tpcon_write 
+  :: (Ptr RawTPCON) -> CString -> CInt -> CInt -> IO CInt
+foreign import ccall "HROOT.h TPCON_delete" c_tpcon_delete 
+  :: (Ptr RawTPCON) -> IO ()
+foreign import ccall "HROOT.h TPCON_newTPCON" c_tpcon_newtpcon 
+  :: CString -> CString -> CString -> CDouble -> CDouble -> CInt -> IO (Ptr RawTPCON)
+
+foreign import ccall "HROOT.h TSPHE_SetTitle" c_tsphe_settitle 
+  :: (Ptr RawTSPHE) -> CString -> IO ()
+foreign import ccall "HROOT.h TSPHE_SetLineColor" c_tsphe_setlinecolor 
+  :: (Ptr RawTSPHE) -> CInt -> IO ()
+foreign import ccall "HROOT.h TSPHE_SetFillColor" c_tsphe_setfillcolor 
+  :: (Ptr RawTSPHE) -> CInt -> IO ()
+foreign import ccall "HROOT.h TSPHE_SetFillStyle" c_tsphe_setfillstyle 
+  :: (Ptr RawTSPHE) -> CInt -> IO ()
+foreign import ccall "HROOT.h TSPHE_GetName" c_tsphe_getname 
+  :: (Ptr RawTSPHE) -> IO CString
+foreign import ccall "HROOT.h TSPHE_Draw" c_tsphe_draw 
+  :: (Ptr RawTSPHE) -> CString -> IO ()
+foreign import ccall "HROOT.h TSPHE_FindObject" c_tsphe_findobject 
+  :: (Ptr RawTSPHE) -> CString -> IO (Ptr RawTObject)
+foreign import ccall "HROOT.h TSPHE_SaveAs" c_tsphe_saveas 
+  :: (Ptr RawTSPHE) -> CString -> CString -> IO ()
+foreign import ccall "HROOT.h TSPHE_Write" c_tsphe_write 
+  :: (Ptr RawTSPHE) -> CString -> CInt -> CInt -> IO CInt
+foreign import ccall "HROOT.h TSPHE_delete" c_tsphe_delete 
+  :: (Ptr RawTSPHE) -> IO ()
+foreign import ccall "HROOT.h TSPHE_newTSPHE" c_tsphe_newtsphe 
+  :: CString -> CString -> CString -> CDouble -> CDouble -> CDouble -> CDouble -> CDouble -> CDouble -> IO (Ptr RawTSPHE)
+
+foreign import ccall "HROOT.h TXTRU_SetTitle" c_txtru_settitle 
+  :: (Ptr RawTXTRU) -> CString -> IO ()
+foreign import ccall "HROOT.h TXTRU_SetLineColor" c_txtru_setlinecolor 
+  :: (Ptr RawTXTRU) -> CInt -> IO ()
+foreign import ccall "HROOT.h TXTRU_SetFillColor" c_txtru_setfillcolor 
+  :: (Ptr RawTXTRU) -> CInt -> IO ()
+foreign import ccall "HROOT.h TXTRU_SetFillStyle" c_txtru_setfillstyle 
+  :: (Ptr RawTXTRU) -> CInt -> IO ()
+foreign import ccall "HROOT.h TXTRU_GetName" c_txtru_getname 
+  :: (Ptr RawTXTRU) -> IO CString
+foreign import ccall "HROOT.h TXTRU_Draw" c_txtru_draw 
+  :: (Ptr RawTXTRU) -> CString -> IO ()
+foreign import ccall "HROOT.h TXTRU_FindObject" c_txtru_findobject 
+  :: (Ptr RawTXTRU) -> CString -> IO (Ptr RawTObject)
+foreign import ccall "HROOT.h TXTRU_SaveAs" c_txtru_saveas 
+  :: (Ptr RawTXTRU) -> CString -> CString -> IO ()
+foreign import ccall "HROOT.h TXTRU_Write" c_txtru_write 
+  :: (Ptr RawTXTRU) -> CString -> CInt -> CInt -> IO CInt
+foreign import ccall "HROOT.h TXTRU_delete" c_txtru_delete 
+  :: (Ptr RawTXTRU) -> IO ()
+foreign import ccall "HROOT.h TXTRU_newTXTRU" c_txtru_newtxtru 
+  :: CString -> CString -> CString -> CInt -> CInt -> IO (Ptr RawTXTRU)
+
+foreign import ccall "HROOT.h TBox_GetName" c_tbox_getname 
+  :: (Ptr RawTBox) -> IO CString
+foreign import ccall "HROOT.h TBox_Draw" c_tbox_draw 
+  :: (Ptr RawTBox) -> CString -> IO ()
+foreign import ccall "HROOT.h TBox_FindObject" c_tbox_findobject 
+  :: (Ptr RawTBox) -> CString -> IO (Ptr RawTObject)
+foreign import ccall "HROOT.h TBox_SaveAs" c_tbox_saveas 
+  :: (Ptr RawTBox) -> CString -> CString -> IO ()
+foreign import ccall "HROOT.h TBox_Write" c_tbox_write 
+  :: (Ptr RawTBox) -> CString -> CInt -> CInt -> IO CInt
+foreign import ccall "HROOT.h TBox_SetLineColor" c_tbox_setlinecolor 
+  :: (Ptr RawTBox) -> CInt -> IO ()
+foreign import ccall "HROOT.h TBox_SetFillColor" c_tbox_setfillcolor 
+  :: (Ptr RawTBox) -> CInt -> IO ()
+foreign import ccall "HROOT.h TBox_SetFillStyle" c_tbox_setfillstyle 
+  :: (Ptr RawTBox) -> CInt -> IO ()
+foreign import ccall "HROOT.h TBox_delete" c_tbox_delete 
+  :: (Ptr RawTBox) -> IO ()
+foreign import ccall "HROOT.h TBox_newTBox" c_tbox_newtbox 
+  :: CDouble -> CDouble -> CDouble -> CDouble -> IO (Ptr RawTBox)
+
+foreign import ccall "HROOT.h TPave_GetName" c_tpave_getname 
+  :: (Ptr RawTPave) -> IO CString
+foreign import ccall "HROOT.h TPave_Draw" c_tpave_draw 
+  :: (Ptr RawTPave) -> CString -> IO ()
+foreign import ccall "HROOT.h TPave_FindObject" c_tpave_findobject 
+  :: (Ptr RawTPave) -> CString -> IO (Ptr RawTObject)
+foreign import ccall "HROOT.h TPave_SaveAs" c_tpave_saveas 
+  :: (Ptr RawTPave) -> CString -> CString -> IO ()
+foreign import ccall "HROOT.h TPave_Write" c_tpave_write 
+  :: (Ptr RawTPave) -> CString -> CInt -> CInt -> IO CInt
+foreign import ccall "HROOT.h TPave_SetLineColor" c_tpave_setlinecolor 
+  :: (Ptr RawTPave) -> CInt -> IO ()
+foreign import ccall "HROOT.h TPave_SetFillColor" c_tpave_setfillcolor 
+  :: (Ptr RawTPave) -> CInt -> IO ()
+foreign import ccall "HROOT.h TPave_SetFillStyle" c_tpave_setfillstyle 
+  :: (Ptr RawTPave) -> CInt -> IO ()
+foreign import ccall "HROOT.h TPave_delete" c_tpave_delete 
+  :: (Ptr RawTPave) -> IO ()
+foreign import ccall "HROOT.h TPave_newTPave" c_tpave_newtpave 
+  :: CDouble -> CDouble -> CDouble -> CDouble -> CInt -> CString -> IO (Ptr RawTPave)
+
+foreign import ccall "HROOT.h TPaveText_SetTextColor" c_tpavetext_settextcolor 
+  :: (Ptr RawTPaveText) -> CInt -> IO ()
+foreign import ccall "HROOT.h TPaveText_SetTextAlign" c_tpavetext_settextalign 
+  :: (Ptr RawTPaveText) -> CInt -> IO ()
+foreign import ccall "HROOT.h TPaveText_SetTextSize" c_tpavetext_settextsize 
+  :: (Ptr RawTPaveText) -> CDouble -> IO ()
+foreign import ccall "HROOT.h TPaveText_GetName" c_tpavetext_getname 
+  :: (Ptr RawTPaveText) -> IO CString
+foreign import ccall "HROOT.h TPaveText_Draw" c_tpavetext_draw 
+  :: (Ptr RawTPaveText) -> CString -> IO ()
+foreign import ccall "HROOT.h TPaveText_FindObject" c_tpavetext_findobject 
+  :: (Ptr RawTPaveText) -> CString -> IO (Ptr RawTObject)
+foreign import ccall "HROOT.h TPaveText_SaveAs" c_tpavetext_saveas 
+  :: (Ptr RawTPaveText) -> CString -> CString -> IO ()
+foreign import ccall "HROOT.h TPaveText_Write" c_tpavetext_write 
+  :: (Ptr RawTPaveText) -> CString -> CInt -> CInt -> IO CInt
+foreign import ccall "HROOT.h TPaveText_SetLineColor" c_tpavetext_setlinecolor 
+  :: (Ptr RawTPaveText) -> CInt -> IO ()
+foreign import ccall "HROOT.h TPaveText_SetFillColor" c_tpavetext_setfillcolor 
+  :: (Ptr RawTPaveText) -> CInt -> IO ()
+foreign import ccall "HROOT.h TPaveText_SetFillStyle" c_tpavetext_setfillstyle 
+  :: (Ptr RawTPaveText) -> CInt -> IO ()
+foreign import ccall "HROOT.h TPaveText_delete" c_tpavetext_delete 
+  :: (Ptr RawTPaveText) -> IO ()
+foreign import ccall "HROOT.h TPaveText_newTPaveText" c_tpavetext_newtpavetext 
+  :: CDouble -> CDouble -> CDouble -> CDouble -> CString -> IO (Ptr RawTPaveText)
+
+foreign import ccall "HROOT.h TDiamond_SetTextColor" c_tdiamond_settextcolor 
+  :: (Ptr RawTDiamond) -> CInt -> IO ()
+foreign import ccall "HROOT.h TDiamond_SetTextAlign" c_tdiamond_settextalign 
+  :: (Ptr RawTDiamond) -> CInt -> IO ()
+foreign import ccall "HROOT.h TDiamond_SetTextSize" c_tdiamond_settextsize 
+  :: (Ptr RawTDiamond) -> CDouble -> IO ()
+foreign import ccall "HROOT.h TDiamond_GetName" c_tdiamond_getname 
+  :: (Ptr RawTDiamond) -> IO CString
+foreign import ccall "HROOT.h TDiamond_Draw" c_tdiamond_draw 
+  :: (Ptr RawTDiamond) -> CString -> IO ()
+foreign import ccall "HROOT.h TDiamond_FindObject" c_tdiamond_findobject 
+  :: (Ptr RawTDiamond) -> CString -> IO (Ptr RawTObject)
+foreign import ccall "HROOT.h TDiamond_SaveAs" c_tdiamond_saveas 
+  :: (Ptr RawTDiamond) -> CString -> CString -> IO ()
+foreign import ccall "HROOT.h TDiamond_Write" c_tdiamond_write 
+  :: (Ptr RawTDiamond) -> CString -> CInt -> CInt -> IO CInt
+foreign import ccall "HROOT.h TDiamond_SetLineColor" c_tdiamond_setlinecolor 
+  :: (Ptr RawTDiamond) -> CInt -> IO ()
+foreign import ccall "HROOT.h TDiamond_SetFillColor" c_tdiamond_setfillcolor 
+  :: (Ptr RawTDiamond) -> CInt -> IO ()
+foreign import ccall "HROOT.h TDiamond_SetFillStyle" c_tdiamond_setfillstyle 
+  :: (Ptr RawTDiamond) -> CInt -> IO ()
+foreign import ccall "HROOT.h TDiamond_delete" c_tdiamond_delete 
+  :: (Ptr RawTDiamond) -> IO ()
+foreign import ccall "HROOT.h TDiamond_newTDiamond" c_tdiamond_newtdiamond 
+  :: CDouble -> CDouble -> CDouble -> CDouble -> IO (Ptr RawTDiamond)
+
+foreign import ccall "HROOT.h TPaveStats_SetTextColor" c_tpavestats_settextcolor 
+  :: (Ptr RawTPaveStats) -> CInt -> IO ()
+foreign import ccall "HROOT.h TPaveStats_SetTextAlign" c_tpavestats_settextalign 
+  :: (Ptr RawTPaveStats) -> CInt -> IO ()
+foreign import ccall "HROOT.h TPaveStats_SetTextSize" c_tpavestats_settextsize 
+  :: (Ptr RawTPaveStats) -> CDouble -> IO ()
+foreign import ccall "HROOT.h TPaveStats_GetName" c_tpavestats_getname 
+  :: (Ptr RawTPaveStats) -> IO CString
+foreign import ccall "HROOT.h TPaveStats_Draw" c_tpavestats_draw 
+  :: (Ptr RawTPaveStats) -> CString -> IO ()
+foreign import ccall "HROOT.h TPaveStats_FindObject" c_tpavestats_findobject 
+  :: (Ptr RawTPaveStats) -> CString -> IO (Ptr RawTObject)
+foreign import ccall "HROOT.h TPaveStats_SaveAs" c_tpavestats_saveas 
+  :: (Ptr RawTPaveStats) -> CString -> CString -> IO ()
+foreign import ccall "HROOT.h TPaveStats_Write" c_tpavestats_write 
+  :: (Ptr RawTPaveStats) -> CString -> CInt -> CInt -> IO CInt
+foreign import ccall "HROOT.h TPaveStats_SetLineColor" c_tpavestats_setlinecolor 
+  :: (Ptr RawTPaveStats) -> CInt -> IO ()
+foreign import ccall "HROOT.h TPaveStats_SetFillColor" c_tpavestats_setfillcolor 
+  :: (Ptr RawTPaveStats) -> CInt -> IO ()
+foreign import ccall "HROOT.h TPaveStats_SetFillStyle" c_tpavestats_setfillstyle 
+  :: (Ptr RawTPaveStats) -> CInt -> IO ()
+foreign import ccall "HROOT.h TPaveStats_delete" c_tpavestats_delete 
+  :: (Ptr RawTPaveStats) -> IO ()
+foreign import ccall "HROOT.h TPaveStats_newTPaveStats" c_tpavestats_newtpavestats 
+  :: CDouble -> CDouble -> CDouble -> CDouble -> CString -> IO (Ptr RawTPaveStats)
+
+foreign import ccall "HROOT.h TPavesText_SetTextColor" c_tpavestext_settextcolor 
+  :: (Ptr RawTPavesText) -> CInt -> IO ()
+foreign import ccall "HROOT.h TPavesText_SetTextAlign" c_tpavestext_settextalign 
+  :: (Ptr RawTPavesText) -> CInt -> IO ()
+foreign import ccall "HROOT.h TPavesText_SetTextSize" c_tpavestext_settextsize 
+  :: (Ptr RawTPavesText) -> CDouble -> IO ()
+foreign import ccall "HROOT.h TPavesText_GetName" c_tpavestext_getname 
+  :: (Ptr RawTPavesText) -> IO CString
+foreign import ccall "HROOT.h TPavesText_Draw" c_tpavestext_draw 
+  :: (Ptr RawTPavesText) -> CString -> IO ()
+foreign import ccall "HROOT.h TPavesText_FindObject" c_tpavestext_findobject 
+  :: (Ptr RawTPavesText) -> CString -> IO (Ptr RawTObject)
+foreign import ccall "HROOT.h TPavesText_SaveAs" c_tpavestext_saveas 
+  :: (Ptr RawTPavesText) -> CString -> CString -> IO ()
+foreign import ccall "HROOT.h TPavesText_Write" c_tpavestext_write 
+  :: (Ptr RawTPavesText) -> CString -> CInt -> CInt -> IO CInt
+foreign import ccall "HROOT.h TPavesText_SetLineColor" c_tpavestext_setlinecolor 
+  :: (Ptr RawTPavesText) -> CInt -> IO ()
+foreign import ccall "HROOT.h TPavesText_SetFillColor" c_tpavestext_setfillcolor 
+  :: (Ptr RawTPavesText) -> CInt -> IO ()
+foreign import ccall "HROOT.h TPavesText_SetFillStyle" c_tpavestext_setfillstyle 
+  :: (Ptr RawTPavesText) -> CInt -> IO ()
+foreign import ccall "HROOT.h TPavesText_delete" c_tpavestext_delete 
+  :: (Ptr RawTPavesText) -> IO ()
+foreign import ccall "HROOT.h TPavesText_newTPavesText" c_tpavestext_newtpavestext 
+  :: CDouble -> CDouble -> CDouble -> CDouble -> CInt -> CString -> IO (Ptr RawTPavesText)
+
+foreign import ccall "HROOT.h TLegend_SetTextColor" c_tlegend_settextcolor 
+  :: (Ptr RawTLegend) -> CInt -> IO ()
+foreign import ccall "HROOT.h TLegend_SetTextAlign" c_tlegend_settextalign 
+  :: (Ptr RawTLegend) -> CInt -> IO ()
+foreign import ccall "HROOT.h TLegend_SetTextSize" c_tlegend_settextsize 
+  :: (Ptr RawTLegend) -> CDouble -> IO ()
+foreign import ccall "HROOT.h TLegend_GetName" c_tlegend_getname 
+  :: (Ptr RawTLegend) -> IO CString
+foreign import ccall "HROOT.h TLegend_Draw" c_tlegend_draw 
+  :: (Ptr RawTLegend) -> CString -> IO ()
+foreign import ccall "HROOT.h TLegend_FindObject" c_tlegend_findobject 
+  :: (Ptr RawTLegend) -> CString -> IO (Ptr RawTObject)
+foreign import ccall "HROOT.h TLegend_SaveAs" c_tlegend_saveas 
+  :: (Ptr RawTLegend) -> CString -> CString -> IO ()
+foreign import ccall "HROOT.h TLegend_Write" c_tlegend_write 
+  :: (Ptr RawTLegend) -> CString -> CInt -> CInt -> IO CInt
+foreign import ccall "HROOT.h TLegend_SetLineColor" c_tlegend_setlinecolor 
+  :: (Ptr RawTLegend) -> CInt -> IO ()
+foreign import ccall "HROOT.h TLegend_SetFillColor" c_tlegend_setfillcolor 
+  :: (Ptr RawTLegend) -> CInt -> IO ()
+foreign import ccall "HROOT.h TLegend_SetFillStyle" c_tlegend_setfillstyle 
+  :: (Ptr RawTLegend) -> CInt -> IO ()
+foreign import ccall "HROOT.h TLegend_delete" c_tlegend_delete 
+  :: (Ptr RawTLegend) -> IO ()
+foreign import ccall "HROOT.h TLegend_newTLegend" c_tlegend_newtlegend 
+  :: CDouble -> CDouble -> CDouble -> CDouble -> CString -> CString -> IO (Ptr RawTLegend)
+
+foreign import ccall "HROOT.h TPaveLabel_SetTextColor" c_tpavelabel_settextcolor 
+  :: (Ptr RawTPaveLabel) -> CInt -> IO ()
+foreign import ccall "HROOT.h TPaveLabel_SetTextAlign" c_tpavelabel_settextalign 
+  :: (Ptr RawTPaveLabel) -> CInt -> IO ()
+foreign import ccall "HROOT.h TPaveLabel_SetTextSize" c_tpavelabel_settextsize 
+  :: (Ptr RawTPaveLabel) -> CDouble -> IO ()
+foreign import ccall "HROOT.h TPaveLabel_GetName" c_tpavelabel_getname 
+  :: (Ptr RawTPaveLabel) -> IO CString
+foreign import ccall "HROOT.h TPaveLabel_Draw" c_tpavelabel_draw 
+  :: (Ptr RawTPaveLabel) -> CString -> IO ()
+foreign import ccall "HROOT.h TPaveLabel_FindObject" c_tpavelabel_findobject 
+  :: (Ptr RawTPaveLabel) -> CString -> IO (Ptr RawTObject)
+foreign import ccall "HROOT.h TPaveLabel_SaveAs" c_tpavelabel_saveas 
+  :: (Ptr RawTPaveLabel) -> CString -> CString -> IO ()
+foreign import ccall "HROOT.h TPaveLabel_Write" c_tpavelabel_write 
+  :: (Ptr RawTPaveLabel) -> CString -> CInt -> CInt -> IO CInt
+foreign import ccall "HROOT.h TPaveLabel_SetLineColor" c_tpavelabel_setlinecolor 
+  :: (Ptr RawTPaveLabel) -> CInt -> IO ()
+foreign import ccall "HROOT.h TPaveLabel_SetFillColor" c_tpavelabel_setfillcolor 
+  :: (Ptr RawTPaveLabel) -> CInt -> IO ()
+foreign import ccall "HROOT.h TPaveLabel_SetFillStyle" c_tpavelabel_setfillstyle 
+  :: (Ptr RawTPaveLabel) -> CInt -> IO ()
+foreign import ccall "HROOT.h TPaveLabel_delete" c_tpavelabel_delete 
+  :: (Ptr RawTPaveLabel) -> IO ()
+foreign import ccall "HROOT.h TPaveLabel_newTPaveLabel" c_tpavelabel_newtpavelabel 
+  :: CDouble -> CDouble -> CDouble -> CDouble -> CString -> CString -> IO (Ptr RawTPaveLabel)
+
+foreign import ccall "HROOT.h TPaveClass_SetTextColor" c_tpaveclass_settextcolor 
+  :: (Ptr RawTPaveClass) -> CInt -> IO ()
+foreign import ccall "HROOT.h TPaveClass_SetTextAlign" c_tpaveclass_settextalign 
+  :: (Ptr RawTPaveClass) -> CInt -> IO ()
+foreign import ccall "HROOT.h TPaveClass_SetTextSize" c_tpaveclass_settextsize 
+  :: (Ptr RawTPaveClass) -> CDouble -> IO ()
+foreign import ccall "HROOT.h TPaveClass_GetName" c_tpaveclass_getname 
+  :: (Ptr RawTPaveClass) -> IO CString
+foreign import ccall "HROOT.h TPaveClass_Draw" c_tpaveclass_draw 
+  :: (Ptr RawTPaveClass) -> CString -> IO ()
+foreign import ccall "HROOT.h TPaveClass_FindObject" c_tpaveclass_findobject 
+  :: (Ptr RawTPaveClass) -> CString -> IO (Ptr RawTObject)
+foreign import ccall "HROOT.h TPaveClass_SaveAs" c_tpaveclass_saveas 
+  :: (Ptr RawTPaveClass) -> CString -> CString -> IO ()
+foreign import ccall "HROOT.h TPaveClass_Write" c_tpaveclass_write 
+  :: (Ptr RawTPaveClass) -> CString -> CInt -> CInt -> IO CInt
+foreign import ccall "HROOT.h TPaveClass_SetLineColor" c_tpaveclass_setlinecolor 
+  :: (Ptr RawTPaveClass) -> CInt -> IO ()
+foreign import ccall "HROOT.h TPaveClass_SetFillColor" c_tpaveclass_setfillcolor 
+  :: (Ptr RawTPaveClass) -> CInt -> IO ()
+foreign import ccall "HROOT.h TPaveClass_SetFillStyle" c_tpaveclass_setfillstyle 
+  :: (Ptr RawTPaveClass) -> CInt -> IO ()
+foreign import ccall "HROOT.h TPaveClass_delete" c_tpaveclass_delete 
+  :: (Ptr RawTPaveClass) -> IO ()
+
+foreign import ccall "HROOT.h TWbox_GetName" c_twbox_getname 
+  :: (Ptr RawTWbox) -> IO CString
+foreign import ccall "HROOT.h TWbox_Draw" c_twbox_draw 
+  :: (Ptr RawTWbox) -> CString -> IO ()
+foreign import ccall "HROOT.h TWbox_FindObject" c_twbox_findobject 
+  :: (Ptr RawTWbox) -> CString -> IO (Ptr RawTObject)
+foreign import ccall "HROOT.h TWbox_SaveAs" c_twbox_saveas 
+  :: (Ptr RawTWbox) -> CString -> CString -> IO ()
+foreign import ccall "HROOT.h TWbox_Write" c_twbox_write 
+  :: (Ptr RawTWbox) -> CString -> CInt -> CInt -> IO CInt
+foreign import ccall "HROOT.h TWbox_SetLineColor" c_twbox_setlinecolor 
+  :: (Ptr RawTWbox) -> CInt -> IO ()
+foreign import ccall "HROOT.h TWbox_SetFillColor" c_twbox_setfillcolor 
+  :: (Ptr RawTWbox) -> CInt -> IO ()
+foreign import ccall "HROOT.h TWbox_SetFillStyle" c_twbox_setfillstyle 
+  :: (Ptr RawTWbox) -> CInt -> IO ()
+foreign import ccall "HROOT.h TWbox_delete" c_twbox_delete 
+  :: (Ptr RawTWbox) -> IO ()
+foreign import ccall "HROOT.h TWbox_newTWbox" c_twbox_newtwbox 
+  :: CDouble -> CDouble -> CDouble -> CDouble -> CInt -> CInt -> CInt -> IO (Ptr RawTWbox)
+foreign import ccall "HROOT.h TWbox_SetBorderMode" c_twbox_setbordermode 
+  :: (Ptr RawTWbox) -> CInt -> IO ()
+
+foreign import ccall "HROOT.h TFrame_SetBorderMode" c_tframe_setbordermode 
+  :: (Ptr RawTFrame) -> CInt -> IO ()
+foreign import ccall "HROOT.h TFrame_GetName" c_tframe_getname 
+  :: (Ptr RawTFrame) -> IO CString
+foreign import ccall "HROOT.h TFrame_Draw" c_tframe_draw 
+  :: (Ptr RawTFrame) -> CString -> IO ()
+foreign import ccall "HROOT.h TFrame_FindObject" c_tframe_findobject 
+  :: (Ptr RawTFrame) -> CString -> IO (Ptr RawTObject)
+foreign import ccall "HROOT.h TFrame_SaveAs" c_tframe_saveas 
+  :: (Ptr RawTFrame) -> CString -> CString -> IO ()
+foreign import ccall "HROOT.h TFrame_Write" c_tframe_write 
+  :: (Ptr RawTFrame) -> CString -> CInt -> CInt -> IO CInt
+foreign import ccall "HROOT.h TFrame_SetLineColor" c_tframe_setlinecolor 
+  :: (Ptr RawTFrame) -> CInt -> IO ()
+foreign import ccall "HROOT.h TFrame_SetFillColor" c_tframe_setfillcolor 
+  :: (Ptr RawTFrame) -> CInt -> IO ()
+foreign import ccall "HROOT.h TFrame_SetFillStyle" c_tframe_setfillstyle 
+  :: (Ptr RawTFrame) -> CInt -> IO ()
+foreign import ccall "HROOT.h TFrame_delete" c_tframe_delete 
+  :: (Ptr RawTFrame) -> IO ()
+foreign import ccall "HROOT.h TFrame_newTFrame" c_tframe_newtframe 
+  :: CDouble -> CDouble -> CDouble -> CDouble -> IO (Ptr RawTFrame)
+
+foreign import ccall "HROOT.h TSliderBox_SetBorderMode" c_tsliderbox_setbordermode 
+  :: (Ptr RawTSliderBox) -> CInt -> IO ()
+foreign import ccall "HROOT.h TSliderBox_GetName" c_tsliderbox_getname 
+  :: (Ptr RawTSliderBox) -> IO CString
+foreign import ccall "HROOT.h TSliderBox_Draw" c_tsliderbox_draw 
+  :: (Ptr RawTSliderBox) -> CString -> IO ()
+foreign import ccall "HROOT.h TSliderBox_FindObject" c_tsliderbox_findobject 
+  :: (Ptr RawTSliderBox) -> CString -> IO (Ptr RawTObject)
+foreign import ccall "HROOT.h TSliderBox_SaveAs" c_tsliderbox_saveas 
+  :: (Ptr RawTSliderBox) -> CString -> CString -> IO ()
+foreign import ccall "HROOT.h TSliderBox_Write" c_tsliderbox_write 
+  :: (Ptr RawTSliderBox) -> CString -> CInt -> CInt -> IO CInt
+foreign import ccall "HROOT.h TSliderBox_SetLineColor" c_tsliderbox_setlinecolor 
+  :: (Ptr RawTSliderBox) -> CInt -> IO ()
+foreign import ccall "HROOT.h TSliderBox_SetFillColor" c_tsliderbox_setfillcolor 
+  :: (Ptr RawTSliderBox) -> CInt -> IO ()
+foreign import ccall "HROOT.h TSliderBox_SetFillStyle" c_tsliderbox_setfillstyle 
+  :: (Ptr RawTSliderBox) -> CInt -> IO ()
+foreign import ccall "HROOT.h TSliderBox_delete" c_tsliderbox_delete 
+  :: (Ptr RawTSliderBox) -> IO ()
+foreign import ccall "HROOT.h TSliderBox_newTSliderBox" c_tsliderbox_newtsliderbox 
+  :: CDouble -> CDouble -> CDouble -> CDouble -> CInt -> CInt -> CInt -> IO (Ptr RawTSliderBox)
+
+foreign import ccall "HROOT.h TTree_SetTitle" c_ttree_settitle 
+  :: (Ptr RawTTree) -> CString -> IO ()
+foreign import ccall "HROOT.h TTree_SetLineColor" c_ttree_setlinecolor 
+  :: (Ptr RawTTree) -> CInt -> IO ()
+foreign import ccall "HROOT.h TTree_SetFillColor" c_ttree_setfillcolor 
+  :: (Ptr RawTTree) -> CInt -> IO ()
+foreign import ccall "HROOT.h TTree_SetFillStyle" c_ttree_setfillstyle 
+  :: (Ptr RawTTree) -> CInt -> IO ()
+foreign import ccall "HROOT.h TTree_GetName" c_ttree_getname 
+  :: (Ptr RawTTree) -> IO CString
+foreign import ccall "HROOT.h TTree_Draw" c_ttree_draw 
+  :: (Ptr RawTTree) -> CString -> IO ()
+foreign import ccall "HROOT.h TTree_FindObject" c_ttree_findobject 
+  :: (Ptr RawTTree) -> CString -> IO (Ptr RawTObject)
+foreign import ccall "HROOT.h TTree_SaveAs" c_ttree_saveas 
+  :: (Ptr RawTTree) -> CString -> CString -> IO ()
+foreign import ccall "HROOT.h TTree_Write" c_ttree_write 
+  :: (Ptr RawTTree) -> CString -> CInt -> CInt -> IO CInt
+foreign import ccall "HROOT.h TTree_delete" c_ttree_delete 
+  :: (Ptr RawTTree) -> IO ()
+foreign import ccall "HROOT.h TTree_newTTree" c_ttree_newttree 
+  :: CString -> CString -> CInt -> IO (Ptr RawTTree)
+
+foreign import ccall "HROOT.h TChain_SetTitle" c_tchain_settitle 
+  :: (Ptr RawTChain) -> CString -> IO ()
+foreign import ccall "HROOT.h TChain_SetLineColor" c_tchain_setlinecolor 
+  :: (Ptr RawTChain) -> CInt -> IO ()
+foreign import ccall "HROOT.h TChain_SetFillColor" c_tchain_setfillcolor 
+  :: (Ptr RawTChain) -> CInt -> IO ()
+foreign import ccall "HROOT.h TChain_SetFillStyle" c_tchain_setfillstyle 
+  :: (Ptr RawTChain) -> CInt -> IO ()
+foreign import ccall "HROOT.h TChain_GetName" c_tchain_getname 
+  :: (Ptr RawTChain) -> IO CString
+foreign import ccall "HROOT.h TChain_Draw" c_tchain_draw 
+  :: (Ptr RawTChain) -> CString -> IO ()
+foreign import ccall "HROOT.h TChain_FindObject" c_tchain_findobject 
+  :: (Ptr RawTChain) -> CString -> IO (Ptr RawTObject)
+foreign import ccall "HROOT.h TChain_SaveAs" c_tchain_saveas 
+  :: (Ptr RawTChain) -> CString -> CString -> IO ()
+foreign import ccall "HROOT.h TChain_Write" c_tchain_write 
+  :: (Ptr RawTChain) -> CString -> CInt -> CInt -> IO CInt
+foreign import ccall "HROOT.h TChain_delete" c_tchain_delete 
+  :: (Ptr RawTChain) -> IO ()
+foreign import ccall "HROOT.h TChain_newTChain" c_tchain_newtchain 
+  :: CString -> CString -> IO (Ptr RawTChain)
+
+foreign import ccall "HROOT.h TNtuple_SetTitle" c_tntuple_settitle 
+  :: (Ptr RawTNtuple) -> CString -> IO ()
+foreign import ccall "HROOT.h TNtuple_SetLineColor" c_tntuple_setlinecolor 
+  :: (Ptr RawTNtuple) -> CInt -> IO ()
+foreign import ccall "HROOT.h TNtuple_SetFillColor" c_tntuple_setfillcolor 
+  :: (Ptr RawTNtuple) -> CInt -> IO ()
+foreign import ccall "HROOT.h TNtuple_SetFillStyle" c_tntuple_setfillstyle 
+  :: (Ptr RawTNtuple) -> CInt -> IO ()
+foreign import ccall "HROOT.h TNtuple_GetName" c_tntuple_getname 
+  :: (Ptr RawTNtuple) -> IO CString
+foreign import ccall "HROOT.h TNtuple_Draw" c_tntuple_draw 
+  :: (Ptr RawTNtuple) -> CString -> IO ()
+foreign import ccall "HROOT.h TNtuple_FindObject" c_tntuple_findobject 
+  :: (Ptr RawTNtuple) -> CString -> IO (Ptr RawTObject)
+foreign import ccall "HROOT.h TNtuple_SaveAs" c_tntuple_saveas 
+  :: (Ptr RawTNtuple) -> CString -> CString -> IO ()
+foreign import ccall "HROOT.h TNtuple_Write" c_tntuple_write 
+  :: (Ptr RawTNtuple) -> CString -> CInt -> CInt -> IO CInt
+foreign import ccall "HROOT.h TNtuple_delete" c_tntuple_delete 
+  :: (Ptr RawTNtuple) -> IO ()
+foreign import ccall "HROOT.h TNtuple_newTNtuple" c_tntuple_newtntuple 
+  :: CString -> CString -> CString -> CInt -> IO (Ptr RawTNtuple)
+
+foreign import ccall "HROOT.h TNtupleD_SetTitle" c_tntupled_settitle 
+  :: (Ptr RawTNtupleD) -> CString -> IO ()
+foreign import ccall "HROOT.h TNtupleD_SetLineColor" c_tntupled_setlinecolor 
+  :: (Ptr RawTNtupleD) -> CInt -> IO ()
+foreign import ccall "HROOT.h TNtupleD_SetFillColor" c_tntupled_setfillcolor 
+  :: (Ptr RawTNtupleD) -> CInt -> IO ()
+foreign import ccall "HROOT.h TNtupleD_SetFillStyle" c_tntupled_setfillstyle 
+  :: (Ptr RawTNtupleD) -> CInt -> IO ()
+foreign import ccall "HROOT.h TNtupleD_GetName" c_tntupled_getname 
+  :: (Ptr RawTNtupleD) -> IO CString
+foreign import ccall "HROOT.h TNtupleD_Draw" c_tntupled_draw 
+  :: (Ptr RawTNtupleD) -> CString -> IO ()
+foreign import ccall "HROOT.h TNtupleD_FindObject" c_tntupled_findobject 
+  :: (Ptr RawTNtupleD) -> CString -> IO (Ptr RawTObject)
+foreign import ccall "HROOT.h TNtupleD_SaveAs" c_tntupled_saveas 
+  :: (Ptr RawTNtupleD) -> CString -> CString -> IO ()
+foreign import ccall "HROOT.h TNtupleD_Write" c_tntupled_write 
+  :: (Ptr RawTNtupleD) -> CString -> CInt -> CInt -> IO CInt
+foreign import ccall "HROOT.h TNtupleD_delete" c_tntupled_delete 
+  :: (Ptr RawTNtupleD) -> IO ()
+foreign import ccall "HROOT.h TNtupleD_newTNtupleD" c_tntupled_newtntupled 
+  :: CString -> CString -> CString -> CInt -> IO (Ptr RawTNtupleD)
+
+foreign import ccall "HROOT.h TTreeSQL_SetTitle" c_ttreesql_settitle 
+  :: (Ptr RawTTreeSQL) -> CString -> IO ()
+foreign import ccall "HROOT.h TTreeSQL_SetLineColor" c_ttreesql_setlinecolor 
+  :: (Ptr RawTTreeSQL) -> CInt -> IO ()
+foreign import ccall "HROOT.h TTreeSQL_SetFillColor" c_ttreesql_setfillcolor 
+  :: (Ptr RawTTreeSQL) -> CInt -> IO ()
+foreign import ccall "HROOT.h TTreeSQL_SetFillStyle" c_ttreesql_setfillstyle 
+  :: (Ptr RawTTreeSQL) -> CInt -> IO ()
+foreign import ccall "HROOT.h TTreeSQL_GetName" c_ttreesql_getname 
+  :: (Ptr RawTTreeSQL) -> IO CString
+foreign import ccall "HROOT.h TTreeSQL_Draw" c_ttreesql_draw 
+  :: (Ptr RawTTreeSQL) -> CString -> IO ()
+foreign import ccall "HROOT.h TTreeSQL_FindObject" c_ttreesql_findobject 
+  :: (Ptr RawTTreeSQL) -> CString -> IO (Ptr RawTObject)
+foreign import ccall "HROOT.h TTreeSQL_SaveAs" c_ttreesql_saveas 
+  :: (Ptr RawTTreeSQL) -> CString -> CString -> IO ()
+foreign import ccall "HROOT.h TTreeSQL_Write" c_ttreesql_write 
+  :: (Ptr RawTTreeSQL) -> CString -> CInt -> CInt -> IO CInt
+foreign import ccall "HROOT.h TTreeSQL_delete" c_ttreesql_delete 
+  :: (Ptr RawTTreeSQL) -> IO ()
+
+foreign import ccall "HROOT.h TPolyLine_GetName" c_tpolyline_getname 
+  :: (Ptr RawTPolyLine) -> IO CString
+foreign import ccall "HROOT.h TPolyLine_Draw" c_tpolyline_draw 
+  :: (Ptr RawTPolyLine) -> CString -> IO ()
+foreign import ccall "HROOT.h TPolyLine_FindObject" c_tpolyline_findobject 
+  :: (Ptr RawTPolyLine) -> CString -> IO (Ptr RawTObject)
+foreign import ccall "HROOT.h TPolyLine_SaveAs" c_tpolyline_saveas 
+  :: (Ptr RawTPolyLine) -> CString -> CString -> IO ()
+foreign import ccall "HROOT.h TPolyLine_Write" c_tpolyline_write 
+  :: (Ptr RawTPolyLine) -> CString -> CInt -> CInt -> IO CInt
+foreign import ccall "HROOT.h TPolyLine_SetLineColor" c_tpolyline_setlinecolor 
+  :: (Ptr RawTPolyLine) -> CInt -> IO ()
+foreign import ccall "HROOT.h TPolyLine_SetFillColor" c_tpolyline_setfillcolor 
+  :: (Ptr RawTPolyLine) -> CInt -> IO ()
+foreign import ccall "HROOT.h TPolyLine_SetFillStyle" c_tpolyline_setfillstyle 
+  :: (Ptr RawTPolyLine) -> CInt -> IO ()
+foreign import ccall "HROOT.h TPolyLine_delete" c_tpolyline_delete 
+  :: (Ptr RawTPolyLine) -> IO ()
+foreign import ccall "HROOT.h TPolyLine_newTPolyLine" c_tpolyline_newtpolyline 
+  :: CInt -> (Ptr CDouble) -> (Ptr CDouble) -> CString -> IO (Ptr RawTPolyLine)
+
+foreign import ccall "HROOT.h TCurlyLine_GetName" c_tcurlyline_getname 
+  :: (Ptr RawTCurlyLine) -> IO CString
+foreign import ccall "HROOT.h TCurlyLine_Draw" c_tcurlyline_draw 
+  :: (Ptr RawTCurlyLine) -> CString -> IO ()
+foreign import ccall "HROOT.h TCurlyLine_FindObject" c_tcurlyline_findobject 
+  :: (Ptr RawTCurlyLine) -> CString -> IO (Ptr RawTObject)
+foreign import ccall "HROOT.h TCurlyLine_SaveAs" c_tcurlyline_saveas 
+  :: (Ptr RawTCurlyLine) -> CString -> CString -> IO ()
+foreign import ccall "HROOT.h TCurlyLine_Write" c_tcurlyline_write 
+  :: (Ptr RawTCurlyLine) -> CString -> CInt -> CInt -> IO CInt
+foreign import ccall "HROOT.h TCurlyLine_SetLineColor" c_tcurlyline_setlinecolor 
+  :: (Ptr RawTCurlyLine) -> CInt -> IO ()
+foreign import ccall "HROOT.h TCurlyLine_SetFillColor" c_tcurlyline_setfillcolor 
+  :: (Ptr RawTCurlyLine) -> CInt -> IO ()
+foreign import ccall "HROOT.h TCurlyLine_SetFillStyle" c_tcurlyline_setfillstyle 
+  :: (Ptr RawTCurlyLine) -> CInt -> IO ()
+foreign import ccall "HROOT.h TCurlyLine_delete" c_tcurlyline_delete 
+  :: (Ptr RawTCurlyLine) -> IO ()
+foreign import ccall "HROOT.h TCurlyLine_newTCurlyLine" c_tcurlyline_newtcurlyline 
+  :: CDouble -> CDouble -> CDouble -> CDouble -> CDouble -> CDouble -> IO (Ptr RawTCurlyLine)
+
+foreign import ccall "HROOT.h TCurlyArc_GetName" c_tcurlyarc_getname 
+  :: (Ptr RawTCurlyArc) -> IO CString
+foreign import ccall "HROOT.h TCurlyArc_Draw" c_tcurlyarc_draw 
+  :: (Ptr RawTCurlyArc) -> CString -> IO ()
+foreign import ccall "HROOT.h TCurlyArc_FindObject" c_tcurlyarc_findobject 
+  :: (Ptr RawTCurlyArc) -> CString -> IO (Ptr RawTObject)
+foreign import ccall "HROOT.h TCurlyArc_SaveAs" c_tcurlyarc_saveas 
+  :: (Ptr RawTCurlyArc) -> CString -> CString -> IO ()
+foreign import ccall "HROOT.h TCurlyArc_Write" c_tcurlyarc_write 
+  :: (Ptr RawTCurlyArc) -> CString -> CInt -> CInt -> IO CInt
+foreign import ccall "HROOT.h TCurlyArc_SetLineColor" c_tcurlyarc_setlinecolor 
+  :: (Ptr RawTCurlyArc) -> CInt -> IO ()
+foreign import ccall "HROOT.h TCurlyArc_SetFillColor" c_tcurlyarc_setfillcolor 
+  :: (Ptr RawTCurlyArc) -> CInt -> IO ()
+foreign import ccall "HROOT.h TCurlyArc_SetFillStyle" c_tcurlyarc_setfillstyle 
+  :: (Ptr RawTCurlyArc) -> CInt -> IO ()
+foreign import ccall "HROOT.h TCurlyArc_delete" c_tcurlyarc_delete 
+  :: (Ptr RawTCurlyArc) -> IO ()
+foreign import ccall "HROOT.h TCurlyArc_newTCurlyArc" c_tcurlyarc_newtcurlyarc 
+  :: CDouble -> CDouble -> CDouble -> CDouble -> CDouble -> CDouble -> CDouble -> IO (Ptr RawTCurlyArc)
+
+foreign import ccall "HROOT.h TEfficiency_SetTitle" c_tefficiency_settitle 
+  :: (Ptr RawTEfficiency) -> CString -> IO ()
+foreign import ccall "HROOT.h TEfficiency_SetLineColor" c_tefficiency_setlinecolor 
+  :: (Ptr RawTEfficiency) -> CInt -> IO ()
+foreign import ccall "HROOT.h TEfficiency_SetFillColor" c_tefficiency_setfillcolor 
+  :: (Ptr RawTEfficiency) -> CInt -> IO ()
+foreign import ccall "HROOT.h TEfficiency_SetFillStyle" c_tefficiency_setfillstyle 
+  :: (Ptr RawTEfficiency) -> CInt -> IO ()
+foreign import ccall "HROOT.h TEfficiency_GetName" c_tefficiency_getname 
+  :: (Ptr RawTEfficiency) -> IO CString
+foreign import ccall "HROOT.h TEfficiency_Draw" c_tefficiency_draw 
+  :: (Ptr RawTEfficiency) -> CString -> IO ()
+foreign import ccall "HROOT.h TEfficiency_FindObject" c_tefficiency_findobject 
+  :: (Ptr RawTEfficiency) -> CString -> IO (Ptr RawTObject)
+foreign import ccall "HROOT.h TEfficiency_SaveAs" c_tefficiency_saveas 
+  :: (Ptr RawTEfficiency) -> CString -> CString -> IO ()
+foreign import ccall "HROOT.h TEfficiency_Write" c_tefficiency_write 
+  :: (Ptr RawTEfficiency) -> CString -> CInt -> CInt -> IO CInt
+foreign import ccall "HROOT.h TEfficiency_delete" c_tefficiency_delete 
+  :: (Ptr RawTEfficiency) -> IO ()
+
+foreign import ccall "HROOT.h TAxis_SetTitle" c_taxis_settitle 
+  :: (Ptr RawTAxis) -> CString -> IO ()
+foreign import ccall "HROOT.h TAxis_SetLabelColor" c_taxis_setlabelcolor 
+  :: (Ptr RawTAxis) -> CInt -> IO ()
+foreign import ccall "HROOT.h TAxis_SetLabelSize" c_taxis_setlabelsize 
+  :: (Ptr RawTAxis) -> CDouble -> IO ()
+foreign import ccall "HROOT.h TAxis_SetTickLength" c_taxis_setticklength 
+  :: (Ptr RawTAxis) -> CDouble -> IO ()
+foreign import ccall "HROOT.h TAxis_SetTitleOffset" c_taxis_settitleoffset 
+  :: (Ptr RawTAxis) -> CDouble -> IO ()
+foreign import ccall "HROOT.h TAxis_SetNdivisions" c_taxis_setndivisions 
+  :: (Ptr RawTAxis) -> CInt -> CInt -> IO ()
+foreign import ccall "HROOT.h TAxis_GetName" c_taxis_getname 
+  :: (Ptr RawTAxis) -> IO CString
+foreign import ccall "HROOT.h TAxis_Draw" c_taxis_draw 
+  :: (Ptr RawTAxis) -> CString -> IO ()
+foreign import ccall "HROOT.h TAxis_FindObject" c_taxis_findobject 
+  :: (Ptr RawTAxis) -> CString -> IO (Ptr RawTObject)
+foreign import ccall "HROOT.h TAxis_SaveAs" c_taxis_saveas 
+  :: (Ptr RawTAxis) -> CString -> CString -> IO ()
+foreign import ccall "HROOT.h TAxis_Write" c_taxis_write 
+  :: (Ptr RawTAxis) -> CString -> CInt -> CInt -> IO CInt
+foreign import ccall "HROOT.h TAxis_delete" c_taxis_delete 
+  :: (Ptr RawTAxis) -> IO ()
+
+foreign import ccall "HROOT.h TLatex_SetLineColor" c_tlatex_setlinecolor 
+  :: (Ptr RawTLatex) -> CInt -> IO ()
+foreign import ccall "HROOT.h TLatex_SetTitle" c_tlatex_settitle 
+  :: (Ptr RawTLatex) -> CString -> IO ()
+foreign import ccall "HROOT.h TLatex_SetTextColor" c_tlatex_settextcolor 
+  :: (Ptr RawTLatex) -> CInt -> IO ()
+foreign import ccall "HROOT.h TLatex_SetTextAlign" c_tlatex_settextalign 
+  :: (Ptr RawTLatex) -> CInt -> IO ()
+foreign import ccall "HROOT.h TLatex_SetTextSize" c_tlatex_settextsize 
+  :: (Ptr RawTLatex) -> CDouble -> IO ()
+foreign import ccall "HROOT.h TLatex_GetName" c_tlatex_getname 
+  :: (Ptr RawTLatex) -> IO CString
+foreign import ccall "HROOT.h TLatex_Draw" c_tlatex_draw 
+  :: (Ptr RawTLatex) -> CString -> IO ()
+foreign import ccall "HROOT.h TLatex_FindObject" c_tlatex_findobject 
+  :: (Ptr RawTLatex) -> CString -> IO (Ptr RawTObject)
+foreign import ccall "HROOT.h TLatex_SaveAs" c_tlatex_saveas 
+  :: (Ptr RawTLatex) -> CString -> CString -> IO ()
+foreign import ccall "HROOT.h TLatex_Write" c_tlatex_write 
+  :: (Ptr RawTLatex) -> CString -> CInt -> CInt -> IO CInt
+foreign import ccall "HROOT.h TLatex_delete" c_tlatex_delete 
+  :: (Ptr RawTLatex) -> IO ()
+foreign import ccall "HROOT.h TLatex_newTLatex" c_tlatex_newtlatex 
+  :: CDouble -> CDouble -> CString -> IO (Ptr RawTLatex)
+foreign import ccall "HROOT.h TLatex_tLatexDrawLatex" c_tlatex_tlatexdrawlatex 
+  :: (Ptr RawTLatex) -> CDouble -> CDouble -> CString -> IO (Ptr RawTLatex)
+
+foreign import ccall "HROOT.h TText_SetTitle" c_ttext_settitle 
+  :: (Ptr RawTText) -> CString -> IO ()
+foreign import ccall "HROOT.h TText_SetTextColor" c_ttext_settextcolor 
+  :: (Ptr RawTText) -> CInt -> IO ()
+foreign import ccall "HROOT.h TText_SetTextAlign" c_ttext_settextalign 
+  :: (Ptr RawTText) -> CInt -> IO ()
+foreign import ccall "HROOT.h TText_SetTextSize" c_ttext_settextsize 
+  :: (Ptr RawTText) -> CDouble -> IO ()
+foreign import ccall "HROOT.h TText_GetName" c_ttext_getname 
+  :: (Ptr RawTText) -> IO CString
+foreign import ccall "HROOT.h TText_Draw" c_ttext_draw 
+  :: (Ptr RawTText) -> CString -> IO ()
+foreign import ccall "HROOT.h TText_FindObject" c_ttext_findobject 
+  :: (Ptr RawTText) -> CString -> IO (Ptr RawTObject)
+foreign import ccall "HROOT.h TText_SaveAs" c_ttext_saveas 
+  :: (Ptr RawTText) -> CString -> CString -> IO ()
+foreign import ccall "HROOT.h TText_Write" c_ttext_write 
+  :: (Ptr RawTText) -> CString -> CInt -> CInt -> IO CInt
+foreign import ccall "HROOT.h TText_delete" c_ttext_delete 
+  :: (Ptr RawTText) -> IO ()
+
+foreign import ccall "HROOT.h TDirectory_SetTitle" c_tdirectory_settitle 
+  :: (Ptr RawTDirectory) -> CString -> IO ()
+foreign import ccall "HROOT.h TDirectory_GetName" c_tdirectory_getname 
+  :: (Ptr RawTDirectory) -> IO CString
+foreign import ccall "HROOT.h TDirectory_Draw" c_tdirectory_draw 
+  :: (Ptr RawTDirectory) -> CString -> IO ()
+foreign import ccall "HROOT.h TDirectory_FindObject" c_tdirectory_findobject 
+  :: (Ptr RawTDirectory) -> CString -> IO (Ptr RawTObject)
+foreign import ccall "HROOT.h TDirectory_SaveAs" c_tdirectory_saveas 
+  :: (Ptr RawTDirectory) -> CString -> CString -> IO ()
+foreign import ccall "HROOT.h TDirectory_Write" c_tdirectory_write 
+  :: (Ptr RawTDirectory) -> CString -> CInt -> CInt -> IO CInt
+foreign import ccall "HROOT.h TDirectory_delete" c_tdirectory_delete 
+  :: (Ptr RawTDirectory) -> IO ()
+foreign import ccall "HROOT.h TDirectory_Close" c_tdirectory_close 
+  :: (Ptr RawTDirectory) -> CString -> IO ()
+
+foreign import ccall "HROOT.h TDirectoryFile_Close" c_tdirectoryfile_close 
+  :: (Ptr RawTDirectoryFile) -> CString -> IO ()
+foreign import ccall "HROOT.h TDirectoryFile_SetTitle" c_tdirectoryfile_settitle 
+  :: (Ptr RawTDirectoryFile) -> CString -> IO ()
+foreign import ccall "HROOT.h TDirectoryFile_GetName" c_tdirectoryfile_getname 
+  :: (Ptr RawTDirectoryFile) -> IO CString
+foreign import ccall "HROOT.h TDirectoryFile_Draw" c_tdirectoryfile_draw 
+  :: (Ptr RawTDirectoryFile) -> CString -> IO ()
+foreign import ccall "HROOT.h TDirectoryFile_FindObject" c_tdirectoryfile_findobject 
+  :: (Ptr RawTDirectoryFile) -> CString -> IO (Ptr RawTObject)
+foreign import ccall "HROOT.h TDirectoryFile_SaveAs" c_tdirectoryfile_saveas 
+  :: (Ptr RawTDirectoryFile) -> CString -> CString -> IO ()
+foreign import ccall "HROOT.h TDirectoryFile_Write" c_tdirectoryfile_write 
+  :: (Ptr RawTDirectoryFile) -> CString -> CInt -> CInt -> IO CInt
+foreign import ccall "HROOT.h TDirectoryFile_delete" c_tdirectoryfile_delete 
+  :: (Ptr RawTDirectoryFile) -> IO ()
+
+foreign import ccall "HROOT.h TFile_Close" c_tfile_close 
+  :: (Ptr RawTFile) -> CString -> IO ()
+foreign import ccall "HROOT.h TFile_SetTitle" c_tfile_settitle 
+  :: (Ptr RawTFile) -> CString -> IO ()
+foreign import ccall "HROOT.h TFile_GetName" c_tfile_getname 
+  :: (Ptr RawTFile) -> IO CString
+foreign import ccall "HROOT.h TFile_Draw" c_tfile_draw 
+  :: (Ptr RawTFile) -> CString -> IO ()
+foreign import ccall "HROOT.h TFile_FindObject" c_tfile_findobject 
+  :: (Ptr RawTFile) -> CString -> IO (Ptr RawTObject)
+foreign import ccall "HROOT.h TFile_SaveAs" c_tfile_saveas 
+  :: (Ptr RawTFile) -> CString -> CString -> IO ()
+foreign import ccall "HROOT.h TFile_Write" c_tfile_write 
+  :: (Ptr RawTFile) -> CString -> CInt -> CInt -> IO CInt
+foreign import ccall "HROOT.h TFile_delete" c_tfile_delete 
+  :: (Ptr RawTFile) -> IO ()
+foreign import ccall "HROOT.h TFile_newTFile" c_tfile_newtfile 
+  :: CString -> CString -> CString -> CInt -> IO (Ptr RawTFile)
+
+foreign import ccall "HROOT.h TBranch_SetTitle" c_tbranch_settitle 
+  :: (Ptr RawTBranch) -> CString -> IO ()
+foreign import ccall "HROOT.h TBranch_SetFillColor" c_tbranch_setfillcolor 
+  :: (Ptr RawTBranch) -> CInt -> IO ()
+foreign import ccall "HROOT.h TBranch_SetFillStyle" c_tbranch_setfillstyle 
+  :: (Ptr RawTBranch) -> CInt -> IO ()
+foreign import ccall "HROOT.h TBranch_GetName" c_tbranch_getname 
+  :: (Ptr RawTBranch) -> IO CString
+foreign import ccall "HROOT.h TBranch_Draw" c_tbranch_draw 
+  :: (Ptr RawTBranch) -> CString -> IO ()
+foreign import ccall "HROOT.h TBranch_FindObject" c_tbranch_findobject 
+  :: (Ptr RawTBranch) -> CString -> IO (Ptr RawTObject)
+foreign import ccall "HROOT.h TBranch_SaveAs" c_tbranch_saveas 
+  :: (Ptr RawTBranch) -> CString -> CString -> IO ()
+foreign import ccall "HROOT.h TBranch_Write" c_tbranch_write 
+  :: (Ptr RawTBranch) -> CString -> CInt -> CInt -> IO CInt
+foreign import ccall "HROOT.h TBranch_delete" c_tbranch_delete 
+  :: (Ptr RawTBranch) -> IO ()
+
+foreign import ccall "HROOT.h TVirtualTreePlayer_GetName" c_tvirtualtreeplayer_getname 
+  :: (Ptr RawTVirtualTreePlayer) -> IO CString
+foreign import ccall "HROOT.h TVirtualTreePlayer_Draw" c_tvirtualtreeplayer_draw 
+  :: (Ptr RawTVirtualTreePlayer) -> CString -> IO ()
+foreign import ccall "HROOT.h TVirtualTreePlayer_FindObject" c_tvirtualtreeplayer_findobject 
+  :: (Ptr RawTVirtualTreePlayer) -> CString -> IO (Ptr RawTObject)
+foreign import ccall "HROOT.h TVirtualTreePlayer_SaveAs" c_tvirtualtreeplayer_saveas 
+  :: (Ptr RawTVirtualTreePlayer) -> CString -> CString -> IO ()
+foreign import ccall "HROOT.h TVirtualTreePlayer_Write" c_tvirtualtreeplayer_write 
+  :: (Ptr RawTVirtualTreePlayer) -> CString -> CInt -> CInt -> IO CInt
+foreign import ccall "HROOT.h TVirtualTreePlayer_delete" c_tvirtualtreeplayer_delete 
+  :: (Ptr RawTVirtualTreePlayer) -> IO ()
+
+foreign import ccall "HROOT.h TTreePlayer_GetName" c_ttreeplayer_getname 
+  :: (Ptr RawTTreePlayer) -> IO CString
+foreign import ccall "HROOT.h TTreePlayer_Draw" c_ttreeplayer_draw 
+  :: (Ptr RawTTreePlayer) -> CString -> IO ()
+foreign import ccall "HROOT.h TTreePlayer_FindObject" c_ttreeplayer_findobject 
+  :: (Ptr RawTTreePlayer) -> CString -> IO (Ptr RawTObject)
+foreign import ccall "HROOT.h TTreePlayer_SaveAs" c_ttreeplayer_saveas 
+  :: (Ptr RawTTreePlayer) -> CString -> CString -> IO ()
+foreign import ccall "HROOT.h TTreePlayer_Write" c_ttreeplayer_write 
+  :: (Ptr RawTTreePlayer) -> CString -> CInt -> CInt -> IO CInt
+foreign import ccall "HROOT.h TTreePlayer_delete" c_ttreeplayer_delete 
+  :: (Ptr RawTTreePlayer) -> IO ()
+
+foreign import ccall "HROOT.h TArray_delete" c_tarray_delete 
+  :: (Ptr RawTArray) -> IO ()
+
+foreign import ccall "HROOT.h TArrayC_delete" c_tarrayc_delete 
+  :: (Ptr RawTArrayC) -> IO ()
+
+foreign import ccall "HROOT.h TArrayD_delete" c_tarrayd_delete 
+  :: (Ptr RawTArrayD) -> IO ()
+
+foreign import ccall "HROOT.h TArrayF_delete" c_tarrayf_delete 
+  :: (Ptr RawTArrayF) -> IO ()
+
+foreign import ccall "HROOT.h TArrayI_delete" c_tarrayi_delete 
+  :: (Ptr RawTArrayI) -> IO ()
+
+foreign import ccall "HROOT.h TArrayL_delete" c_tarrayl_delete 
+  :: (Ptr RawTArrayL) -> IO ()
+
+foreign import ccall "HROOT.h TArrayL64_delete" c_tarrayl64_delete 
+  :: (Ptr RawTArrayL64) -> IO ()
+
+foreign import ccall "HROOT.h TArrayS_delete" c_tarrays_delete 
+  :: (Ptr RawTArrayS) -> IO ()
+
+foreign import ccall "HROOT.h TH1_SetTitle" c_th1_settitle 
+  :: (Ptr RawTH1) -> CString -> IO ()
+foreign import ccall "HROOT.h TH1_SetLineColor" c_th1_setlinecolor 
+  :: (Ptr RawTH1) -> CInt -> IO ()
+foreign import ccall "HROOT.h TH1_SetFillColor" c_th1_setfillcolor 
+  :: (Ptr RawTH1) -> CInt -> IO ()
+foreign import ccall "HROOT.h TH1_SetFillStyle" c_th1_setfillstyle 
+  :: (Ptr RawTH1) -> CInt -> IO ()
+foreign import ccall "HROOT.h TH1_GetName" c_th1_getname 
+  :: (Ptr RawTH1) -> IO CString
+foreign import ccall "HROOT.h TH1_Draw" c_th1_draw 
+  :: (Ptr RawTH1) -> CString -> IO ()
+foreign import ccall "HROOT.h TH1_FindObject" c_th1_findobject 
+  :: (Ptr RawTH1) -> CString -> IO (Ptr RawTObject)
+foreign import ccall "HROOT.h TH1_SaveAs" c_th1_saveas 
+  :: (Ptr RawTH1) -> CString -> CString -> IO ()
+foreign import ccall "HROOT.h TH1_Write" c_th1_write 
+  :: (Ptr RawTH1) -> CString -> CInt -> CInt -> IO CInt
+foreign import ccall "HROOT.h TH1_delete" c_th1_delete 
+  :: (Ptr RawTH1) -> IO ()
+foreign import ccall "HROOT.h TH1_Add" c_th1_add 
+  :: (Ptr RawTH1) -> (Ptr RawTH1) -> CDouble -> IO ()
+foreign import ccall "HROOT.h TH1_AddBinContent" c_th1_addbincontent 
+  :: (Ptr RawTH1) -> CInt -> CDouble -> IO ()
+foreign import ccall "HROOT.h TH1_Chi2Test" c_th1_chi2test 
+  :: (Ptr RawTH1) -> (Ptr RawTH1) -> CString -> (Ptr CDouble) -> IO CDouble
+foreign import ccall "HROOT.h TH1_ComputeIntegral" c_th1_computeintegral 
+  :: (Ptr RawTH1) -> IO CDouble
+foreign import ccall "HROOT.h TH1_DirectoryAutoAdd" c_th1_directoryautoadd 
+  :: (Ptr RawTH1) -> (Ptr RawTDirectory) -> IO ()
+foreign import ccall "HROOT.h TH1_DistancetoPrimitive" c_th1_distancetoprimitive 
+  :: (Ptr RawTH1) -> CInt -> CInt -> IO CInt
+foreign import ccall "HROOT.h TH1_Divide" c_th1_divide 
+  :: (Ptr RawTH1) -> (Ptr RawTH1) -> (Ptr RawTH2) -> CDouble -> CDouble -> CString -> IO ()
+foreign import ccall "HROOT.h TH1_DrawCopy" c_th1_drawcopy 
+  :: (Ptr RawTH1) -> CString -> IO (Ptr RawTH1)
+foreign import ccall "HROOT.h TH1_DrawNormalized" c_th1_drawnormalized 
+  :: (Ptr RawTH1) -> CString -> CDouble -> IO (Ptr RawTH1)
+foreign import ccall "HROOT.h TH1_DrawPanel" c_th1_drawpanel 
+  :: (Ptr RawTH1) -> IO ()
+foreign import ccall "HROOT.h TH1_BufferEmpty" c_th1_bufferempty 
+  :: (Ptr RawTH1) -> CInt -> IO CInt
+foreign import ccall "HROOT.h TH1_Eval" c_th1_eval 
+  :: (Ptr RawTH1) -> (Ptr RawTF1) -> CString -> IO ()
+foreign import ccall "HROOT.h TH1_ExecuteEvent" c_th1_executeevent 
+  :: (Ptr RawTH1) -> CInt -> CInt -> CInt -> IO ()
+foreign import ccall "HROOT.h TH1_FFT" c_th1_fft 
+  :: (Ptr RawTH1) -> (Ptr RawTH1) -> CString -> IO (Ptr RawTH1)
+foreign import ccall "HROOT.h TH1_fill1" c_th1_fill1 
+  :: (Ptr RawTH1) -> CDouble -> IO CInt
+foreign import ccall "HROOT.h TH1_FillN" c_th1_filln 
+  :: (Ptr RawTH1) -> CInt -> (Ptr CDouble) -> (Ptr CDouble) -> CInt -> IO ()
+foreign import ccall "HROOT.h TH1_FillRandom" c_th1_fillrandom 
+  :: (Ptr RawTH1) -> (Ptr RawTH1) -> CInt -> IO ()
+foreign import ccall "HROOT.h TH1_FindBin" c_th1_findbin 
+  :: (Ptr RawTH1) -> CDouble -> CDouble -> CDouble -> IO CInt
+foreign import ccall "HROOT.h TH1_FindFixBin" c_th1_findfixbin 
+  :: (Ptr RawTH1) -> CDouble -> CDouble -> CDouble -> IO CInt
+foreign import ccall "HROOT.h TH1_FindFirstBinAbove" c_th1_findfirstbinabove 
+  :: (Ptr RawTH1) -> CDouble -> CInt -> IO CInt
+foreign import ccall "HROOT.h TH1_FindLastBinAbove" c_th1_findlastbinabove 
+  :: (Ptr RawTH1) -> CDouble -> CInt -> IO CInt
+foreign import ccall "HROOT.h TH1_FitPanel" c_th1_fitpanel 
+  :: (Ptr RawTH1) -> IO ()
+foreign import ccall "HROOT.h TH1_tH1GetAsymmetry" c_th1_th1getasymmetry 
+  :: (Ptr RawTH1) -> (Ptr RawTH1) -> CDouble -> CDouble -> IO (Ptr RawTH1)
+foreign import ccall "HROOT.h TH1_tH1GetBufferLength" c_th1_th1getbufferlength 
+  :: (Ptr RawTH1) -> IO CInt
+foreign import ccall "HROOT.h TH1_tH1GetBufferSize" c_th1_th1getbuffersize 
+  :: (Ptr RawTH1) -> IO CInt
+foreign import ccall "HROOT.h TH1_GetNdivisions" c_th1_getndivisions 
+  :: (Ptr RawTH1) -> CString -> IO CInt
+foreign import ccall "HROOT.h TH1_GetAxisColor" c_th1_getaxiscolor 
+  :: (Ptr RawTH1) -> CString -> IO CInt
+foreign import ccall "HROOT.h TH1_GetLabelColor" c_th1_getlabelcolor 
+  :: (Ptr RawTH1) -> CString -> IO CInt
+foreign import ccall "HROOT.h TH1_GetLabelFont" c_th1_getlabelfont 
+  :: (Ptr RawTH1) -> CString -> IO CInt
+foreign import ccall "HROOT.h TH1_GetLabelOffset" c_th1_getlabeloffset 
+  :: (Ptr RawTH1) -> CString -> IO CDouble
+foreign import ccall "HROOT.h TH1_GetLabelSize" c_th1_getlabelsize 
+  :: (Ptr RawTH1) -> CString -> IO CDouble
+foreign import ccall "HROOT.h TH1_GetTitleFont" c_th1_gettitlefont 
+  :: (Ptr RawTH1) -> CString -> IO CInt
+foreign import ccall "HROOT.h TH1_GetTitleOffset" c_th1_gettitleoffset 
+  :: (Ptr RawTH1) -> CString -> IO CDouble
+foreign import ccall "HROOT.h TH1_GetTitleSize" c_th1_gettitlesize 
+  :: (Ptr RawTH1) -> CString -> IO CDouble
+foreign import ccall "HROOT.h TH1_GetTickLength" c_th1_getticklength 
+  :: (Ptr RawTH1) -> CString -> IO CDouble
+foreign import ccall "HROOT.h TH1_GetBarOffset" c_th1_getbaroffset 
+  :: (Ptr RawTH1) -> IO CDouble
+foreign import ccall "HROOT.h TH1_GetBarWidth" c_th1_getbarwidth 
+  :: (Ptr RawTH1) -> IO CDouble
+foreign import ccall "HROOT.h TH1_GetContour" c_th1_getcontour 
+  :: (Ptr RawTH1) -> (Ptr CDouble) -> IO CInt
+foreign import ccall "HROOT.h TH1_GetContourLevel" c_th1_getcontourlevel 
+  :: (Ptr RawTH1) -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH1_GetContourLevelPad" c_th1_getcontourlevelpad 
+  :: (Ptr RawTH1) -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH1_GetBin" c_th1_getbin 
+  :: (Ptr RawTH1) -> CInt -> CInt -> CInt -> IO CInt
+foreign import ccall "HROOT.h TH1_GetBinCenter" c_th1_getbincenter 
+  :: (Ptr RawTH1) -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH1_GetBinContent1" c_th1_getbincontent1 
+  :: (Ptr RawTH1) -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH1_GetBinContent2" c_th1_getbincontent2 
+  :: (Ptr RawTH1) -> CInt -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH1_GetBinContent3" c_th1_getbincontent3 
+  :: (Ptr RawTH1) -> CInt -> CInt -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH1_GetBinError1" c_th1_getbinerror1 
+  :: (Ptr RawTH1) -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH1_GetBinError2" c_th1_getbinerror2 
+  :: (Ptr RawTH1) -> CInt -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH1_GetBinError3" c_th1_getbinerror3 
+  :: (Ptr RawTH1) -> CInt -> CInt -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH1_GetBinLowEdge" c_th1_getbinlowedge 
+  :: (Ptr RawTH1) -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH1_GetBinWidth" c_th1_getbinwidth 
+  :: (Ptr RawTH1) -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH1_GetCellContent" c_th1_getcellcontent 
+  :: (Ptr RawTH1) -> CInt -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH1_GetCellError" c_th1_getcellerror 
+  :: (Ptr RawTH1) -> CInt -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH1_tH1GetDirectory" c_th1_th1getdirectory 
+  :: (Ptr RawTH1) -> IO (Ptr RawTDirectory)
+foreign import ccall "HROOT.h TH1_tH1GetXaxis" c_th1_th1getxaxis 
+  :: (Ptr RawTH1) -> IO (Ptr RawTAxis)
+foreign import ccall "HROOT.h TH1_tH1GetYaxis" c_th1_th1getyaxis 
+  :: (Ptr RawTH1) -> IO (Ptr RawTAxis)
+foreign import ccall "HROOT.h TH1_tH1GetZaxis" c_th1_th1getzaxis 
+  :: (Ptr RawTH1) -> IO (Ptr RawTAxis)
+
+foreign import ccall "HROOT.h TH2_Add" c_th2_add 
+  :: (Ptr RawTH2) -> (Ptr RawTH1) -> CDouble -> IO ()
+foreign import ccall "HROOT.h TH2_AddBinContent" c_th2_addbincontent 
+  :: (Ptr RawTH2) -> CInt -> CDouble -> IO ()
+foreign import ccall "HROOT.h TH2_Chi2Test" c_th2_chi2test 
+  :: (Ptr RawTH2) -> (Ptr RawTH1) -> CString -> (Ptr CDouble) -> IO CDouble
+foreign import ccall "HROOT.h TH2_ComputeIntegral" c_th2_computeintegral 
+  :: (Ptr RawTH2) -> IO CDouble
+foreign import ccall "HROOT.h TH2_DirectoryAutoAdd" c_th2_directoryautoadd 
+  :: (Ptr RawTH2) -> (Ptr RawTDirectory) -> IO ()
+foreign import ccall "HROOT.h TH2_DistancetoPrimitive" c_th2_distancetoprimitive 
+  :: (Ptr RawTH2) -> CInt -> CInt -> IO CInt
+foreign import ccall "HROOT.h TH2_Divide" c_th2_divide 
+  :: (Ptr RawTH2) -> (Ptr RawTH1) -> (Ptr RawTH2) -> CDouble -> CDouble -> CString -> IO ()
+foreign import ccall "HROOT.h TH2_DrawCopy" c_th2_drawcopy 
+  :: (Ptr RawTH2) -> CString -> IO (Ptr RawTH2)
+foreign import ccall "HROOT.h TH2_DrawNormalized" c_th2_drawnormalized 
+  :: (Ptr RawTH2) -> CString -> CDouble -> IO (Ptr RawTH1)
+foreign import ccall "HROOT.h TH2_DrawPanel" c_th2_drawpanel 
+  :: (Ptr RawTH2) -> IO ()
+foreign import ccall "HROOT.h TH2_BufferEmpty" c_th2_bufferempty 
+  :: (Ptr RawTH2) -> CInt -> IO CInt
+foreign import ccall "HROOT.h TH2_Eval" c_th2_eval 
+  :: (Ptr RawTH2) -> (Ptr RawTF1) -> CString -> IO ()
+foreign import ccall "HROOT.h TH2_ExecuteEvent" c_th2_executeevent 
+  :: (Ptr RawTH2) -> CInt -> CInt -> CInt -> IO ()
+foreign import ccall "HROOT.h TH2_FFT" c_th2_fft 
+  :: (Ptr RawTH2) -> (Ptr RawTH1) -> CString -> IO (Ptr RawTH1)
+foreign import ccall "HROOT.h TH2_fill1" c_th2_fill1 
+  :: (Ptr RawTH2) -> CDouble -> IO CInt
+foreign import ccall "HROOT.h TH2_FillN" c_th2_filln 
+  :: (Ptr RawTH2) -> CInt -> (Ptr CDouble) -> (Ptr CDouble) -> CInt -> IO ()
+foreign import ccall "HROOT.h TH2_FillRandom" c_th2_fillrandom 
+  :: (Ptr RawTH2) -> (Ptr RawTH1) -> CInt -> IO ()
+foreign import ccall "HROOT.h TH2_FindBin" c_th2_findbin 
+  :: (Ptr RawTH2) -> CDouble -> CDouble -> CDouble -> IO CInt
+foreign import ccall "HROOT.h TH2_FindFixBin" c_th2_findfixbin 
+  :: (Ptr RawTH2) -> CDouble -> CDouble -> CDouble -> IO CInt
+foreign import ccall "HROOT.h TH2_FindFirstBinAbove" c_th2_findfirstbinabove 
+  :: (Ptr RawTH2) -> CDouble -> CInt -> IO CInt
+foreign import ccall "HROOT.h TH2_FindLastBinAbove" c_th2_findlastbinabove 
+  :: (Ptr RawTH2) -> CDouble -> CInt -> IO CInt
+foreign import ccall "HROOT.h TH2_FitPanel" c_th2_fitpanel 
+  :: (Ptr RawTH2) -> IO ()
+foreign import ccall "HROOT.h TH2_GetNdivisions" c_th2_getndivisions 
+  :: (Ptr RawTH2) -> CString -> IO CInt
+foreign import ccall "HROOT.h TH2_GetAxisColor" c_th2_getaxiscolor 
+  :: (Ptr RawTH2) -> CString -> IO CInt
+foreign import ccall "HROOT.h TH2_GetLabelColor" c_th2_getlabelcolor 
+  :: (Ptr RawTH2) -> CString -> IO CInt
+foreign import ccall "HROOT.h TH2_GetLabelFont" c_th2_getlabelfont 
+  :: (Ptr RawTH2) -> CString -> IO CInt
+foreign import ccall "HROOT.h TH2_GetLabelOffset" c_th2_getlabeloffset 
+  :: (Ptr RawTH2) -> CString -> IO CDouble
+foreign import ccall "HROOT.h TH2_GetLabelSize" c_th2_getlabelsize 
+  :: (Ptr RawTH2) -> CString -> IO CDouble
+foreign import ccall "HROOT.h TH2_GetTitleFont" c_th2_gettitlefont 
+  :: (Ptr RawTH2) -> CString -> IO CInt
+foreign import ccall "HROOT.h TH2_GetTitleOffset" c_th2_gettitleoffset 
+  :: (Ptr RawTH2) -> CString -> IO CDouble
+foreign import ccall "HROOT.h TH2_GetTitleSize" c_th2_gettitlesize 
+  :: (Ptr RawTH2) -> CString -> IO CDouble
+foreign import ccall "HROOT.h TH2_GetTickLength" c_th2_getticklength 
+  :: (Ptr RawTH2) -> CString -> IO CDouble
+foreign import ccall "HROOT.h TH2_GetBarOffset" c_th2_getbaroffset 
+  :: (Ptr RawTH2) -> IO CDouble
+foreign import ccall "HROOT.h TH2_GetBarWidth" c_th2_getbarwidth 
+  :: (Ptr RawTH2) -> IO CDouble
+foreign import ccall "HROOT.h TH2_GetContour" c_th2_getcontour 
+  :: (Ptr RawTH2) -> (Ptr CDouble) -> IO CInt
+foreign import ccall "HROOT.h TH2_GetContourLevel" c_th2_getcontourlevel 
+  :: (Ptr RawTH2) -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH2_GetContourLevelPad" c_th2_getcontourlevelpad 
+  :: (Ptr RawTH2) -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH2_GetBin" c_th2_getbin 
+  :: (Ptr RawTH2) -> CInt -> CInt -> CInt -> IO CInt
+foreign import ccall "HROOT.h TH2_GetBinCenter" c_th2_getbincenter 
+  :: (Ptr RawTH2) -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH2_GetBinContent1" c_th2_getbincontent1 
+  :: (Ptr RawTH2) -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH2_GetBinContent2" c_th2_getbincontent2 
+  :: (Ptr RawTH2) -> CInt -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH2_GetBinContent3" c_th2_getbincontent3 
+  :: (Ptr RawTH2) -> CInt -> CInt -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH2_GetBinError1" c_th2_getbinerror1 
+  :: (Ptr RawTH2) -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH2_GetBinError2" c_th2_getbinerror2 
+  :: (Ptr RawTH2) -> CInt -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH2_GetBinError3" c_th2_getbinerror3 
+  :: (Ptr RawTH2) -> CInt -> CInt -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH2_GetBinLowEdge" c_th2_getbinlowedge 
+  :: (Ptr RawTH2) -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH2_GetBinWidth" c_th2_getbinwidth 
+  :: (Ptr RawTH2) -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH2_GetCellContent" c_th2_getcellcontent 
+  :: (Ptr RawTH2) -> CInt -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH2_GetCellError" c_th2_getcellerror 
+  :: (Ptr RawTH2) -> CInt -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH2_SetTitle" c_th2_settitle 
+  :: (Ptr RawTH2) -> CString -> IO ()
+foreign import ccall "HROOT.h TH2_SetLineColor" c_th2_setlinecolor 
+  :: (Ptr RawTH2) -> CInt -> IO ()
+foreign import ccall "HROOT.h TH2_SetFillColor" c_th2_setfillcolor 
+  :: (Ptr RawTH2) -> CInt -> IO ()
+foreign import ccall "HROOT.h TH2_SetFillStyle" c_th2_setfillstyle 
+  :: (Ptr RawTH2) -> CInt -> IO ()
+foreign import ccall "HROOT.h TH2_GetName" c_th2_getname 
+  :: (Ptr RawTH2) -> IO CString
+foreign import ccall "HROOT.h TH2_Draw" c_th2_draw 
+  :: (Ptr RawTH2) -> CString -> IO ()
+foreign import ccall "HROOT.h TH2_FindObject" c_th2_findobject 
+  :: (Ptr RawTH2) -> CString -> IO (Ptr RawTObject)
+foreign import ccall "HROOT.h TH2_SaveAs" c_th2_saveas 
+  :: (Ptr RawTH2) -> CString -> CString -> IO ()
+foreign import ccall "HROOT.h TH2_Write" c_th2_write 
+  :: (Ptr RawTH2) -> CString -> CInt -> CInt -> IO CInt
+foreign import ccall "HROOT.h TH2_delete" c_th2_delete 
+  :: (Ptr RawTH2) -> IO ()
+foreign import ccall "HROOT.h TH2_fill2" c_th2_fill2 
+  :: (Ptr RawTH2) -> CDouble -> CDouble -> IO CInt
+
+foreign import ccall "HROOT.h TH3_Add" c_th3_add 
+  :: (Ptr RawTH3) -> (Ptr RawTH1) -> CDouble -> IO ()
+foreign import ccall "HROOT.h TH3_AddBinContent" c_th3_addbincontent 
+  :: (Ptr RawTH3) -> CInt -> CDouble -> IO ()
+foreign import ccall "HROOT.h TH3_Chi2Test" c_th3_chi2test 
+  :: (Ptr RawTH3) -> (Ptr RawTH1) -> CString -> (Ptr CDouble) -> IO CDouble
+foreign import ccall "HROOT.h TH3_ComputeIntegral" c_th3_computeintegral 
+  :: (Ptr RawTH3) -> IO CDouble
+foreign import ccall "HROOT.h TH3_DirectoryAutoAdd" c_th3_directoryautoadd 
+  :: (Ptr RawTH3) -> (Ptr RawTDirectory) -> IO ()
+foreign import ccall "HROOT.h TH3_DistancetoPrimitive" c_th3_distancetoprimitive 
+  :: (Ptr RawTH3) -> CInt -> CInt -> IO CInt
+foreign import ccall "HROOT.h TH3_Divide" c_th3_divide 
+  :: (Ptr RawTH3) -> (Ptr RawTH1) -> (Ptr RawTH2) -> CDouble -> CDouble -> CString -> IO ()
+foreign import ccall "HROOT.h TH3_DrawCopy" c_th3_drawcopy 
+  :: (Ptr RawTH3) -> CString -> IO (Ptr RawTH3)
+foreign import ccall "HROOT.h TH3_DrawNormalized" c_th3_drawnormalized 
+  :: (Ptr RawTH3) -> CString -> CDouble -> IO (Ptr RawTH1)
+foreign import ccall "HROOT.h TH3_DrawPanel" c_th3_drawpanel 
+  :: (Ptr RawTH3) -> IO ()
+foreign import ccall "HROOT.h TH3_BufferEmpty" c_th3_bufferempty 
+  :: (Ptr RawTH3) -> CInt -> IO CInt
+foreign import ccall "HROOT.h TH3_Eval" c_th3_eval 
+  :: (Ptr RawTH3) -> (Ptr RawTF1) -> CString -> IO ()
+foreign import ccall "HROOT.h TH3_ExecuteEvent" c_th3_executeevent 
+  :: (Ptr RawTH3) -> CInt -> CInt -> CInt -> IO ()
+foreign import ccall "HROOT.h TH3_FFT" c_th3_fft 
+  :: (Ptr RawTH3) -> (Ptr RawTH1) -> CString -> IO (Ptr RawTH1)
+foreign import ccall "HROOT.h TH3_fill1" c_th3_fill1 
+  :: (Ptr RawTH3) -> CDouble -> IO CInt
+foreign import ccall "HROOT.h TH3_FillN" c_th3_filln 
+  :: (Ptr RawTH3) -> CInt -> (Ptr CDouble) -> (Ptr CDouble) -> CInt -> IO ()
+foreign import ccall "HROOT.h TH3_FillRandom" c_th3_fillrandom 
+  :: (Ptr RawTH3) -> (Ptr RawTH1) -> CInt -> IO ()
+foreign import ccall "HROOT.h TH3_FindBin" c_th3_findbin 
+  :: (Ptr RawTH3) -> CDouble -> CDouble -> CDouble -> IO CInt
+foreign import ccall "HROOT.h TH3_FindFixBin" c_th3_findfixbin 
+  :: (Ptr RawTH3) -> CDouble -> CDouble -> CDouble -> IO CInt
+foreign import ccall "HROOT.h TH3_FindFirstBinAbove" c_th3_findfirstbinabove 
+  :: (Ptr RawTH3) -> CDouble -> CInt -> IO CInt
+foreign import ccall "HROOT.h TH3_FindLastBinAbove" c_th3_findlastbinabove 
+  :: (Ptr RawTH3) -> CDouble -> CInt -> IO CInt
+foreign import ccall "HROOT.h TH3_FitPanel" c_th3_fitpanel 
+  :: (Ptr RawTH3) -> IO ()
+foreign import ccall "HROOT.h TH3_GetNdivisions" c_th3_getndivisions 
+  :: (Ptr RawTH3) -> CString -> IO CInt
+foreign import ccall "HROOT.h TH3_GetAxisColor" c_th3_getaxiscolor 
+  :: (Ptr RawTH3) -> CString -> IO CInt
+foreign import ccall "HROOT.h TH3_GetLabelColor" c_th3_getlabelcolor 
+  :: (Ptr RawTH3) -> CString -> IO CInt
+foreign import ccall "HROOT.h TH3_GetLabelFont" c_th3_getlabelfont 
+  :: (Ptr RawTH3) -> CString -> IO CInt
+foreign import ccall "HROOT.h TH3_GetLabelOffset" c_th3_getlabeloffset 
+  :: (Ptr RawTH3) -> CString -> IO CDouble
+foreign import ccall "HROOT.h TH3_GetLabelSize" c_th3_getlabelsize 
+  :: (Ptr RawTH3) -> CString -> IO CDouble
+foreign import ccall "HROOT.h TH3_GetTitleFont" c_th3_gettitlefont 
+  :: (Ptr RawTH3) -> CString -> IO CInt
+foreign import ccall "HROOT.h TH3_GetTitleOffset" c_th3_gettitleoffset 
+  :: (Ptr RawTH3) -> CString -> IO CDouble
+foreign import ccall "HROOT.h TH3_GetTitleSize" c_th3_gettitlesize 
+  :: (Ptr RawTH3) -> CString -> IO CDouble
+foreign import ccall "HROOT.h TH3_GetTickLength" c_th3_getticklength 
+  :: (Ptr RawTH3) -> CString -> IO CDouble
+foreign import ccall "HROOT.h TH3_GetBarOffset" c_th3_getbaroffset 
+  :: (Ptr RawTH3) -> IO CDouble
+foreign import ccall "HROOT.h TH3_GetBarWidth" c_th3_getbarwidth 
+  :: (Ptr RawTH3) -> IO CDouble
+foreign import ccall "HROOT.h TH3_GetContour" c_th3_getcontour 
+  :: (Ptr RawTH3) -> (Ptr CDouble) -> IO CInt
+foreign import ccall "HROOT.h TH3_GetContourLevel" c_th3_getcontourlevel 
+  :: (Ptr RawTH3) -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH3_GetContourLevelPad" c_th3_getcontourlevelpad 
+  :: (Ptr RawTH3) -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH3_GetBin" c_th3_getbin 
+  :: (Ptr RawTH3) -> CInt -> CInt -> CInt -> IO CInt
+foreign import ccall "HROOT.h TH3_GetBinCenter" c_th3_getbincenter 
+  :: (Ptr RawTH3) -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH3_GetBinContent1" c_th3_getbincontent1 
+  :: (Ptr RawTH3) -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH3_GetBinContent2" c_th3_getbincontent2 
+  :: (Ptr RawTH3) -> CInt -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH3_GetBinContent3" c_th3_getbincontent3 
+  :: (Ptr RawTH3) -> CInt -> CInt -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH3_GetBinError1" c_th3_getbinerror1 
+  :: (Ptr RawTH3) -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH3_GetBinError2" c_th3_getbinerror2 
+  :: (Ptr RawTH3) -> CInt -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH3_GetBinError3" c_th3_getbinerror3 
+  :: (Ptr RawTH3) -> CInt -> CInt -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH3_GetBinLowEdge" c_th3_getbinlowedge 
+  :: (Ptr RawTH3) -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH3_GetBinWidth" c_th3_getbinwidth 
+  :: (Ptr RawTH3) -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH3_GetCellContent" c_th3_getcellcontent 
+  :: (Ptr RawTH3) -> CInt -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH3_GetCellError" c_th3_getcellerror 
+  :: (Ptr RawTH3) -> CInt -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH3_SetTitle" c_th3_settitle 
+  :: (Ptr RawTH3) -> CString -> IO ()
+foreign import ccall "HROOT.h TH3_SetLineColor" c_th3_setlinecolor 
+  :: (Ptr RawTH3) -> CInt -> IO ()
+foreign import ccall "HROOT.h TH3_SetFillColor" c_th3_setfillcolor 
+  :: (Ptr RawTH3) -> CInt -> IO ()
+foreign import ccall "HROOT.h TH3_SetFillStyle" c_th3_setfillstyle 
+  :: (Ptr RawTH3) -> CInt -> IO ()
+foreign import ccall "HROOT.h TH3_GetName" c_th3_getname 
+  :: (Ptr RawTH3) -> IO CString
+foreign import ccall "HROOT.h TH3_Draw" c_th3_draw 
+  :: (Ptr RawTH3) -> CString -> IO ()
+foreign import ccall "HROOT.h TH3_FindObject" c_th3_findobject 
+  :: (Ptr RawTH3) -> CString -> IO (Ptr RawTObject)
+foreign import ccall "HROOT.h TH3_SaveAs" c_th3_saveas 
+  :: (Ptr RawTH3) -> CString -> CString -> IO ()
+foreign import ccall "HROOT.h TH3_Write" c_th3_write 
+  :: (Ptr RawTH3) -> CString -> CInt -> CInt -> IO CInt
+foreign import ccall "HROOT.h TH3_delete" c_th3_delete 
+  :: (Ptr RawTH3) -> IO ()
+
+foreign import ccall "HROOT.h TH1C_Add" c_th1c_add 
+  :: (Ptr RawTH1C) -> (Ptr RawTH1) -> CDouble -> IO ()
+foreign import ccall "HROOT.h TH1C_AddBinContent" c_th1c_addbincontent 
+  :: (Ptr RawTH1C) -> CInt -> CDouble -> IO ()
+foreign import ccall "HROOT.h TH1C_Chi2Test" c_th1c_chi2test 
+  :: (Ptr RawTH1C) -> (Ptr RawTH1) -> CString -> (Ptr CDouble) -> IO CDouble
+foreign import ccall "HROOT.h TH1C_ComputeIntegral" c_th1c_computeintegral 
+  :: (Ptr RawTH1C) -> IO CDouble
+foreign import ccall "HROOT.h TH1C_DirectoryAutoAdd" c_th1c_directoryautoadd 
+  :: (Ptr RawTH1C) -> (Ptr RawTDirectory) -> IO ()
+foreign import ccall "HROOT.h TH1C_DistancetoPrimitive" c_th1c_distancetoprimitive 
+  :: (Ptr RawTH1C) -> CInt -> CInt -> IO CInt
+foreign import ccall "HROOT.h TH1C_Divide" c_th1c_divide 
+  :: (Ptr RawTH1C) -> (Ptr RawTH1) -> (Ptr RawTH2) -> CDouble -> CDouble -> CString -> IO ()
+foreign import ccall "HROOT.h TH1C_DrawCopy" c_th1c_drawcopy 
+  :: (Ptr RawTH1C) -> CString -> IO (Ptr RawTH1C)
+foreign import ccall "HROOT.h TH1C_DrawNormalized" c_th1c_drawnormalized 
+  :: (Ptr RawTH1C) -> CString -> CDouble -> IO (Ptr RawTH1)
+foreign import ccall "HROOT.h TH1C_DrawPanel" c_th1c_drawpanel 
+  :: (Ptr RawTH1C) -> IO ()
+foreign import ccall "HROOT.h TH1C_BufferEmpty" c_th1c_bufferempty 
+  :: (Ptr RawTH1C) -> CInt -> IO CInt
+foreign import ccall "HROOT.h TH1C_Eval" c_th1c_eval 
+  :: (Ptr RawTH1C) -> (Ptr RawTF1) -> CString -> IO ()
+foreign import ccall "HROOT.h TH1C_ExecuteEvent" c_th1c_executeevent 
+  :: (Ptr RawTH1C) -> CInt -> CInt -> CInt -> IO ()
+foreign import ccall "HROOT.h TH1C_FFT" c_th1c_fft 
+  :: (Ptr RawTH1C) -> (Ptr RawTH1) -> CString -> IO (Ptr RawTH1)
+foreign import ccall "HROOT.h TH1C_fill1" c_th1c_fill1 
+  :: (Ptr RawTH1C) -> CDouble -> IO CInt
+foreign import ccall "HROOT.h TH1C_FillN" c_th1c_filln 
+  :: (Ptr RawTH1C) -> CInt -> (Ptr CDouble) -> (Ptr CDouble) -> CInt -> IO ()
+foreign import ccall "HROOT.h TH1C_FillRandom" c_th1c_fillrandom 
+  :: (Ptr RawTH1C) -> (Ptr RawTH1) -> CInt -> IO ()
+foreign import ccall "HROOT.h TH1C_FindBin" c_th1c_findbin 
+  :: (Ptr RawTH1C) -> CDouble -> CDouble -> CDouble -> IO CInt
+foreign import ccall "HROOT.h TH1C_FindFixBin" c_th1c_findfixbin 
+  :: (Ptr RawTH1C) -> CDouble -> CDouble -> CDouble -> IO CInt
+foreign import ccall "HROOT.h TH1C_FindFirstBinAbove" c_th1c_findfirstbinabove 
+  :: (Ptr RawTH1C) -> CDouble -> CInt -> IO CInt
+foreign import ccall "HROOT.h TH1C_FindLastBinAbove" c_th1c_findlastbinabove 
+  :: (Ptr RawTH1C) -> CDouble -> CInt -> IO CInt
+foreign import ccall "HROOT.h TH1C_FitPanel" c_th1c_fitpanel 
+  :: (Ptr RawTH1C) -> IO ()
+foreign import ccall "HROOT.h TH1C_GetNdivisions" c_th1c_getndivisions 
+  :: (Ptr RawTH1C) -> CString -> IO CInt
+foreign import ccall "HROOT.h TH1C_GetAxisColor" c_th1c_getaxiscolor 
+  :: (Ptr RawTH1C) -> CString -> IO CInt
+foreign import ccall "HROOT.h TH1C_GetLabelColor" c_th1c_getlabelcolor 
+  :: (Ptr RawTH1C) -> CString -> IO CInt
+foreign import ccall "HROOT.h TH1C_GetLabelFont" c_th1c_getlabelfont 
+  :: (Ptr RawTH1C) -> CString -> IO CInt
+foreign import ccall "HROOT.h TH1C_GetLabelOffset" c_th1c_getlabeloffset 
+  :: (Ptr RawTH1C) -> CString -> IO CDouble
+foreign import ccall "HROOT.h TH1C_GetLabelSize" c_th1c_getlabelsize 
+  :: (Ptr RawTH1C) -> CString -> IO CDouble
+foreign import ccall "HROOT.h TH1C_GetTitleFont" c_th1c_gettitlefont 
+  :: (Ptr RawTH1C) -> CString -> IO CInt
+foreign import ccall "HROOT.h TH1C_GetTitleOffset" c_th1c_gettitleoffset 
+  :: (Ptr RawTH1C) -> CString -> IO CDouble
+foreign import ccall "HROOT.h TH1C_GetTitleSize" c_th1c_gettitlesize 
+  :: (Ptr RawTH1C) -> CString -> IO CDouble
+foreign import ccall "HROOT.h TH1C_GetTickLength" c_th1c_getticklength 
+  :: (Ptr RawTH1C) -> CString -> IO CDouble
+foreign import ccall "HROOT.h TH1C_GetBarOffset" c_th1c_getbaroffset 
+  :: (Ptr RawTH1C) -> IO CDouble
+foreign import ccall "HROOT.h TH1C_GetBarWidth" c_th1c_getbarwidth 
+  :: (Ptr RawTH1C) -> IO CDouble
+foreign import ccall "HROOT.h TH1C_GetContour" c_th1c_getcontour 
+  :: (Ptr RawTH1C) -> (Ptr CDouble) -> IO CInt
+foreign import ccall "HROOT.h TH1C_GetContourLevel" c_th1c_getcontourlevel 
+  :: (Ptr RawTH1C) -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH1C_GetContourLevelPad" c_th1c_getcontourlevelpad 
+  :: (Ptr RawTH1C) -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH1C_GetBin" c_th1c_getbin 
+  :: (Ptr RawTH1C) -> CInt -> CInt -> CInt -> IO CInt
+foreign import ccall "HROOT.h TH1C_GetBinCenter" c_th1c_getbincenter 
+  :: (Ptr RawTH1C) -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH1C_GetBinContent1" c_th1c_getbincontent1 
+  :: (Ptr RawTH1C) -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH1C_GetBinContent2" c_th1c_getbincontent2 
+  :: (Ptr RawTH1C) -> CInt -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH1C_GetBinContent3" c_th1c_getbincontent3 
+  :: (Ptr RawTH1C) -> CInt -> CInt -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH1C_GetBinError1" c_th1c_getbinerror1 
+  :: (Ptr RawTH1C) -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH1C_GetBinError2" c_th1c_getbinerror2 
+  :: (Ptr RawTH1C) -> CInt -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH1C_GetBinError3" c_th1c_getbinerror3 
+  :: (Ptr RawTH1C) -> CInt -> CInt -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH1C_GetBinLowEdge" c_th1c_getbinlowedge 
+  :: (Ptr RawTH1C) -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH1C_GetBinWidth" c_th1c_getbinwidth 
+  :: (Ptr RawTH1C) -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH1C_GetCellContent" c_th1c_getcellcontent 
+  :: (Ptr RawTH1C) -> CInt -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH1C_GetCellError" c_th1c_getcellerror 
+  :: (Ptr RawTH1C) -> CInt -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH1C_SetTitle" c_th1c_settitle 
+  :: (Ptr RawTH1C) -> CString -> IO ()
+foreign import ccall "HROOT.h TH1C_SetLineColor" c_th1c_setlinecolor 
+  :: (Ptr RawTH1C) -> CInt -> IO ()
+foreign import ccall "HROOT.h TH1C_SetFillColor" c_th1c_setfillcolor 
+  :: (Ptr RawTH1C) -> CInt -> IO ()
+foreign import ccall "HROOT.h TH1C_SetFillStyle" c_th1c_setfillstyle 
+  :: (Ptr RawTH1C) -> CInt -> IO ()
+foreign import ccall "HROOT.h TH1C_GetName" c_th1c_getname 
+  :: (Ptr RawTH1C) -> IO CString
+foreign import ccall "HROOT.h TH1C_Draw" c_th1c_draw 
+  :: (Ptr RawTH1C) -> CString -> IO ()
+foreign import ccall "HROOT.h TH1C_FindObject" c_th1c_findobject 
+  :: (Ptr RawTH1C) -> CString -> IO (Ptr RawTObject)
+foreign import ccall "HROOT.h TH1C_SaveAs" c_th1c_saveas 
+  :: (Ptr RawTH1C) -> CString -> CString -> IO ()
+foreign import ccall "HROOT.h TH1C_Write" c_th1c_write 
+  :: (Ptr RawTH1C) -> CString -> CInt -> CInt -> IO CInt
+foreign import ccall "HROOT.h TH1C_delete" c_th1c_delete 
+  :: (Ptr RawTH1C) -> IO ()
+
+foreign import ccall "HROOT.h TH1D_Add" c_th1d_add 
+  :: (Ptr RawTH1D) -> (Ptr RawTH1) -> CDouble -> IO ()
+foreign import ccall "HROOT.h TH1D_AddBinContent" c_th1d_addbincontent 
+  :: (Ptr RawTH1D) -> CInt -> CDouble -> IO ()
+foreign import ccall "HROOT.h TH1D_Chi2Test" c_th1d_chi2test 
+  :: (Ptr RawTH1D) -> (Ptr RawTH1) -> CString -> (Ptr CDouble) -> IO CDouble
+foreign import ccall "HROOT.h TH1D_ComputeIntegral" c_th1d_computeintegral 
+  :: (Ptr RawTH1D) -> IO CDouble
+foreign import ccall "HROOT.h TH1D_DirectoryAutoAdd" c_th1d_directoryautoadd 
+  :: (Ptr RawTH1D) -> (Ptr RawTDirectory) -> IO ()
+foreign import ccall "HROOT.h TH1D_DistancetoPrimitive" c_th1d_distancetoprimitive 
+  :: (Ptr RawTH1D) -> CInt -> CInt -> IO CInt
+foreign import ccall "HROOT.h TH1D_Divide" c_th1d_divide 
+  :: (Ptr RawTH1D) -> (Ptr RawTH1) -> (Ptr RawTH2) -> CDouble -> CDouble -> CString -> IO ()
+foreign import ccall "HROOT.h TH1D_DrawCopy" c_th1d_drawcopy 
+  :: (Ptr RawTH1D) -> CString -> IO (Ptr RawTH1D)
+foreign import ccall "HROOT.h TH1D_DrawNormalized" c_th1d_drawnormalized 
+  :: (Ptr RawTH1D) -> CString -> CDouble -> IO (Ptr RawTH1)
+foreign import ccall "HROOT.h TH1D_DrawPanel" c_th1d_drawpanel 
+  :: (Ptr RawTH1D) -> IO ()
+foreign import ccall "HROOT.h TH1D_BufferEmpty" c_th1d_bufferempty 
+  :: (Ptr RawTH1D) -> CInt -> IO CInt
+foreign import ccall "HROOT.h TH1D_Eval" c_th1d_eval 
+  :: (Ptr RawTH1D) -> (Ptr RawTF1) -> CString -> IO ()
+foreign import ccall "HROOT.h TH1D_ExecuteEvent" c_th1d_executeevent 
+  :: (Ptr RawTH1D) -> CInt -> CInt -> CInt -> IO ()
+foreign import ccall "HROOT.h TH1D_FFT" c_th1d_fft 
+  :: (Ptr RawTH1D) -> (Ptr RawTH1) -> CString -> IO (Ptr RawTH1)
+foreign import ccall "HROOT.h TH1D_fill1" c_th1d_fill1 
+  :: (Ptr RawTH1D) -> CDouble -> IO CInt
+foreign import ccall "HROOT.h TH1D_FillN" c_th1d_filln 
+  :: (Ptr RawTH1D) -> CInt -> (Ptr CDouble) -> (Ptr CDouble) -> CInt -> IO ()
+foreign import ccall "HROOT.h TH1D_FillRandom" c_th1d_fillrandom 
+  :: (Ptr RawTH1D) -> (Ptr RawTH1) -> CInt -> IO ()
+foreign import ccall "HROOT.h TH1D_FindBin" c_th1d_findbin 
+  :: (Ptr RawTH1D) -> CDouble -> CDouble -> CDouble -> IO CInt
+foreign import ccall "HROOT.h TH1D_FindFixBin" c_th1d_findfixbin 
+  :: (Ptr RawTH1D) -> CDouble -> CDouble -> CDouble -> IO CInt
+foreign import ccall "HROOT.h TH1D_FindFirstBinAbove" c_th1d_findfirstbinabove 
+  :: (Ptr RawTH1D) -> CDouble -> CInt -> IO CInt
+foreign import ccall "HROOT.h TH1D_FindLastBinAbove" c_th1d_findlastbinabove 
+  :: (Ptr RawTH1D) -> CDouble -> CInt -> IO CInt
+foreign import ccall "HROOT.h TH1D_FitPanel" c_th1d_fitpanel 
+  :: (Ptr RawTH1D) -> IO ()
+foreign import ccall "HROOT.h TH1D_GetNdivisions" c_th1d_getndivisions 
+  :: (Ptr RawTH1D) -> CString -> IO CInt
+foreign import ccall "HROOT.h TH1D_GetAxisColor" c_th1d_getaxiscolor 
+  :: (Ptr RawTH1D) -> CString -> IO CInt
+foreign import ccall "HROOT.h TH1D_GetLabelColor" c_th1d_getlabelcolor 
+  :: (Ptr RawTH1D) -> CString -> IO CInt
+foreign import ccall "HROOT.h TH1D_GetLabelFont" c_th1d_getlabelfont 
+  :: (Ptr RawTH1D) -> CString -> IO CInt
+foreign import ccall "HROOT.h TH1D_GetLabelOffset" c_th1d_getlabeloffset 
+  :: (Ptr RawTH1D) -> CString -> IO CDouble
+foreign import ccall "HROOT.h TH1D_GetLabelSize" c_th1d_getlabelsize 
+  :: (Ptr RawTH1D) -> CString -> IO CDouble
+foreign import ccall "HROOT.h TH1D_GetTitleFont" c_th1d_gettitlefont 
+  :: (Ptr RawTH1D) -> CString -> IO CInt
+foreign import ccall "HROOT.h TH1D_GetTitleOffset" c_th1d_gettitleoffset 
+  :: (Ptr RawTH1D) -> CString -> IO CDouble
+foreign import ccall "HROOT.h TH1D_GetTitleSize" c_th1d_gettitlesize 
+  :: (Ptr RawTH1D) -> CString -> IO CDouble
+foreign import ccall "HROOT.h TH1D_GetTickLength" c_th1d_getticklength 
+  :: (Ptr RawTH1D) -> CString -> IO CDouble
+foreign import ccall "HROOT.h TH1D_GetBarOffset" c_th1d_getbaroffset 
+  :: (Ptr RawTH1D) -> IO CDouble
+foreign import ccall "HROOT.h TH1D_GetBarWidth" c_th1d_getbarwidth 
+  :: (Ptr RawTH1D) -> IO CDouble
+foreign import ccall "HROOT.h TH1D_GetContour" c_th1d_getcontour 
+  :: (Ptr RawTH1D) -> (Ptr CDouble) -> IO CInt
+foreign import ccall "HROOT.h TH1D_GetContourLevel" c_th1d_getcontourlevel 
+  :: (Ptr RawTH1D) -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH1D_GetContourLevelPad" c_th1d_getcontourlevelpad 
+  :: (Ptr RawTH1D) -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH1D_GetBin" c_th1d_getbin 
+  :: (Ptr RawTH1D) -> CInt -> CInt -> CInt -> IO CInt
+foreign import ccall "HROOT.h TH1D_GetBinCenter" c_th1d_getbincenter 
+  :: (Ptr RawTH1D) -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH1D_GetBinContent1" c_th1d_getbincontent1 
+  :: (Ptr RawTH1D) -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH1D_GetBinContent2" c_th1d_getbincontent2 
+  :: (Ptr RawTH1D) -> CInt -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH1D_GetBinContent3" c_th1d_getbincontent3 
+  :: (Ptr RawTH1D) -> CInt -> CInt -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH1D_GetBinError1" c_th1d_getbinerror1 
+  :: (Ptr RawTH1D) -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH1D_GetBinError2" c_th1d_getbinerror2 
+  :: (Ptr RawTH1D) -> CInt -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH1D_GetBinError3" c_th1d_getbinerror3 
+  :: (Ptr RawTH1D) -> CInt -> CInt -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH1D_GetBinLowEdge" c_th1d_getbinlowedge 
+  :: (Ptr RawTH1D) -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH1D_GetBinWidth" c_th1d_getbinwidth 
+  :: (Ptr RawTH1D) -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH1D_GetCellContent" c_th1d_getcellcontent 
+  :: (Ptr RawTH1D) -> CInt -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH1D_GetCellError" c_th1d_getcellerror 
+  :: (Ptr RawTH1D) -> CInt -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH1D_SetTitle" c_th1d_settitle 
+  :: (Ptr RawTH1D) -> CString -> IO ()
+foreign import ccall "HROOT.h TH1D_SetLineColor" c_th1d_setlinecolor 
+  :: (Ptr RawTH1D) -> CInt -> IO ()
+foreign import ccall "HROOT.h TH1D_SetFillColor" c_th1d_setfillcolor 
+  :: (Ptr RawTH1D) -> CInt -> IO ()
+foreign import ccall "HROOT.h TH1D_SetFillStyle" c_th1d_setfillstyle 
+  :: (Ptr RawTH1D) -> CInt -> IO ()
+foreign import ccall "HROOT.h TH1D_GetName" c_th1d_getname 
+  :: (Ptr RawTH1D) -> IO CString
+foreign import ccall "HROOT.h TH1D_Draw" c_th1d_draw 
+  :: (Ptr RawTH1D) -> CString -> IO ()
+foreign import ccall "HROOT.h TH1D_FindObject" c_th1d_findobject 
+  :: (Ptr RawTH1D) -> CString -> IO (Ptr RawTObject)
+foreign import ccall "HROOT.h TH1D_SaveAs" c_th1d_saveas 
+  :: (Ptr RawTH1D) -> CString -> CString -> IO ()
+foreign import ccall "HROOT.h TH1D_Write" c_th1d_write 
+  :: (Ptr RawTH1D) -> CString -> CInt -> CInt -> IO CInt
+foreign import ccall "HROOT.h TH1D_delete" c_th1d_delete 
+  :: (Ptr RawTH1D) -> IO ()
+
+foreign import ccall "HROOT.h TH1F_Add" c_th1f_add 
+  :: (Ptr RawTH1F) -> (Ptr RawTH1) -> CDouble -> IO ()
+foreign import ccall "HROOT.h TH1F_AddBinContent" c_th1f_addbincontent 
+  :: (Ptr RawTH1F) -> CInt -> CDouble -> IO ()
+foreign import ccall "HROOT.h TH1F_Chi2Test" c_th1f_chi2test 
+  :: (Ptr RawTH1F) -> (Ptr RawTH1) -> CString -> (Ptr CDouble) -> IO CDouble
+foreign import ccall "HROOT.h TH1F_ComputeIntegral" c_th1f_computeintegral 
+  :: (Ptr RawTH1F) -> IO CDouble
+foreign import ccall "HROOT.h TH1F_DirectoryAutoAdd" c_th1f_directoryautoadd 
+  :: (Ptr RawTH1F) -> (Ptr RawTDirectory) -> IO ()
+foreign import ccall "HROOT.h TH1F_DistancetoPrimitive" c_th1f_distancetoprimitive 
+  :: (Ptr RawTH1F) -> CInt -> CInt -> IO CInt
+foreign import ccall "HROOT.h TH1F_Divide" c_th1f_divide 
+  :: (Ptr RawTH1F) -> (Ptr RawTH1) -> (Ptr RawTH2) -> CDouble -> CDouble -> CString -> IO ()
+foreign import ccall "HROOT.h TH1F_DrawCopy" c_th1f_drawcopy 
+  :: (Ptr RawTH1F) -> CString -> IO (Ptr RawTH1F)
+foreign import ccall "HROOT.h TH1F_DrawNormalized" c_th1f_drawnormalized 
+  :: (Ptr RawTH1F) -> CString -> CDouble -> IO (Ptr RawTH1)
+foreign import ccall "HROOT.h TH1F_DrawPanel" c_th1f_drawpanel 
+  :: (Ptr RawTH1F) -> IO ()
+foreign import ccall "HROOT.h TH1F_BufferEmpty" c_th1f_bufferempty 
+  :: (Ptr RawTH1F) -> CInt -> IO CInt
+foreign import ccall "HROOT.h TH1F_Eval" c_th1f_eval 
+  :: (Ptr RawTH1F) -> (Ptr RawTF1) -> CString -> IO ()
+foreign import ccall "HROOT.h TH1F_ExecuteEvent" c_th1f_executeevent 
+  :: (Ptr RawTH1F) -> CInt -> CInt -> CInt -> IO ()
+foreign import ccall "HROOT.h TH1F_FFT" c_th1f_fft 
+  :: (Ptr RawTH1F) -> (Ptr RawTH1) -> CString -> IO (Ptr RawTH1)
+foreign import ccall "HROOT.h TH1F_fill1" c_th1f_fill1 
+  :: (Ptr RawTH1F) -> CDouble -> IO CInt
+foreign import ccall "HROOT.h TH1F_FillN" c_th1f_filln 
+  :: (Ptr RawTH1F) -> CInt -> (Ptr CDouble) -> (Ptr CDouble) -> CInt -> IO ()
+foreign import ccall "HROOT.h TH1F_FillRandom" c_th1f_fillrandom 
+  :: (Ptr RawTH1F) -> (Ptr RawTH1) -> CInt -> IO ()
+foreign import ccall "HROOT.h TH1F_FindBin" c_th1f_findbin 
+  :: (Ptr RawTH1F) -> CDouble -> CDouble -> CDouble -> IO CInt
+foreign import ccall "HROOT.h TH1F_FindFixBin" c_th1f_findfixbin 
+  :: (Ptr RawTH1F) -> CDouble -> CDouble -> CDouble -> IO CInt
+foreign import ccall "HROOT.h TH1F_FindFirstBinAbove" c_th1f_findfirstbinabove 
+  :: (Ptr RawTH1F) -> CDouble -> CInt -> IO CInt
+foreign import ccall "HROOT.h TH1F_FindLastBinAbove" c_th1f_findlastbinabove 
+  :: (Ptr RawTH1F) -> CDouble -> CInt -> IO CInt
+foreign import ccall "HROOT.h TH1F_FitPanel" c_th1f_fitpanel 
+  :: (Ptr RawTH1F) -> IO ()
+foreign import ccall "HROOT.h TH1F_GetNdivisions" c_th1f_getndivisions 
+  :: (Ptr RawTH1F) -> CString -> IO CInt
+foreign import ccall "HROOT.h TH1F_GetAxisColor" c_th1f_getaxiscolor 
+  :: (Ptr RawTH1F) -> CString -> IO CInt
+foreign import ccall "HROOT.h TH1F_GetLabelColor" c_th1f_getlabelcolor 
+  :: (Ptr RawTH1F) -> CString -> IO CInt
+foreign import ccall "HROOT.h TH1F_GetLabelFont" c_th1f_getlabelfont 
+  :: (Ptr RawTH1F) -> CString -> IO CInt
+foreign import ccall "HROOT.h TH1F_GetLabelOffset" c_th1f_getlabeloffset 
+  :: (Ptr RawTH1F) -> CString -> IO CDouble
+foreign import ccall "HROOT.h TH1F_GetLabelSize" c_th1f_getlabelsize 
+  :: (Ptr RawTH1F) -> CString -> IO CDouble
+foreign import ccall "HROOT.h TH1F_GetTitleFont" c_th1f_gettitlefont 
+  :: (Ptr RawTH1F) -> CString -> IO CInt
+foreign import ccall "HROOT.h TH1F_GetTitleOffset" c_th1f_gettitleoffset 
+  :: (Ptr RawTH1F) -> CString -> IO CDouble
+foreign import ccall "HROOT.h TH1F_GetTitleSize" c_th1f_gettitlesize 
+  :: (Ptr RawTH1F) -> CString -> IO CDouble
+foreign import ccall "HROOT.h TH1F_GetTickLength" c_th1f_getticklength 
+  :: (Ptr RawTH1F) -> CString -> IO CDouble
+foreign import ccall "HROOT.h TH1F_GetBarOffset" c_th1f_getbaroffset 
+  :: (Ptr RawTH1F) -> IO CDouble
+foreign import ccall "HROOT.h TH1F_GetBarWidth" c_th1f_getbarwidth 
+  :: (Ptr RawTH1F) -> IO CDouble
+foreign import ccall "HROOT.h TH1F_GetContour" c_th1f_getcontour 
+  :: (Ptr RawTH1F) -> (Ptr CDouble) -> IO CInt
+foreign import ccall "HROOT.h TH1F_GetContourLevel" c_th1f_getcontourlevel 
+  :: (Ptr RawTH1F) -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH1F_GetContourLevelPad" c_th1f_getcontourlevelpad 
+  :: (Ptr RawTH1F) -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH1F_GetBin" c_th1f_getbin 
+  :: (Ptr RawTH1F) -> CInt -> CInt -> CInt -> IO CInt
+foreign import ccall "HROOT.h TH1F_GetBinCenter" c_th1f_getbincenter 
+  :: (Ptr RawTH1F) -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH1F_GetBinContent1" c_th1f_getbincontent1 
+  :: (Ptr RawTH1F) -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH1F_GetBinContent2" c_th1f_getbincontent2 
+  :: (Ptr RawTH1F) -> CInt -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH1F_GetBinContent3" c_th1f_getbincontent3 
+  :: (Ptr RawTH1F) -> CInt -> CInt -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH1F_GetBinError1" c_th1f_getbinerror1 
+  :: (Ptr RawTH1F) -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH1F_GetBinError2" c_th1f_getbinerror2 
+  :: (Ptr RawTH1F) -> CInt -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH1F_GetBinError3" c_th1f_getbinerror3 
+  :: (Ptr RawTH1F) -> CInt -> CInt -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH1F_GetBinLowEdge" c_th1f_getbinlowedge 
+  :: (Ptr RawTH1F) -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH1F_GetBinWidth" c_th1f_getbinwidth 
+  :: (Ptr RawTH1F) -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH1F_GetCellContent" c_th1f_getcellcontent 
+  :: (Ptr RawTH1F) -> CInt -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH1F_GetCellError" c_th1f_getcellerror 
+  :: (Ptr RawTH1F) -> CInt -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH1F_SetTitle" c_th1f_settitle 
+  :: (Ptr RawTH1F) -> CString -> IO ()
+foreign import ccall "HROOT.h TH1F_SetLineColor" c_th1f_setlinecolor 
+  :: (Ptr RawTH1F) -> CInt -> IO ()
+foreign import ccall "HROOT.h TH1F_SetFillColor" c_th1f_setfillcolor 
+  :: (Ptr RawTH1F) -> CInt -> IO ()
+foreign import ccall "HROOT.h TH1F_SetFillStyle" c_th1f_setfillstyle 
+  :: (Ptr RawTH1F) -> CInt -> IO ()
+foreign import ccall "HROOT.h TH1F_GetName" c_th1f_getname 
+  :: (Ptr RawTH1F) -> IO CString
+foreign import ccall "HROOT.h TH1F_Draw" c_th1f_draw 
+  :: (Ptr RawTH1F) -> CString -> IO ()
+foreign import ccall "HROOT.h TH1F_FindObject" c_th1f_findobject 
+  :: (Ptr RawTH1F) -> CString -> IO (Ptr RawTObject)
+foreign import ccall "HROOT.h TH1F_SaveAs" c_th1f_saveas 
+  :: (Ptr RawTH1F) -> CString -> CString -> IO ()
+foreign import ccall "HROOT.h TH1F_Write" c_th1f_write 
+  :: (Ptr RawTH1F) -> CString -> CInt -> CInt -> IO CInt
+foreign import ccall "HROOT.h TH1F_delete" c_th1f_delete 
+  :: (Ptr RawTH1F) -> IO ()
+foreign import ccall "HROOT.h TH1F_newTH1F" c_th1f_newth1f 
+  :: CString -> CString -> CInt -> CDouble -> CDouble -> IO (Ptr RawTH1F)
+
+foreign import ccall "HROOT.h TH1I_Add" c_th1i_add 
+  :: (Ptr RawTH1I) -> (Ptr RawTH1) -> CDouble -> IO ()
+foreign import ccall "HROOT.h TH1I_AddBinContent" c_th1i_addbincontent 
+  :: (Ptr RawTH1I) -> CInt -> CDouble -> IO ()
+foreign import ccall "HROOT.h TH1I_Chi2Test" c_th1i_chi2test 
+  :: (Ptr RawTH1I) -> (Ptr RawTH1) -> CString -> (Ptr CDouble) -> IO CDouble
+foreign import ccall "HROOT.h TH1I_ComputeIntegral" c_th1i_computeintegral 
+  :: (Ptr RawTH1I) -> IO CDouble
+foreign import ccall "HROOT.h TH1I_DirectoryAutoAdd" c_th1i_directoryautoadd 
+  :: (Ptr RawTH1I) -> (Ptr RawTDirectory) -> IO ()
+foreign import ccall "HROOT.h TH1I_DistancetoPrimitive" c_th1i_distancetoprimitive 
+  :: (Ptr RawTH1I) -> CInt -> CInt -> IO CInt
+foreign import ccall "HROOT.h TH1I_Divide" c_th1i_divide 
+  :: (Ptr RawTH1I) -> (Ptr RawTH1) -> (Ptr RawTH2) -> CDouble -> CDouble -> CString -> IO ()
+foreign import ccall "HROOT.h TH1I_DrawCopy" c_th1i_drawcopy 
+  :: (Ptr RawTH1I) -> CString -> IO (Ptr RawTH1I)
+foreign import ccall "HROOT.h TH1I_DrawNormalized" c_th1i_drawnormalized 
+  :: (Ptr RawTH1I) -> CString -> CDouble -> IO (Ptr RawTH1)
+foreign import ccall "HROOT.h TH1I_DrawPanel" c_th1i_drawpanel 
+  :: (Ptr RawTH1I) -> IO ()
+foreign import ccall "HROOT.h TH1I_BufferEmpty" c_th1i_bufferempty 
+  :: (Ptr RawTH1I) -> CInt -> IO CInt
+foreign import ccall "HROOT.h TH1I_Eval" c_th1i_eval 
+  :: (Ptr RawTH1I) -> (Ptr RawTF1) -> CString -> IO ()
+foreign import ccall "HROOT.h TH1I_ExecuteEvent" c_th1i_executeevent 
+  :: (Ptr RawTH1I) -> CInt -> CInt -> CInt -> IO ()
+foreign import ccall "HROOT.h TH1I_FFT" c_th1i_fft 
+  :: (Ptr RawTH1I) -> (Ptr RawTH1) -> CString -> IO (Ptr RawTH1)
+foreign import ccall "HROOT.h TH1I_fill1" c_th1i_fill1 
+  :: (Ptr RawTH1I) -> CDouble -> IO CInt
+foreign import ccall "HROOT.h TH1I_FillN" c_th1i_filln 
+  :: (Ptr RawTH1I) -> CInt -> (Ptr CDouble) -> (Ptr CDouble) -> CInt -> IO ()
+foreign import ccall "HROOT.h TH1I_FillRandom" c_th1i_fillrandom 
+  :: (Ptr RawTH1I) -> (Ptr RawTH1) -> CInt -> IO ()
+foreign import ccall "HROOT.h TH1I_FindBin" c_th1i_findbin 
+  :: (Ptr RawTH1I) -> CDouble -> CDouble -> CDouble -> IO CInt
+foreign import ccall "HROOT.h TH1I_FindFixBin" c_th1i_findfixbin 
+  :: (Ptr RawTH1I) -> CDouble -> CDouble -> CDouble -> IO CInt
+foreign import ccall "HROOT.h TH1I_FindFirstBinAbove" c_th1i_findfirstbinabove 
+  :: (Ptr RawTH1I) -> CDouble -> CInt -> IO CInt
+foreign import ccall "HROOT.h TH1I_FindLastBinAbove" c_th1i_findlastbinabove 
+  :: (Ptr RawTH1I) -> CDouble -> CInt -> IO CInt
+foreign import ccall "HROOT.h TH1I_FitPanel" c_th1i_fitpanel 
+  :: (Ptr RawTH1I) -> IO ()
+foreign import ccall "HROOT.h TH1I_GetNdivisions" c_th1i_getndivisions 
+  :: (Ptr RawTH1I) -> CString -> IO CInt
+foreign import ccall "HROOT.h TH1I_GetAxisColor" c_th1i_getaxiscolor 
+  :: (Ptr RawTH1I) -> CString -> IO CInt
+foreign import ccall "HROOT.h TH1I_GetLabelColor" c_th1i_getlabelcolor 
+  :: (Ptr RawTH1I) -> CString -> IO CInt
+foreign import ccall "HROOT.h TH1I_GetLabelFont" c_th1i_getlabelfont 
+  :: (Ptr RawTH1I) -> CString -> IO CInt
+foreign import ccall "HROOT.h TH1I_GetLabelOffset" c_th1i_getlabeloffset 
+  :: (Ptr RawTH1I) -> CString -> IO CDouble
+foreign import ccall "HROOT.h TH1I_GetLabelSize" c_th1i_getlabelsize 
+  :: (Ptr RawTH1I) -> CString -> IO CDouble
+foreign import ccall "HROOT.h TH1I_GetTitleFont" c_th1i_gettitlefont 
+  :: (Ptr RawTH1I) -> CString -> IO CInt
+foreign import ccall "HROOT.h TH1I_GetTitleOffset" c_th1i_gettitleoffset 
+  :: (Ptr RawTH1I) -> CString -> IO CDouble
+foreign import ccall "HROOT.h TH1I_GetTitleSize" c_th1i_gettitlesize 
+  :: (Ptr RawTH1I) -> CString -> IO CDouble
+foreign import ccall "HROOT.h TH1I_GetTickLength" c_th1i_getticklength 
+  :: (Ptr RawTH1I) -> CString -> IO CDouble
+foreign import ccall "HROOT.h TH1I_GetBarOffset" c_th1i_getbaroffset 
+  :: (Ptr RawTH1I) -> IO CDouble
+foreign import ccall "HROOT.h TH1I_GetBarWidth" c_th1i_getbarwidth 
+  :: (Ptr RawTH1I) -> IO CDouble
+foreign import ccall "HROOT.h TH1I_GetContour" c_th1i_getcontour 
+  :: (Ptr RawTH1I) -> (Ptr CDouble) -> IO CInt
+foreign import ccall "HROOT.h TH1I_GetContourLevel" c_th1i_getcontourlevel 
+  :: (Ptr RawTH1I) -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH1I_GetContourLevelPad" c_th1i_getcontourlevelpad 
+  :: (Ptr RawTH1I) -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH1I_GetBin" c_th1i_getbin 
+  :: (Ptr RawTH1I) -> CInt -> CInt -> CInt -> IO CInt
+foreign import ccall "HROOT.h TH1I_GetBinCenter" c_th1i_getbincenter 
+  :: (Ptr RawTH1I) -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH1I_GetBinContent1" c_th1i_getbincontent1 
+  :: (Ptr RawTH1I) -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH1I_GetBinContent2" c_th1i_getbincontent2 
+  :: (Ptr RawTH1I) -> CInt -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH1I_GetBinContent3" c_th1i_getbincontent3 
+  :: (Ptr RawTH1I) -> CInt -> CInt -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH1I_GetBinError1" c_th1i_getbinerror1 
+  :: (Ptr RawTH1I) -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH1I_GetBinError2" c_th1i_getbinerror2 
+  :: (Ptr RawTH1I) -> CInt -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH1I_GetBinError3" c_th1i_getbinerror3 
+  :: (Ptr RawTH1I) -> CInt -> CInt -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH1I_GetBinLowEdge" c_th1i_getbinlowedge 
+  :: (Ptr RawTH1I) -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH1I_GetBinWidth" c_th1i_getbinwidth 
+  :: (Ptr RawTH1I) -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH1I_GetCellContent" c_th1i_getcellcontent 
+  :: (Ptr RawTH1I) -> CInt -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH1I_GetCellError" c_th1i_getcellerror 
+  :: (Ptr RawTH1I) -> CInt -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH1I_SetTitle" c_th1i_settitle 
+  :: (Ptr RawTH1I) -> CString -> IO ()
+foreign import ccall "HROOT.h TH1I_SetLineColor" c_th1i_setlinecolor 
+  :: (Ptr RawTH1I) -> CInt -> IO ()
+foreign import ccall "HROOT.h TH1I_SetFillColor" c_th1i_setfillcolor 
+  :: (Ptr RawTH1I) -> CInt -> IO ()
+foreign import ccall "HROOT.h TH1I_SetFillStyle" c_th1i_setfillstyle 
+  :: (Ptr RawTH1I) -> CInt -> IO ()
+foreign import ccall "HROOT.h TH1I_GetName" c_th1i_getname 
+  :: (Ptr RawTH1I) -> IO CString
+foreign import ccall "HROOT.h TH1I_Draw" c_th1i_draw 
+  :: (Ptr RawTH1I) -> CString -> IO ()
+foreign import ccall "HROOT.h TH1I_FindObject" c_th1i_findobject 
+  :: (Ptr RawTH1I) -> CString -> IO (Ptr RawTObject)
+foreign import ccall "HROOT.h TH1I_SaveAs" c_th1i_saveas 
+  :: (Ptr RawTH1I) -> CString -> CString -> IO ()
+foreign import ccall "HROOT.h TH1I_Write" c_th1i_write 
+  :: (Ptr RawTH1I) -> CString -> CInt -> CInt -> IO CInt
+foreign import ccall "HROOT.h TH1I_delete" c_th1i_delete 
+  :: (Ptr RawTH1I) -> IO ()
+
+foreign import ccall "HROOT.h TH1S_Add" c_th1s_add 
+  :: (Ptr RawTH1S) -> (Ptr RawTH1) -> CDouble -> IO ()
+foreign import ccall "HROOT.h TH1S_AddBinContent" c_th1s_addbincontent 
+  :: (Ptr RawTH1S) -> CInt -> CDouble -> IO ()
+foreign import ccall "HROOT.h TH1S_Chi2Test" c_th1s_chi2test 
+  :: (Ptr RawTH1S) -> (Ptr RawTH1) -> CString -> (Ptr CDouble) -> IO CDouble
+foreign import ccall "HROOT.h TH1S_ComputeIntegral" c_th1s_computeintegral 
+  :: (Ptr RawTH1S) -> IO CDouble
+foreign import ccall "HROOT.h TH1S_DirectoryAutoAdd" c_th1s_directoryautoadd 
+  :: (Ptr RawTH1S) -> (Ptr RawTDirectory) -> IO ()
+foreign import ccall "HROOT.h TH1S_DistancetoPrimitive" c_th1s_distancetoprimitive 
+  :: (Ptr RawTH1S) -> CInt -> CInt -> IO CInt
+foreign import ccall "HROOT.h TH1S_Divide" c_th1s_divide 
+  :: (Ptr RawTH1S) -> (Ptr RawTH1) -> (Ptr RawTH2) -> CDouble -> CDouble -> CString -> IO ()
+foreign import ccall "HROOT.h TH1S_DrawCopy" c_th1s_drawcopy 
+  :: (Ptr RawTH1S) -> CString -> IO (Ptr RawTH1S)
+foreign import ccall "HROOT.h TH1S_DrawNormalized" c_th1s_drawnormalized 
+  :: (Ptr RawTH1S) -> CString -> CDouble -> IO (Ptr RawTH1)
+foreign import ccall "HROOT.h TH1S_DrawPanel" c_th1s_drawpanel 
+  :: (Ptr RawTH1S) -> IO ()
+foreign import ccall "HROOT.h TH1S_BufferEmpty" c_th1s_bufferempty 
+  :: (Ptr RawTH1S) -> CInt -> IO CInt
+foreign import ccall "HROOT.h TH1S_Eval" c_th1s_eval 
+  :: (Ptr RawTH1S) -> (Ptr RawTF1) -> CString -> IO ()
+foreign import ccall "HROOT.h TH1S_ExecuteEvent" c_th1s_executeevent 
+  :: (Ptr RawTH1S) -> CInt -> CInt -> CInt -> IO ()
+foreign import ccall "HROOT.h TH1S_FFT" c_th1s_fft 
+  :: (Ptr RawTH1S) -> (Ptr RawTH1) -> CString -> IO (Ptr RawTH1)
+foreign import ccall "HROOT.h TH1S_fill1" c_th1s_fill1 
+  :: (Ptr RawTH1S) -> CDouble -> IO CInt
+foreign import ccall "HROOT.h TH1S_FillN" c_th1s_filln 
+  :: (Ptr RawTH1S) -> CInt -> (Ptr CDouble) -> (Ptr CDouble) -> CInt -> IO ()
+foreign import ccall "HROOT.h TH1S_FillRandom" c_th1s_fillrandom 
+  :: (Ptr RawTH1S) -> (Ptr RawTH1) -> CInt -> IO ()
+foreign import ccall "HROOT.h TH1S_FindBin" c_th1s_findbin 
+  :: (Ptr RawTH1S) -> CDouble -> CDouble -> CDouble -> IO CInt
+foreign import ccall "HROOT.h TH1S_FindFixBin" c_th1s_findfixbin 
+  :: (Ptr RawTH1S) -> CDouble -> CDouble -> CDouble -> IO CInt
+foreign import ccall "HROOT.h TH1S_FindFirstBinAbove" c_th1s_findfirstbinabove 
+  :: (Ptr RawTH1S) -> CDouble -> CInt -> IO CInt
+foreign import ccall "HROOT.h TH1S_FindLastBinAbove" c_th1s_findlastbinabove 
+  :: (Ptr RawTH1S) -> CDouble -> CInt -> IO CInt
+foreign import ccall "HROOT.h TH1S_FitPanel" c_th1s_fitpanel 
+  :: (Ptr RawTH1S) -> IO ()
+foreign import ccall "HROOT.h TH1S_GetNdivisions" c_th1s_getndivisions 
+  :: (Ptr RawTH1S) -> CString -> IO CInt
+foreign import ccall "HROOT.h TH1S_GetAxisColor" c_th1s_getaxiscolor 
+  :: (Ptr RawTH1S) -> CString -> IO CInt
+foreign import ccall "HROOT.h TH1S_GetLabelColor" c_th1s_getlabelcolor 
+  :: (Ptr RawTH1S) -> CString -> IO CInt
+foreign import ccall "HROOT.h TH1S_GetLabelFont" c_th1s_getlabelfont 
+  :: (Ptr RawTH1S) -> CString -> IO CInt
+foreign import ccall "HROOT.h TH1S_GetLabelOffset" c_th1s_getlabeloffset 
+  :: (Ptr RawTH1S) -> CString -> IO CDouble
+foreign import ccall "HROOT.h TH1S_GetLabelSize" c_th1s_getlabelsize 
+  :: (Ptr RawTH1S) -> CString -> IO CDouble
+foreign import ccall "HROOT.h TH1S_GetTitleFont" c_th1s_gettitlefont 
+  :: (Ptr RawTH1S) -> CString -> IO CInt
+foreign import ccall "HROOT.h TH1S_GetTitleOffset" c_th1s_gettitleoffset 
+  :: (Ptr RawTH1S) -> CString -> IO CDouble
+foreign import ccall "HROOT.h TH1S_GetTitleSize" c_th1s_gettitlesize 
+  :: (Ptr RawTH1S) -> CString -> IO CDouble
+foreign import ccall "HROOT.h TH1S_GetTickLength" c_th1s_getticklength 
+  :: (Ptr RawTH1S) -> CString -> IO CDouble
+foreign import ccall "HROOT.h TH1S_GetBarOffset" c_th1s_getbaroffset 
+  :: (Ptr RawTH1S) -> IO CDouble
+foreign import ccall "HROOT.h TH1S_GetBarWidth" c_th1s_getbarwidth 
+  :: (Ptr RawTH1S) -> IO CDouble
+foreign import ccall "HROOT.h TH1S_GetContour" c_th1s_getcontour 
+  :: (Ptr RawTH1S) -> (Ptr CDouble) -> IO CInt
+foreign import ccall "HROOT.h TH1S_GetContourLevel" c_th1s_getcontourlevel 
+  :: (Ptr RawTH1S) -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH1S_GetContourLevelPad" c_th1s_getcontourlevelpad 
+  :: (Ptr RawTH1S) -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH1S_GetBin" c_th1s_getbin 
+  :: (Ptr RawTH1S) -> CInt -> CInt -> CInt -> IO CInt
+foreign import ccall "HROOT.h TH1S_GetBinCenter" c_th1s_getbincenter 
+  :: (Ptr RawTH1S) -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH1S_GetBinContent1" c_th1s_getbincontent1 
+  :: (Ptr RawTH1S) -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH1S_GetBinContent2" c_th1s_getbincontent2 
+  :: (Ptr RawTH1S) -> CInt -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH1S_GetBinContent3" c_th1s_getbincontent3 
+  :: (Ptr RawTH1S) -> CInt -> CInt -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH1S_GetBinError1" c_th1s_getbinerror1 
+  :: (Ptr RawTH1S) -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH1S_GetBinError2" c_th1s_getbinerror2 
+  :: (Ptr RawTH1S) -> CInt -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH1S_GetBinError3" c_th1s_getbinerror3 
+  :: (Ptr RawTH1S) -> CInt -> CInt -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH1S_GetBinLowEdge" c_th1s_getbinlowedge 
+  :: (Ptr RawTH1S) -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH1S_GetBinWidth" c_th1s_getbinwidth 
+  :: (Ptr RawTH1S) -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH1S_GetCellContent" c_th1s_getcellcontent 
+  :: (Ptr RawTH1S) -> CInt -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH1S_GetCellError" c_th1s_getcellerror 
+  :: (Ptr RawTH1S) -> CInt -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH1S_SetTitle" c_th1s_settitle 
+  :: (Ptr RawTH1S) -> CString -> IO ()
+foreign import ccall "HROOT.h TH1S_SetLineColor" c_th1s_setlinecolor 
+  :: (Ptr RawTH1S) -> CInt -> IO ()
+foreign import ccall "HROOT.h TH1S_SetFillColor" c_th1s_setfillcolor 
+  :: (Ptr RawTH1S) -> CInt -> IO ()
+foreign import ccall "HROOT.h TH1S_SetFillStyle" c_th1s_setfillstyle 
+  :: (Ptr RawTH1S) -> CInt -> IO ()
+foreign import ccall "HROOT.h TH1S_GetName" c_th1s_getname 
+  :: (Ptr RawTH1S) -> IO CString
+foreign import ccall "HROOT.h TH1S_Draw" c_th1s_draw 
+  :: (Ptr RawTH1S) -> CString -> IO ()
+foreign import ccall "HROOT.h TH1S_FindObject" c_th1s_findobject 
+  :: (Ptr RawTH1S) -> CString -> IO (Ptr RawTObject)
+foreign import ccall "HROOT.h TH1S_SaveAs" c_th1s_saveas 
+  :: (Ptr RawTH1S) -> CString -> CString -> IO ()
+foreign import ccall "HROOT.h TH1S_Write" c_th1s_write 
+  :: (Ptr RawTH1S) -> CString -> CInt -> CInt -> IO CInt
+foreign import ccall "HROOT.h TH1S_delete" c_th1s_delete 
+  :: (Ptr RawTH1S) -> IO ()
+
+foreign import ccall "HROOT.h TH2C_fill2" c_th2c_fill2 
+  :: (Ptr RawTH2C) -> CDouble -> CDouble -> IO CInt
+foreign import ccall "HROOT.h TH2C_Add" c_th2c_add 
+  :: (Ptr RawTH2C) -> (Ptr RawTH1) -> CDouble -> IO ()
+foreign import ccall "HROOT.h TH2C_AddBinContent" c_th2c_addbincontent 
+  :: (Ptr RawTH2C) -> CInt -> CDouble -> IO ()
+foreign import ccall "HROOT.h TH2C_Chi2Test" c_th2c_chi2test 
+  :: (Ptr RawTH2C) -> (Ptr RawTH1) -> CString -> (Ptr CDouble) -> IO CDouble
+foreign import ccall "HROOT.h TH2C_ComputeIntegral" c_th2c_computeintegral 
+  :: (Ptr RawTH2C) -> IO CDouble
+foreign import ccall "HROOT.h TH2C_DirectoryAutoAdd" c_th2c_directoryautoadd 
+  :: (Ptr RawTH2C) -> (Ptr RawTDirectory) -> IO ()
+foreign import ccall "HROOT.h TH2C_DistancetoPrimitive" c_th2c_distancetoprimitive 
+  :: (Ptr RawTH2C) -> CInt -> CInt -> IO CInt
+foreign import ccall "HROOT.h TH2C_Divide" c_th2c_divide 
+  :: (Ptr RawTH2C) -> (Ptr RawTH1) -> (Ptr RawTH2) -> CDouble -> CDouble -> CString -> IO ()
+foreign import ccall "HROOT.h TH2C_DrawCopy" c_th2c_drawcopy 
+  :: (Ptr RawTH2C) -> CString -> IO (Ptr RawTH2C)
+foreign import ccall "HROOT.h TH2C_DrawNormalized" c_th2c_drawnormalized 
+  :: (Ptr RawTH2C) -> CString -> CDouble -> IO (Ptr RawTH1)
+foreign import ccall "HROOT.h TH2C_DrawPanel" c_th2c_drawpanel 
+  :: (Ptr RawTH2C) -> IO ()
+foreign import ccall "HROOT.h TH2C_BufferEmpty" c_th2c_bufferempty 
+  :: (Ptr RawTH2C) -> CInt -> IO CInt
+foreign import ccall "HROOT.h TH2C_Eval" c_th2c_eval 
+  :: (Ptr RawTH2C) -> (Ptr RawTF1) -> CString -> IO ()
+foreign import ccall "HROOT.h TH2C_ExecuteEvent" c_th2c_executeevent 
+  :: (Ptr RawTH2C) -> CInt -> CInt -> CInt -> IO ()
+foreign import ccall "HROOT.h TH2C_FFT" c_th2c_fft 
+  :: (Ptr RawTH2C) -> (Ptr RawTH1) -> CString -> IO (Ptr RawTH1)
+foreign import ccall "HROOT.h TH2C_fill1" c_th2c_fill1 
+  :: (Ptr RawTH2C) -> CDouble -> IO CInt
+foreign import ccall "HROOT.h TH2C_FillN" c_th2c_filln 
+  :: (Ptr RawTH2C) -> CInt -> (Ptr CDouble) -> (Ptr CDouble) -> CInt -> IO ()
+foreign import ccall "HROOT.h TH2C_FillRandom" c_th2c_fillrandom 
+  :: (Ptr RawTH2C) -> (Ptr RawTH1) -> CInt -> IO ()
+foreign import ccall "HROOT.h TH2C_FindBin" c_th2c_findbin 
+  :: (Ptr RawTH2C) -> CDouble -> CDouble -> CDouble -> IO CInt
+foreign import ccall "HROOT.h TH2C_FindFixBin" c_th2c_findfixbin 
+  :: (Ptr RawTH2C) -> CDouble -> CDouble -> CDouble -> IO CInt
+foreign import ccall "HROOT.h TH2C_FindFirstBinAbove" c_th2c_findfirstbinabove 
+  :: (Ptr RawTH2C) -> CDouble -> CInt -> IO CInt
+foreign import ccall "HROOT.h TH2C_FindLastBinAbove" c_th2c_findlastbinabove 
+  :: (Ptr RawTH2C) -> CDouble -> CInt -> IO CInt
+foreign import ccall "HROOT.h TH2C_FitPanel" c_th2c_fitpanel 
+  :: (Ptr RawTH2C) -> IO ()
+foreign import ccall "HROOT.h TH2C_GetNdivisions" c_th2c_getndivisions 
+  :: (Ptr RawTH2C) -> CString -> IO CInt
+foreign import ccall "HROOT.h TH2C_GetAxisColor" c_th2c_getaxiscolor 
+  :: (Ptr RawTH2C) -> CString -> IO CInt
+foreign import ccall "HROOT.h TH2C_GetLabelColor" c_th2c_getlabelcolor 
+  :: (Ptr RawTH2C) -> CString -> IO CInt
+foreign import ccall "HROOT.h TH2C_GetLabelFont" c_th2c_getlabelfont 
+  :: (Ptr RawTH2C) -> CString -> IO CInt
+foreign import ccall "HROOT.h TH2C_GetLabelOffset" c_th2c_getlabeloffset 
+  :: (Ptr RawTH2C) -> CString -> IO CDouble
+foreign import ccall "HROOT.h TH2C_GetLabelSize" c_th2c_getlabelsize 
+  :: (Ptr RawTH2C) -> CString -> IO CDouble
+foreign import ccall "HROOT.h TH2C_GetTitleFont" c_th2c_gettitlefont 
+  :: (Ptr RawTH2C) -> CString -> IO CInt
+foreign import ccall "HROOT.h TH2C_GetTitleOffset" c_th2c_gettitleoffset 
+  :: (Ptr RawTH2C) -> CString -> IO CDouble
+foreign import ccall "HROOT.h TH2C_GetTitleSize" c_th2c_gettitlesize 
+  :: (Ptr RawTH2C) -> CString -> IO CDouble
+foreign import ccall "HROOT.h TH2C_GetTickLength" c_th2c_getticklength 
+  :: (Ptr RawTH2C) -> CString -> IO CDouble
+foreign import ccall "HROOT.h TH2C_GetBarOffset" c_th2c_getbaroffset 
+  :: (Ptr RawTH2C) -> IO CDouble
+foreign import ccall "HROOT.h TH2C_GetBarWidth" c_th2c_getbarwidth 
+  :: (Ptr RawTH2C) -> IO CDouble
+foreign import ccall "HROOT.h TH2C_GetContour" c_th2c_getcontour 
+  :: (Ptr RawTH2C) -> (Ptr CDouble) -> IO CInt
+foreign import ccall "HROOT.h TH2C_GetContourLevel" c_th2c_getcontourlevel 
+  :: (Ptr RawTH2C) -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH2C_GetContourLevelPad" c_th2c_getcontourlevelpad 
+  :: (Ptr RawTH2C) -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH2C_GetBin" c_th2c_getbin 
+  :: (Ptr RawTH2C) -> CInt -> CInt -> CInt -> IO CInt
+foreign import ccall "HROOT.h TH2C_GetBinCenter" c_th2c_getbincenter 
+  :: (Ptr RawTH2C) -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH2C_GetBinContent1" c_th2c_getbincontent1 
+  :: (Ptr RawTH2C) -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH2C_GetBinContent2" c_th2c_getbincontent2 
+  :: (Ptr RawTH2C) -> CInt -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH2C_GetBinContent3" c_th2c_getbincontent3 
+  :: (Ptr RawTH2C) -> CInt -> CInt -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH2C_GetBinError1" c_th2c_getbinerror1 
+  :: (Ptr RawTH2C) -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH2C_GetBinError2" c_th2c_getbinerror2 
+  :: (Ptr RawTH2C) -> CInt -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH2C_GetBinError3" c_th2c_getbinerror3 
+  :: (Ptr RawTH2C) -> CInt -> CInt -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH2C_GetBinLowEdge" c_th2c_getbinlowedge 
+  :: (Ptr RawTH2C) -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH2C_GetBinWidth" c_th2c_getbinwidth 
+  :: (Ptr RawTH2C) -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH2C_GetCellContent" c_th2c_getcellcontent 
+  :: (Ptr RawTH2C) -> CInt -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH2C_GetCellError" c_th2c_getcellerror 
+  :: (Ptr RawTH2C) -> CInt -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH2C_SetTitle" c_th2c_settitle 
+  :: (Ptr RawTH2C) -> CString -> IO ()
+foreign import ccall "HROOT.h TH2C_SetLineColor" c_th2c_setlinecolor 
+  :: (Ptr RawTH2C) -> CInt -> IO ()
+foreign import ccall "HROOT.h TH2C_SetFillColor" c_th2c_setfillcolor 
+  :: (Ptr RawTH2C) -> CInt -> IO ()
+foreign import ccall "HROOT.h TH2C_SetFillStyle" c_th2c_setfillstyle 
+  :: (Ptr RawTH2C) -> CInt -> IO ()
+foreign import ccall "HROOT.h TH2C_GetName" c_th2c_getname 
+  :: (Ptr RawTH2C) -> IO CString
+foreign import ccall "HROOT.h TH2C_Draw" c_th2c_draw 
+  :: (Ptr RawTH2C) -> CString -> IO ()
+foreign import ccall "HROOT.h TH2C_FindObject" c_th2c_findobject 
+  :: (Ptr RawTH2C) -> CString -> IO (Ptr RawTObject)
+foreign import ccall "HROOT.h TH2C_SaveAs" c_th2c_saveas 
+  :: (Ptr RawTH2C) -> CString -> CString -> IO ()
+foreign import ccall "HROOT.h TH2C_Write" c_th2c_write 
+  :: (Ptr RawTH2C) -> CString -> CInt -> CInt -> IO CInt
+foreign import ccall "HROOT.h TH2C_delete" c_th2c_delete 
+  :: (Ptr RawTH2C) -> IO ()
+
+foreign import ccall "HROOT.h TH2D_fill2" c_th2d_fill2 
+  :: (Ptr RawTH2D) -> CDouble -> CDouble -> IO CInt
+foreign import ccall "HROOT.h TH2D_Add" c_th2d_add 
+  :: (Ptr RawTH2D) -> (Ptr RawTH1) -> CDouble -> IO ()
+foreign import ccall "HROOT.h TH2D_AddBinContent" c_th2d_addbincontent 
+  :: (Ptr RawTH2D) -> CInt -> CDouble -> IO ()
+foreign import ccall "HROOT.h TH2D_Chi2Test" c_th2d_chi2test 
+  :: (Ptr RawTH2D) -> (Ptr RawTH1) -> CString -> (Ptr CDouble) -> IO CDouble
+foreign import ccall "HROOT.h TH2D_ComputeIntegral" c_th2d_computeintegral 
+  :: (Ptr RawTH2D) -> IO CDouble
+foreign import ccall "HROOT.h TH2D_DirectoryAutoAdd" c_th2d_directoryautoadd 
+  :: (Ptr RawTH2D) -> (Ptr RawTDirectory) -> IO ()
+foreign import ccall "HROOT.h TH2D_DistancetoPrimitive" c_th2d_distancetoprimitive 
+  :: (Ptr RawTH2D) -> CInt -> CInt -> IO CInt
+foreign import ccall "HROOT.h TH2D_Divide" c_th2d_divide 
+  :: (Ptr RawTH2D) -> (Ptr RawTH1) -> (Ptr RawTH2) -> CDouble -> CDouble -> CString -> IO ()
+foreign import ccall "HROOT.h TH2D_DrawCopy" c_th2d_drawcopy 
+  :: (Ptr RawTH2D) -> CString -> IO (Ptr RawTH2D)
+foreign import ccall "HROOT.h TH2D_DrawNormalized" c_th2d_drawnormalized 
+  :: (Ptr RawTH2D) -> CString -> CDouble -> IO (Ptr RawTH1)
+foreign import ccall "HROOT.h TH2D_DrawPanel" c_th2d_drawpanel 
+  :: (Ptr RawTH2D) -> IO ()
+foreign import ccall "HROOT.h TH2D_BufferEmpty" c_th2d_bufferempty 
+  :: (Ptr RawTH2D) -> CInt -> IO CInt
+foreign import ccall "HROOT.h TH2D_Eval" c_th2d_eval 
+  :: (Ptr RawTH2D) -> (Ptr RawTF1) -> CString -> IO ()
+foreign import ccall "HROOT.h TH2D_ExecuteEvent" c_th2d_executeevent 
+  :: (Ptr RawTH2D) -> CInt -> CInt -> CInt -> IO ()
+foreign import ccall "HROOT.h TH2D_FFT" c_th2d_fft 
+  :: (Ptr RawTH2D) -> (Ptr RawTH1) -> CString -> IO (Ptr RawTH1)
+foreign import ccall "HROOT.h TH2D_fill1" c_th2d_fill1 
+  :: (Ptr RawTH2D) -> CDouble -> IO CInt
+foreign import ccall "HROOT.h TH2D_FillN" c_th2d_filln 
+  :: (Ptr RawTH2D) -> CInt -> (Ptr CDouble) -> (Ptr CDouble) -> CInt -> IO ()
+foreign import ccall "HROOT.h TH2D_FillRandom" c_th2d_fillrandom 
+  :: (Ptr RawTH2D) -> (Ptr RawTH1) -> CInt -> IO ()
+foreign import ccall "HROOT.h TH2D_FindBin" c_th2d_findbin 
+  :: (Ptr RawTH2D) -> CDouble -> CDouble -> CDouble -> IO CInt
+foreign import ccall "HROOT.h TH2D_FindFixBin" c_th2d_findfixbin 
+  :: (Ptr RawTH2D) -> CDouble -> CDouble -> CDouble -> IO CInt
+foreign import ccall "HROOT.h TH2D_FindFirstBinAbove" c_th2d_findfirstbinabove 
+  :: (Ptr RawTH2D) -> CDouble -> CInt -> IO CInt
+foreign import ccall "HROOT.h TH2D_FindLastBinAbove" c_th2d_findlastbinabove 
+  :: (Ptr RawTH2D) -> CDouble -> CInt -> IO CInt
+foreign import ccall "HROOT.h TH2D_FitPanel" c_th2d_fitpanel 
+  :: (Ptr RawTH2D) -> IO ()
+foreign import ccall "HROOT.h TH2D_GetNdivisions" c_th2d_getndivisions 
+  :: (Ptr RawTH2D) -> CString -> IO CInt
+foreign import ccall "HROOT.h TH2D_GetAxisColor" c_th2d_getaxiscolor 
+  :: (Ptr RawTH2D) -> CString -> IO CInt
+foreign import ccall "HROOT.h TH2D_GetLabelColor" c_th2d_getlabelcolor 
+  :: (Ptr RawTH2D) -> CString -> IO CInt
+foreign import ccall "HROOT.h TH2D_GetLabelFont" c_th2d_getlabelfont 
+  :: (Ptr RawTH2D) -> CString -> IO CInt
+foreign import ccall "HROOT.h TH2D_GetLabelOffset" c_th2d_getlabeloffset 
+  :: (Ptr RawTH2D) -> CString -> IO CDouble
+foreign import ccall "HROOT.h TH2D_GetLabelSize" c_th2d_getlabelsize 
+  :: (Ptr RawTH2D) -> CString -> IO CDouble
+foreign import ccall "HROOT.h TH2D_GetTitleFont" c_th2d_gettitlefont 
+  :: (Ptr RawTH2D) -> CString -> IO CInt
+foreign import ccall "HROOT.h TH2D_GetTitleOffset" c_th2d_gettitleoffset 
+  :: (Ptr RawTH2D) -> CString -> IO CDouble
+foreign import ccall "HROOT.h TH2D_GetTitleSize" c_th2d_gettitlesize 
+  :: (Ptr RawTH2D) -> CString -> IO CDouble
+foreign import ccall "HROOT.h TH2D_GetTickLength" c_th2d_getticklength 
+  :: (Ptr RawTH2D) -> CString -> IO CDouble
+foreign import ccall "HROOT.h TH2D_GetBarOffset" c_th2d_getbaroffset 
+  :: (Ptr RawTH2D) -> IO CDouble
+foreign import ccall "HROOT.h TH2D_GetBarWidth" c_th2d_getbarwidth 
+  :: (Ptr RawTH2D) -> IO CDouble
+foreign import ccall "HROOT.h TH2D_GetContour" c_th2d_getcontour 
+  :: (Ptr RawTH2D) -> (Ptr CDouble) -> IO CInt
+foreign import ccall "HROOT.h TH2D_GetContourLevel" c_th2d_getcontourlevel 
+  :: (Ptr RawTH2D) -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH2D_GetContourLevelPad" c_th2d_getcontourlevelpad 
+  :: (Ptr RawTH2D) -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH2D_GetBin" c_th2d_getbin 
+  :: (Ptr RawTH2D) -> CInt -> CInt -> CInt -> IO CInt
+foreign import ccall "HROOT.h TH2D_GetBinCenter" c_th2d_getbincenter 
+  :: (Ptr RawTH2D) -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH2D_GetBinContent1" c_th2d_getbincontent1 
+  :: (Ptr RawTH2D) -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH2D_GetBinContent2" c_th2d_getbincontent2 
+  :: (Ptr RawTH2D) -> CInt -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH2D_GetBinContent3" c_th2d_getbincontent3 
+  :: (Ptr RawTH2D) -> CInt -> CInt -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH2D_GetBinError1" c_th2d_getbinerror1 
+  :: (Ptr RawTH2D) -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH2D_GetBinError2" c_th2d_getbinerror2 
+  :: (Ptr RawTH2D) -> CInt -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH2D_GetBinError3" c_th2d_getbinerror3 
+  :: (Ptr RawTH2D) -> CInt -> CInt -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH2D_GetBinLowEdge" c_th2d_getbinlowedge 
+  :: (Ptr RawTH2D) -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH2D_GetBinWidth" c_th2d_getbinwidth 
+  :: (Ptr RawTH2D) -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH2D_GetCellContent" c_th2d_getcellcontent 
+  :: (Ptr RawTH2D) -> CInt -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH2D_GetCellError" c_th2d_getcellerror 
+  :: (Ptr RawTH2D) -> CInt -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH2D_SetTitle" c_th2d_settitle 
+  :: (Ptr RawTH2D) -> CString -> IO ()
+foreign import ccall "HROOT.h TH2D_SetLineColor" c_th2d_setlinecolor 
+  :: (Ptr RawTH2D) -> CInt -> IO ()
+foreign import ccall "HROOT.h TH2D_SetFillColor" c_th2d_setfillcolor 
+  :: (Ptr RawTH2D) -> CInt -> IO ()
+foreign import ccall "HROOT.h TH2D_SetFillStyle" c_th2d_setfillstyle 
+  :: (Ptr RawTH2D) -> CInt -> IO ()
+foreign import ccall "HROOT.h TH2D_GetName" c_th2d_getname 
+  :: (Ptr RawTH2D) -> IO CString
+foreign import ccall "HROOT.h TH2D_Draw" c_th2d_draw 
+  :: (Ptr RawTH2D) -> CString -> IO ()
+foreign import ccall "HROOT.h TH2D_FindObject" c_th2d_findobject 
+  :: (Ptr RawTH2D) -> CString -> IO (Ptr RawTObject)
+foreign import ccall "HROOT.h TH2D_SaveAs" c_th2d_saveas 
+  :: (Ptr RawTH2D) -> CString -> CString -> IO ()
+foreign import ccall "HROOT.h TH2D_Write" c_th2d_write 
+  :: (Ptr RawTH2D) -> CString -> CInt -> CInt -> IO CInt
+foreign import ccall "HROOT.h TH2D_delete" c_th2d_delete 
+  :: (Ptr RawTH2D) -> IO ()
+
+foreign import ccall "HROOT.h TH2F_fill2" c_th2f_fill2 
+  :: (Ptr RawTH2F) -> CDouble -> CDouble -> IO CInt
+foreign import ccall "HROOT.h TH2F_Add" c_th2f_add 
+  :: (Ptr RawTH2F) -> (Ptr RawTH1) -> CDouble -> IO ()
+foreign import ccall "HROOT.h TH2F_AddBinContent" c_th2f_addbincontent 
+  :: (Ptr RawTH2F) -> CInt -> CDouble -> IO ()
+foreign import ccall "HROOT.h TH2F_Chi2Test" c_th2f_chi2test 
+  :: (Ptr RawTH2F) -> (Ptr RawTH1) -> CString -> (Ptr CDouble) -> IO CDouble
+foreign import ccall "HROOT.h TH2F_ComputeIntegral" c_th2f_computeintegral 
+  :: (Ptr RawTH2F) -> IO CDouble
+foreign import ccall "HROOT.h TH2F_DirectoryAutoAdd" c_th2f_directoryautoadd 
+  :: (Ptr RawTH2F) -> (Ptr RawTDirectory) -> IO ()
+foreign import ccall "HROOT.h TH2F_DistancetoPrimitive" c_th2f_distancetoprimitive 
+  :: (Ptr RawTH2F) -> CInt -> CInt -> IO CInt
+foreign import ccall "HROOT.h TH2F_Divide" c_th2f_divide 
+  :: (Ptr RawTH2F) -> (Ptr RawTH1) -> (Ptr RawTH2) -> CDouble -> CDouble -> CString -> IO ()
+foreign import ccall "HROOT.h TH2F_DrawCopy" c_th2f_drawcopy 
+  :: (Ptr RawTH2F) -> CString -> IO (Ptr RawTH2F)
+foreign import ccall "HROOT.h TH2F_DrawNormalized" c_th2f_drawnormalized 
+  :: (Ptr RawTH2F) -> CString -> CDouble -> IO (Ptr RawTH1)
+foreign import ccall "HROOT.h TH2F_DrawPanel" c_th2f_drawpanel 
+  :: (Ptr RawTH2F) -> IO ()
+foreign import ccall "HROOT.h TH2F_BufferEmpty" c_th2f_bufferempty 
+  :: (Ptr RawTH2F) -> CInt -> IO CInt
+foreign import ccall "HROOT.h TH2F_Eval" c_th2f_eval 
+  :: (Ptr RawTH2F) -> (Ptr RawTF1) -> CString -> IO ()
+foreign import ccall "HROOT.h TH2F_ExecuteEvent" c_th2f_executeevent 
+  :: (Ptr RawTH2F) -> CInt -> CInt -> CInt -> IO ()
+foreign import ccall "HROOT.h TH2F_FFT" c_th2f_fft 
+  :: (Ptr RawTH2F) -> (Ptr RawTH1) -> CString -> IO (Ptr RawTH1)
+foreign import ccall "HROOT.h TH2F_fill1" c_th2f_fill1 
+  :: (Ptr RawTH2F) -> CDouble -> IO CInt
+foreign import ccall "HROOT.h TH2F_FillN" c_th2f_filln 
+  :: (Ptr RawTH2F) -> CInt -> (Ptr CDouble) -> (Ptr CDouble) -> CInt -> IO ()
+foreign import ccall "HROOT.h TH2F_FillRandom" c_th2f_fillrandom 
+  :: (Ptr RawTH2F) -> (Ptr RawTH1) -> CInt -> IO ()
+foreign import ccall "HROOT.h TH2F_FindBin" c_th2f_findbin 
+  :: (Ptr RawTH2F) -> CDouble -> CDouble -> CDouble -> IO CInt
+foreign import ccall "HROOT.h TH2F_FindFixBin" c_th2f_findfixbin 
+  :: (Ptr RawTH2F) -> CDouble -> CDouble -> CDouble -> IO CInt
+foreign import ccall "HROOT.h TH2F_FindFirstBinAbove" c_th2f_findfirstbinabove 
+  :: (Ptr RawTH2F) -> CDouble -> CInt -> IO CInt
+foreign import ccall "HROOT.h TH2F_FindLastBinAbove" c_th2f_findlastbinabove 
+  :: (Ptr RawTH2F) -> CDouble -> CInt -> IO CInt
+foreign import ccall "HROOT.h TH2F_FitPanel" c_th2f_fitpanel 
+  :: (Ptr RawTH2F) -> IO ()
+foreign import ccall "HROOT.h TH2F_GetNdivisions" c_th2f_getndivisions 
+  :: (Ptr RawTH2F) -> CString -> IO CInt
+foreign import ccall "HROOT.h TH2F_GetAxisColor" c_th2f_getaxiscolor 
+  :: (Ptr RawTH2F) -> CString -> IO CInt
+foreign import ccall "HROOT.h TH2F_GetLabelColor" c_th2f_getlabelcolor 
+  :: (Ptr RawTH2F) -> CString -> IO CInt
+foreign import ccall "HROOT.h TH2F_GetLabelFont" c_th2f_getlabelfont 
+  :: (Ptr RawTH2F) -> CString -> IO CInt
+foreign import ccall "HROOT.h TH2F_GetLabelOffset" c_th2f_getlabeloffset 
+  :: (Ptr RawTH2F) -> CString -> IO CDouble
+foreign import ccall "HROOT.h TH2F_GetLabelSize" c_th2f_getlabelsize 
+  :: (Ptr RawTH2F) -> CString -> IO CDouble
+foreign import ccall "HROOT.h TH2F_GetTitleFont" c_th2f_gettitlefont 
+  :: (Ptr RawTH2F) -> CString -> IO CInt
+foreign import ccall "HROOT.h TH2F_GetTitleOffset" c_th2f_gettitleoffset 
+  :: (Ptr RawTH2F) -> CString -> IO CDouble
+foreign import ccall "HROOT.h TH2F_GetTitleSize" c_th2f_gettitlesize 
+  :: (Ptr RawTH2F) -> CString -> IO CDouble
+foreign import ccall "HROOT.h TH2F_GetTickLength" c_th2f_getticklength 
+  :: (Ptr RawTH2F) -> CString -> IO CDouble
+foreign import ccall "HROOT.h TH2F_GetBarOffset" c_th2f_getbaroffset 
+  :: (Ptr RawTH2F) -> IO CDouble
+foreign import ccall "HROOT.h TH2F_GetBarWidth" c_th2f_getbarwidth 
+  :: (Ptr RawTH2F) -> IO CDouble
+foreign import ccall "HROOT.h TH2F_GetContour" c_th2f_getcontour 
+  :: (Ptr RawTH2F) -> (Ptr CDouble) -> IO CInt
+foreign import ccall "HROOT.h TH2F_GetContourLevel" c_th2f_getcontourlevel 
+  :: (Ptr RawTH2F) -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH2F_GetContourLevelPad" c_th2f_getcontourlevelpad 
+  :: (Ptr RawTH2F) -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH2F_GetBin" c_th2f_getbin 
+  :: (Ptr RawTH2F) -> CInt -> CInt -> CInt -> IO CInt
+foreign import ccall "HROOT.h TH2F_GetBinCenter" c_th2f_getbincenter 
+  :: (Ptr RawTH2F) -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH2F_GetBinContent1" c_th2f_getbincontent1 
+  :: (Ptr RawTH2F) -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH2F_GetBinContent2" c_th2f_getbincontent2 
+  :: (Ptr RawTH2F) -> CInt -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH2F_GetBinContent3" c_th2f_getbincontent3 
+  :: (Ptr RawTH2F) -> CInt -> CInt -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH2F_GetBinError1" c_th2f_getbinerror1 
+  :: (Ptr RawTH2F) -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH2F_GetBinError2" c_th2f_getbinerror2 
+  :: (Ptr RawTH2F) -> CInt -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH2F_GetBinError3" c_th2f_getbinerror3 
+  :: (Ptr RawTH2F) -> CInt -> CInt -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH2F_GetBinLowEdge" c_th2f_getbinlowedge 
+  :: (Ptr RawTH2F) -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH2F_GetBinWidth" c_th2f_getbinwidth 
+  :: (Ptr RawTH2F) -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH2F_GetCellContent" c_th2f_getcellcontent 
+  :: (Ptr RawTH2F) -> CInt -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH2F_GetCellError" c_th2f_getcellerror 
+  :: (Ptr RawTH2F) -> CInt -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH2F_SetTitle" c_th2f_settitle 
+  :: (Ptr RawTH2F) -> CString -> IO ()
+foreign import ccall "HROOT.h TH2F_SetLineColor" c_th2f_setlinecolor 
+  :: (Ptr RawTH2F) -> CInt -> IO ()
+foreign import ccall "HROOT.h TH2F_SetFillColor" c_th2f_setfillcolor 
+  :: (Ptr RawTH2F) -> CInt -> IO ()
+foreign import ccall "HROOT.h TH2F_SetFillStyle" c_th2f_setfillstyle 
+  :: (Ptr RawTH2F) -> CInt -> IO ()
+foreign import ccall "HROOT.h TH2F_GetName" c_th2f_getname 
+  :: (Ptr RawTH2F) -> IO CString
+foreign import ccall "HROOT.h TH2F_Draw" c_th2f_draw 
+  :: (Ptr RawTH2F) -> CString -> IO ()
+foreign import ccall "HROOT.h TH2F_FindObject" c_th2f_findobject 
+  :: (Ptr RawTH2F) -> CString -> IO (Ptr RawTObject)
+foreign import ccall "HROOT.h TH2F_SaveAs" c_th2f_saveas 
+  :: (Ptr RawTH2F) -> CString -> CString -> IO ()
+foreign import ccall "HROOT.h TH2F_Write" c_th2f_write 
+  :: (Ptr RawTH2F) -> CString -> CInt -> CInt -> IO CInt
+foreign import ccall "HROOT.h TH2F_delete" c_th2f_delete 
+  :: (Ptr RawTH2F) -> IO ()
+foreign import ccall "HROOT.h TH2F_newTH2F" c_th2f_newth2f 
+  :: CString -> CString -> CInt -> CDouble -> CDouble -> CInt -> CDouble -> CDouble -> IO (Ptr RawTH2F)
+
+foreign import ccall "HROOT.h TH2I_fill2" c_th2i_fill2 
+  :: (Ptr RawTH2I) -> CDouble -> CDouble -> IO CInt
+foreign import ccall "HROOT.h TH2I_Add" c_th2i_add 
+  :: (Ptr RawTH2I) -> (Ptr RawTH1) -> CDouble -> IO ()
+foreign import ccall "HROOT.h TH2I_AddBinContent" c_th2i_addbincontent 
+  :: (Ptr RawTH2I) -> CInt -> CDouble -> IO ()
+foreign import ccall "HROOT.h TH2I_Chi2Test" c_th2i_chi2test 
+  :: (Ptr RawTH2I) -> (Ptr RawTH1) -> CString -> (Ptr CDouble) -> IO CDouble
+foreign import ccall "HROOT.h TH2I_ComputeIntegral" c_th2i_computeintegral 
+  :: (Ptr RawTH2I) -> IO CDouble
+foreign import ccall "HROOT.h TH2I_DirectoryAutoAdd" c_th2i_directoryautoadd 
+  :: (Ptr RawTH2I) -> (Ptr RawTDirectory) -> IO ()
+foreign import ccall "HROOT.h TH2I_DistancetoPrimitive" c_th2i_distancetoprimitive 
+  :: (Ptr RawTH2I) -> CInt -> CInt -> IO CInt
+foreign import ccall "HROOT.h TH2I_Divide" c_th2i_divide 
+  :: (Ptr RawTH2I) -> (Ptr RawTH1) -> (Ptr RawTH2) -> CDouble -> CDouble -> CString -> IO ()
+foreign import ccall "HROOT.h TH2I_DrawCopy" c_th2i_drawcopy 
+  :: (Ptr RawTH2I) -> CString -> IO (Ptr RawTH2I)
+foreign import ccall "HROOT.h TH2I_DrawNormalized" c_th2i_drawnormalized 
+  :: (Ptr RawTH2I) -> CString -> CDouble -> IO (Ptr RawTH1)
+foreign import ccall "HROOT.h TH2I_DrawPanel" c_th2i_drawpanel 
+  :: (Ptr RawTH2I) -> IO ()
+foreign import ccall "HROOT.h TH2I_BufferEmpty" c_th2i_bufferempty 
+  :: (Ptr RawTH2I) -> CInt -> IO CInt
+foreign import ccall "HROOT.h TH2I_Eval" c_th2i_eval 
+  :: (Ptr RawTH2I) -> (Ptr RawTF1) -> CString -> IO ()
+foreign import ccall "HROOT.h TH2I_ExecuteEvent" c_th2i_executeevent 
+  :: (Ptr RawTH2I) -> CInt -> CInt -> CInt -> IO ()
+foreign import ccall "HROOT.h TH2I_FFT" c_th2i_fft 
+  :: (Ptr RawTH2I) -> (Ptr RawTH1) -> CString -> IO (Ptr RawTH1)
+foreign import ccall "HROOT.h TH2I_fill1" c_th2i_fill1 
+  :: (Ptr RawTH2I) -> CDouble -> IO CInt
+foreign import ccall "HROOT.h TH2I_FillN" c_th2i_filln 
+  :: (Ptr RawTH2I) -> CInt -> (Ptr CDouble) -> (Ptr CDouble) -> CInt -> IO ()
+foreign import ccall "HROOT.h TH2I_FillRandom" c_th2i_fillrandom 
+  :: (Ptr RawTH2I) -> (Ptr RawTH1) -> CInt -> IO ()
+foreign import ccall "HROOT.h TH2I_FindBin" c_th2i_findbin 
+  :: (Ptr RawTH2I) -> CDouble -> CDouble -> CDouble -> IO CInt
+foreign import ccall "HROOT.h TH2I_FindFixBin" c_th2i_findfixbin 
+  :: (Ptr RawTH2I) -> CDouble -> CDouble -> CDouble -> IO CInt
+foreign import ccall "HROOT.h TH2I_FindFirstBinAbove" c_th2i_findfirstbinabove 
+  :: (Ptr RawTH2I) -> CDouble -> CInt -> IO CInt
+foreign import ccall "HROOT.h TH2I_FindLastBinAbove" c_th2i_findlastbinabove 
+  :: (Ptr RawTH2I) -> CDouble -> CInt -> IO CInt
+foreign import ccall "HROOT.h TH2I_FitPanel" c_th2i_fitpanel 
+  :: (Ptr RawTH2I) -> IO ()
+foreign import ccall "HROOT.h TH2I_GetNdivisions" c_th2i_getndivisions 
+  :: (Ptr RawTH2I) -> CString -> IO CInt
+foreign import ccall "HROOT.h TH2I_GetAxisColor" c_th2i_getaxiscolor 
+  :: (Ptr RawTH2I) -> CString -> IO CInt
+foreign import ccall "HROOT.h TH2I_GetLabelColor" c_th2i_getlabelcolor 
+  :: (Ptr RawTH2I) -> CString -> IO CInt
+foreign import ccall "HROOT.h TH2I_GetLabelFont" c_th2i_getlabelfont 
+  :: (Ptr RawTH2I) -> CString -> IO CInt
+foreign import ccall "HROOT.h TH2I_GetLabelOffset" c_th2i_getlabeloffset 
+  :: (Ptr RawTH2I) -> CString -> IO CDouble
+foreign import ccall "HROOT.h TH2I_GetLabelSize" c_th2i_getlabelsize 
+  :: (Ptr RawTH2I) -> CString -> IO CDouble
+foreign import ccall "HROOT.h TH2I_GetTitleFont" c_th2i_gettitlefont 
+  :: (Ptr RawTH2I) -> CString -> IO CInt
+foreign import ccall "HROOT.h TH2I_GetTitleOffset" c_th2i_gettitleoffset 
+  :: (Ptr RawTH2I) -> CString -> IO CDouble
+foreign import ccall "HROOT.h TH2I_GetTitleSize" c_th2i_gettitlesize 
+  :: (Ptr RawTH2I) -> CString -> IO CDouble
+foreign import ccall "HROOT.h TH2I_GetTickLength" c_th2i_getticklength 
+  :: (Ptr RawTH2I) -> CString -> IO CDouble
+foreign import ccall "HROOT.h TH2I_GetBarOffset" c_th2i_getbaroffset 
+  :: (Ptr RawTH2I) -> IO CDouble
+foreign import ccall "HROOT.h TH2I_GetBarWidth" c_th2i_getbarwidth 
+  :: (Ptr RawTH2I) -> IO CDouble
+foreign import ccall "HROOT.h TH2I_GetContour" c_th2i_getcontour 
+  :: (Ptr RawTH2I) -> (Ptr CDouble) -> IO CInt
+foreign import ccall "HROOT.h TH2I_GetContourLevel" c_th2i_getcontourlevel 
+  :: (Ptr RawTH2I) -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH2I_GetContourLevelPad" c_th2i_getcontourlevelpad 
+  :: (Ptr RawTH2I) -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH2I_GetBin" c_th2i_getbin 
+  :: (Ptr RawTH2I) -> CInt -> CInt -> CInt -> IO CInt
+foreign import ccall "HROOT.h TH2I_GetBinCenter" c_th2i_getbincenter 
+  :: (Ptr RawTH2I) -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH2I_GetBinContent1" c_th2i_getbincontent1 
+  :: (Ptr RawTH2I) -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH2I_GetBinContent2" c_th2i_getbincontent2 
+  :: (Ptr RawTH2I) -> CInt -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH2I_GetBinContent3" c_th2i_getbincontent3 
+  :: (Ptr RawTH2I) -> CInt -> CInt -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH2I_GetBinError1" c_th2i_getbinerror1 
+  :: (Ptr RawTH2I) -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH2I_GetBinError2" c_th2i_getbinerror2 
+  :: (Ptr RawTH2I) -> CInt -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH2I_GetBinError3" c_th2i_getbinerror3 
+  :: (Ptr RawTH2I) -> CInt -> CInt -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH2I_GetBinLowEdge" c_th2i_getbinlowedge 
+  :: (Ptr RawTH2I) -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH2I_GetBinWidth" c_th2i_getbinwidth 
+  :: (Ptr RawTH2I) -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH2I_GetCellContent" c_th2i_getcellcontent 
+  :: (Ptr RawTH2I) -> CInt -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH2I_GetCellError" c_th2i_getcellerror 
+  :: (Ptr RawTH2I) -> CInt -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH2I_SetTitle" c_th2i_settitle 
+  :: (Ptr RawTH2I) -> CString -> IO ()
+foreign import ccall "HROOT.h TH2I_SetLineColor" c_th2i_setlinecolor 
+  :: (Ptr RawTH2I) -> CInt -> IO ()
+foreign import ccall "HROOT.h TH2I_SetFillColor" c_th2i_setfillcolor 
+  :: (Ptr RawTH2I) -> CInt -> IO ()
+foreign import ccall "HROOT.h TH2I_SetFillStyle" c_th2i_setfillstyle 
+  :: (Ptr RawTH2I) -> CInt -> IO ()
+foreign import ccall "HROOT.h TH2I_GetName" c_th2i_getname 
+  :: (Ptr RawTH2I) -> IO CString
+foreign import ccall "HROOT.h TH2I_Draw" c_th2i_draw 
+  :: (Ptr RawTH2I) -> CString -> IO ()
+foreign import ccall "HROOT.h TH2I_FindObject" c_th2i_findobject 
+  :: (Ptr RawTH2I) -> CString -> IO (Ptr RawTObject)
+foreign import ccall "HROOT.h TH2I_SaveAs" c_th2i_saveas 
+  :: (Ptr RawTH2I) -> CString -> CString -> IO ()
+foreign import ccall "HROOT.h TH2I_Write" c_th2i_write 
+  :: (Ptr RawTH2I) -> CString -> CInt -> CInt -> IO CInt
+foreign import ccall "HROOT.h TH2I_delete" c_th2i_delete 
+  :: (Ptr RawTH2I) -> IO ()
+
+foreign import ccall "HROOT.h TH2Poly_fill2" c_th2poly_fill2 
+  :: (Ptr RawTH2Poly) -> CDouble -> CDouble -> IO CInt
+foreign import ccall "HROOT.h TH2Poly_Add" c_th2poly_add 
+  :: (Ptr RawTH2Poly) -> (Ptr RawTH1) -> CDouble -> IO ()
+foreign import ccall "HROOT.h TH2Poly_AddBinContent" c_th2poly_addbincontent 
+  :: (Ptr RawTH2Poly) -> CInt -> CDouble -> IO ()
+foreign import ccall "HROOT.h TH2Poly_Chi2Test" c_th2poly_chi2test 
+  :: (Ptr RawTH2Poly) -> (Ptr RawTH1) -> CString -> (Ptr CDouble) -> IO CDouble
+foreign import ccall "HROOT.h TH2Poly_ComputeIntegral" c_th2poly_computeintegral 
+  :: (Ptr RawTH2Poly) -> IO CDouble
+foreign import ccall "HROOT.h TH2Poly_DirectoryAutoAdd" c_th2poly_directoryautoadd 
+  :: (Ptr RawTH2Poly) -> (Ptr RawTDirectory) -> IO ()
+foreign import ccall "HROOT.h TH2Poly_DistancetoPrimitive" c_th2poly_distancetoprimitive 
+  :: (Ptr RawTH2Poly) -> CInt -> CInt -> IO CInt
+foreign import ccall "HROOT.h TH2Poly_Divide" c_th2poly_divide 
+  :: (Ptr RawTH2Poly) -> (Ptr RawTH1) -> (Ptr RawTH2) -> CDouble -> CDouble -> CString -> IO ()
+foreign import ccall "HROOT.h TH2Poly_DrawCopy" c_th2poly_drawcopy 
+  :: (Ptr RawTH2Poly) -> CString -> IO (Ptr RawTH2Poly)
+foreign import ccall "HROOT.h TH2Poly_DrawNormalized" c_th2poly_drawnormalized 
+  :: (Ptr RawTH2Poly) -> CString -> CDouble -> IO (Ptr RawTH1)
+foreign import ccall "HROOT.h TH2Poly_DrawPanel" c_th2poly_drawpanel 
+  :: (Ptr RawTH2Poly) -> IO ()
+foreign import ccall "HROOT.h TH2Poly_BufferEmpty" c_th2poly_bufferempty 
+  :: (Ptr RawTH2Poly) -> CInt -> IO CInt
+foreign import ccall "HROOT.h TH2Poly_Eval" c_th2poly_eval 
+  :: (Ptr RawTH2Poly) -> (Ptr RawTF1) -> CString -> IO ()
+foreign import ccall "HROOT.h TH2Poly_ExecuteEvent" c_th2poly_executeevent 
+  :: (Ptr RawTH2Poly) -> CInt -> CInt -> CInt -> IO ()
+foreign import ccall "HROOT.h TH2Poly_FFT" c_th2poly_fft 
+  :: (Ptr RawTH2Poly) -> (Ptr RawTH1) -> CString -> IO (Ptr RawTH1)
+foreign import ccall "HROOT.h TH2Poly_fill1" c_th2poly_fill1 
+  :: (Ptr RawTH2Poly) -> CDouble -> IO CInt
+foreign import ccall "HROOT.h TH2Poly_FillN" c_th2poly_filln 
+  :: (Ptr RawTH2Poly) -> CInt -> (Ptr CDouble) -> (Ptr CDouble) -> CInt -> IO ()
+foreign import ccall "HROOT.h TH2Poly_FillRandom" c_th2poly_fillrandom 
+  :: (Ptr RawTH2Poly) -> (Ptr RawTH1) -> CInt -> IO ()
+foreign import ccall "HROOT.h TH2Poly_FindBin" c_th2poly_findbin 
+  :: (Ptr RawTH2Poly) -> CDouble -> CDouble -> CDouble -> IO CInt
+foreign import ccall "HROOT.h TH2Poly_FindFixBin" c_th2poly_findfixbin 
+  :: (Ptr RawTH2Poly) -> CDouble -> CDouble -> CDouble -> IO CInt
+foreign import ccall "HROOT.h TH2Poly_FindFirstBinAbove" c_th2poly_findfirstbinabove 
+  :: (Ptr RawTH2Poly) -> CDouble -> CInt -> IO CInt
+foreign import ccall "HROOT.h TH2Poly_FindLastBinAbove" c_th2poly_findlastbinabove 
+  :: (Ptr RawTH2Poly) -> CDouble -> CInt -> IO CInt
+foreign import ccall "HROOT.h TH2Poly_FitPanel" c_th2poly_fitpanel 
+  :: (Ptr RawTH2Poly) -> IO ()
+foreign import ccall "HROOT.h TH2Poly_GetNdivisions" c_th2poly_getndivisions 
+  :: (Ptr RawTH2Poly) -> CString -> IO CInt
+foreign import ccall "HROOT.h TH2Poly_GetAxisColor" c_th2poly_getaxiscolor 
+  :: (Ptr RawTH2Poly) -> CString -> IO CInt
+foreign import ccall "HROOT.h TH2Poly_GetLabelColor" c_th2poly_getlabelcolor 
+  :: (Ptr RawTH2Poly) -> CString -> IO CInt
+foreign import ccall "HROOT.h TH2Poly_GetLabelFont" c_th2poly_getlabelfont 
+  :: (Ptr RawTH2Poly) -> CString -> IO CInt
+foreign import ccall "HROOT.h TH2Poly_GetLabelOffset" c_th2poly_getlabeloffset 
+  :: (Ptr RawTH2Poly) -> CString -> IO CDouble
+foreign import ccall "HROOT.h TH2Poly_GetLabelSize" c_th2poly_getlabelsize 
+  :: (Ptr RawTH2Poly) -> CString -> IO CDouble
+foreign import ccall "HROOT.h TH2Poly_GetTitleFont" c_th2poly_gettitlefont 
+  :: (Ptr RawTH2Poly) -> CString -> IO CInt
+foreign import ccall "HROOT.h TH2Poly_GetTitleOffset" c_th2poly_gettitleoffset 
+  :: (Ptr RawTH2Poly) -> CString -> IO CDouble
+foreign import ccall "HROOT.h TH2Poly_GetTitleSize" c_th2poly_gettitlesize 
+  :: (Ptr RawTH2Poly) -> CString -> IO CDouble
+foreign import ccall "HROOT.h TH2Poly_GetTickLength" c_th2poly_getticklength 
+  :: (Ptr RawTH2Poly) -> CString -> IO CDouble
+foreign import ccall "HROOT.h TH2Poly_GetBarOffset" c_th2poly_getbaroffset 
+  :: (Ptr RawTH2Poly) -> IO CDouble
+foreign import ccall "HROOT.h TH2Poly_GetBarWidth" c_th2poly_getbarwidth 
+  :: (Ptr RawTH2Poly) -> IO CDouble
+foreign import ccall "HROOT.h TH2Poly_GetContour" c_th2poly_getcontour 
+  :: (Ptr RawTH2Poly) -> (Ptr CDouble) -> IO CInt
+foreign import ccall "HROOT.h TH2Poly_GetContourLevel" c_th2poly_getcontourlevel 
+  :: (Ptr RawTH2Poly) -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH2Poly_GetContourLevelPad" c_th2poly_getcontourlevelpad 
+  :: (Ptr RawTH2Poly) -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH2Poly_GetBin" c_th2poly_getbin 
+  :: (Ptr RawTH2Poly) -> CInt -> CInt -> CInt -> IO CInt
+foreign import ccall "HROOT.h TH2Poly_GetBinCenter" c_th2poly_getbincenter 
+  :: (Ptr RawTH2Poly) -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH2Poly_GetBinContent1" c_th2poly_getbincontent1 
+  :: (Ptr RawTH2Poly) -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH2Poly_GetBinContent2" c_th2poly_getbincontent2 
+  :: (Ptr RawTH2Poly) -> CInt -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH2Poly_GetBinContent3" c_th2poly_getbincontent3 
+  :: (Ptr RawTH2Poly) -> CInt -> CInt -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH2Poly_GetBinError1" c_th2poly_getbinerror1 
+  :: (Ptr RawTH2Poly) -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH2Poly_GetBinError2" c_th2poly_getbinerror2 
+  :: (Ptr RawTH2Poly) -> CInt -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH2Poly_GetBinError3" c_th2poly_getbinerror3 
+  :: (Ptr RawTH2Poly) -> CInt -> CInt -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH2Poly_GetBinLowEdge" c_th2poly_getbinlowedge 
+  :: (Ptr RawTH2Poly) -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH2Poly_GetBinWidth" c_th2poly_getbinwidth 
+  :: (Ptr RawTH2Poly) -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH2Poly_GetCellContent" c_th2poly_getcellcontent 
+  :: (Ptr RawTH2Poly) -> CInt -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH2Poly_GetCellError" c_th2poly_getcellerror 
+  :: (Ptr RawTH2Poly) -> CInt -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH2Poly_SetTitle" c_th2poly_settitle 
+  :: (Ptr RawTH2Poly) -> CString -> IO ()
+foreign import ccall "HROOT.h TH2Poly_SetLineColor" c_th2poly_setlinecolor 
+  :: (Ptr RawTH2Poly) -> CInt -> IO ()
+foreign import ccall "HROOT.h TH2Poly_SetFillColor" c_th2poly_setfillcolor 
+  :: (Ptr RawTH2Poly) -> CInt -> IO ()
+foreign import ccall "HROOT.h TH2Poly_SetFillStyle" c_th2poly_setfillstyle 
+  :: (Ptr RawTH2Poly) -> CInt -> IO ()
+foreign import ccall "HROOT.h TH2Poly_GetName" c_th2poly_getname 
+  :: (Ptr RawTH2Poly) -> IO CString
+foreign import ccall "HROOT.h TH2Poly_Draw" c_th2poly_draw 
+  :: (Ptr RawTH2Poly) -> CString -> IO ()
+foreign import ccall "HROOT.h TH2Poly_FindObject" c_th2poly_findobject 
+  :: (Ptr RawTH2Poly) -> CString -> IO (Ptr RawTObject)
+foreign import ccall "HROOT.h TH2Poly_SaveAs" c_th2poly_saveas 
+  :: (Ptr RawTH2Poly) -> CString -> CString -> IO ()
+foreign import ccall "HROOT.h TH2Poly_Write" c_th2poly_write 
+  :: (Ptr RawTH2Poly) -> CString -> CInt -> CInt -> IO CInt
+foreign import ccall "HROOT.h TH2Poly_delete" c_th2poly_delete 
+  :: (Ptr RawTH2Poly) -> IO ()
+
+foreign import ccall "HROOT.h TH2S_fill2" c_th2s_fill2 
+  :: (Ptr RawTH2S) -> CDouble -> CDouble -> IO CInt
+foreign import ccall "HROOT.h TH2S_Add" c_th2s_add 
+  :: (Ptr RawTH2S) -> (Ptr RawTH1) -> CDouble -> IO ()
+foreign import ccall "HROOT.h TH2S_AddBinContent" c_th2s_addbincontent 
+  :: (Ptr RawTH2S) -> CInt -> CDouble -> IO ()
+foreign import ccall "HROOT.h TH2S_Chi2Test" c_th2s_chi2test 
+  :: (Ptr RawTH2S) -> (Ptr RawTH1) -> CString -> (Ptr CDouble) -> IO CDouble
+foreign import ccall "HROOT.h TH2S_ComputeIntegral" c_th2s_computeintegral 
+  :: (Ptr RawTH2S) -> IO CDouble
+foreign import ccall "HROOT.h TH2S_DirectoryAutoAdd" c_th2s_directoryautoadd 
+  :: (Ptr RawTH2S) -> (Ptr RawTDirectory) -> IO ()
+foreign import ccall "HROOT.h TH2S_DistancetoPrimitive" c_th2s_distancetoprimitive 
+  :: (Ptr RawTH2S) -> CInt -> CInt -> IO CInt
+foreign import ccall "HROOT.h TH2S_Divide" c_th2s_divide 
+  :: (Ptr RawTH2S) -> (Ptr RawTH1) -> (Ptr RawTH2) -> CDouble -> CDouble -> CString -> IO ()
+foreign import ccall "HROOT.h TH2S_DrawCopy" c_th2s_drawcopy 
+  :: (Ptr RawTH2S) -> CString -> IO (Ptr RawTH2S)
+foreign import ccall "HROOT.h TH2S_DrawNormalized" c_th2s_drawnormalized 
+  :: (Ptr RawTH2S) -> CString -> CDouble -> IO (Ptr RawTH1)
+foreign import ccall "HROOT.h TH2S_DrawPanel" c_th2s_drawpanel 
+  :: (Ptr RawTH2S) -> IO ()
+foreign import ccall "HROOT.h TH2S_BufferEmpty" c_th2s_bufferempty 
+  :: (Ptr RawTH2S) -> CInt -> IO CInt
+foreign import ccall "HROOT.h TH2S_Eval" c_th2s_eval 
+  :: (Ptr RawTH2S) -> (Ptr RawTF1) -> CString -> IO ()
+foreign import ccall "HROOT.h TH2S_ExecuteEvent" c_th2s_executeevent 
+  :: (Ptr RawTH2S) -> CInt -> CInt -> CInt -> IO ()
+foreign import ccall "HROOT.h TH2S_FFT" c_th2s_fft 
+  :: (Ptr RawTH2S) -> (Ptr RawTH1) -> CString -> IO (Ptr RawTH1)
+foreign import ccall "HROOT.h TH2S_fill1" c_th2s_fill1 
+  :: (Ptr RawTH2S) -> CDouble -> IO CInt
+foreign import ccall "HROOT.h TH2S_FillN" c_th2s_filln 
+  :: (Ptr RawTH2S) -> CInt -> (Ptr CDouble) -> (Ptr CDouble) -> CInt -> IO ()
+foreign import ccall "HROOT.h TH2S_FillRandom" c_th2s_fillrandom 
+  :: (Ptr RawTH2S) -> (Ptr RawTH1) -> CInt -> IO ()
+foreign import ccall "HROOT.h TH2S_FindBin" c_th2s_findbin 
+  :: (Ptr RawTH2S) -> CDouble -> CDouble -> CDouble -> IO CInt
+foreign import ccall "HROOT.h TH2S_FindFixBin" c_th2s_findfixbin 
+  :: (Ptr RawTH2S) -> CDouble -> CDouble -> CDouble -> IO CInt
+foreign import ccall "HROOT.h TH2S_FindFirstBinAbove" c_th2s_findfirstbinabove 
+  :: (Ptr RawTH2S) -> CDouble -> CInt -> IO CInt
+foreign import ccall "HROOT.h TH2S_FindLastBinAbove" c_th2s_findlastbinabove 
+  :: (Ptr RawTH2S) -> CDouble -> CInt -> IO CInt
+foreign import ccall "HROOT.h TH2S_FitPanel" c_th2s_fitpanel 
+  :: (Ptr RawTH2S) -> IO ()
+foreign import ccall "HROOT.h TH2S_GetNdivisions" c_th2s_getndivisions 
+  :: (Ptr RawTH2S) -> CString -> IO CInt
+foreign import ccall "HROOT.h TH2S_GetAxisColor" c_th2s_getaxiscolor 
+  :: (Ptr RawTH2S) -> CString -> IO CInt
+foreign import ccall "HROOT.h TH2S_GetLabelColor" c_th2s_getlabelcolor 
+  :: (Ptr RawTH2S) -> CString -> IO CInt
+foreign import ccall "HROOT.h TH2S_GetLabelFont" c_th2s_getlabelfont 
+  :: (Ptr RawTH2S) -> CString -> IO CInt
+foreign import ccall "HROOT.h TH2S_GetLabelOffset" c_th2s_getlabeloffset 
+  :: (Ptr RawTH2S) -> CString -> IO CDouble
+foreign import ccall "HROOT.h TH2S_GetLabelSize" c_th2s_getlabelsize 
+  :: (Ptr RawTH2S) -> CString -> IO CDouble
+foreign import ccall "HROOT.h TH2S_GetTitleFont" c_th2s_gettitlefont 
+  :: (Ptr RawTH2S) -> CString -> IO CInt
+foreign import ccall "HROOT.h TH2S_GetTitleOffset" c_th2s_gettitleoffset 
+  :: (Ptr RawTH2S) -> CString -> IO CDouble
+foreign import ccall "HROOT.h TH2S_GetTitleSize" c_th2s_gettitlesize 
+  :: (Ptr RawTH2S) -> CString -> IO CDouble
+foreign import ccall "HROOT.h TH2S_GetTickLength" c_th2s_getticklength 
+  :: (Ptr RawTH2S) -> CString -> IO CDouble
+foreign import ccall "HROOT.h TH2S_GetBarOffset" c_th2s_getbaroffset 
+  :: (Ptr RawTH2S) -> IO CDouble
+foreign import ccall "HROOT.h TH2S_GetBarWidth" c_th2s_getbarwidth 
+  :: (Ptr RawTH2S) -> IO CDouble
+foreign import ccall "HROOT.h TH2S_GetContour" c_th2s_getcontour 
+  :: (Ptr RawTH2S) -> (Ptr CDouble) -> IO CInt
+foreign import ccall "HROOT.h TH2S_GetContourLevel" c_th2s_getcontourlevel 
+  :: (Ptr RawTH2S) -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH2S_GetContourLevelPad" c_th2s_getcontourlevelpad 
+  :: (Ptr RawTH2S) -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH2S_GetBin" c_th2s_getbin 
+  :: (Ptr RawTH2S) -> CInt -> CInt -> CInt -> IO CInt
+foreign import ccall "HROOT.h TH2S_GetBinCenter" c_th2s_getbincenter 
+  :: (Ptr RawTH2S) -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH2S_GetBinContent1" c_th2s_getbincontent1 
+  :: (Ptr RawTH2S) -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH2S_GetBinContent2" c_th2s_getbincontent2 
+  :: (Ptr RawTH2S) -> CInt -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH2S_GetBinContent3" c_th2s_getbincontent3 
+  :: (Ptr RawTH2S) -> CInt -> CInt -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH2S_GetBinError1" c_th2s_getbinerror1 
+  :: (Ptr RawTH2S) -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH2S_GetBinError2" c_th2s_getbinerror2 
+  :: (Ptr RawTH2S) -> CInt -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH2S_GetBinError3" c_th2s_getbinerror3 
+  :: (Ptr RawTH2S) -> CInt -> CInt -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH2S_GetBinLowEdge" c_th2s_getbinlowedge 
+  :: (Ptr RawTH2S) -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH2S_GetBinWidth" c_th2s_getbinwidth 
+  :: (Ptr RawTH2S) -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH2S_GetCellContent" c_th2s_getcellcontent 
+  :: (Ptr RawTH2S) -> CInt -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH2S_GetCellError" c_th2s_getcellerror 
+  :: (Ptr RawTH2S) -> CInt -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH2S_SetTitle" c_th2s_settitle 
+  :: (Ptr RawTH2S) -> CString -> IO ()
+foreign import ccall "HROOT.h TH2S_SetLineColor" c_th2s_setlinecolor 
+  :: (Ptr RawTH2S) -> CInt -> IO ()
+foreign import ccall "HROOT.h TH2S_SetFillColor" c_th2s_setfillcolor 
+  :: (Ptr RawTH2S) -> CInt -> IO ()
+foreign import ccall "HROOT.h TH2S_SetFillStyle" c_th2s_setfillstyle 
+  :: (Ptr RawTH2S) -> CInt -> IO ()
+foreign import ccall "HROOT.h TH2S_GetName" c_th2s_getname 
+  :: (Ptr RawTH2S) -> IO CString
+foreign import ccall "HROOT.h TH2S_Draw" c_th2s_draw 
+  :: (Ptr RawTH2S) -> CString -> IO ()
+foreign import ccall "HROOT.h TH2S_FindObject" c_th2s_findobject 
+  :: (Ptr RawTH2S) -> CString -> IO (Ptr RawTObject)
+foreign import ccall "HROOT.h TH2S_SaveAs" c_th2s_saveas 
+  :: (Ptr RawTH2S) -> CString -> CString -> IO ()
+foreign import ccall "HROOT.h TH2S_Write" c_th2s_write 
+  :: (Ptr RawTH2S) -> CString -> CInt -> CInt -> IO CInt
+foreign import ccall "HROOT.h TH2S_delete" c_th2s_delete 
+  :: (Ptr RawTH2S) -> IO ()
+
+foreign import ccall "HROOT.h TH3C_Add" c_th3c_add 
+  :: (Ptr RawTH3C) -> (Ptr RawTH1) -> CDouble -> IO ()
+foreign import ccall "HROOT.h TH3C_AddBinContent" c_th3c_addbincontent 
+  :: (Ptr RawTH3C) -> CInt -> CDouble -> IO ()
+foreign import ccall "HROOT.h TH3C_Chi2Test" c_th3c_chi2test 
+  :: (Ptr RawTH3C) -> (Ptr RawTH1) -> CString -> (Ptr CDouble) -> IO CDouble
+foreign import ccall "HROOT.h TH3C_ComputeIntegral" c_th3c_computeintegral 
+  :: (Ptr RawTH3C) -> IO CDouble
+foreign import ccall "HROOT.h TH3C_DirectoryAutoAdd" c_th3c_directoryautoadd 
+  :: (Ptr RawTH3C) -> (Ptr RawTDirectory) -> IO ()
+foreign import ccall "HROOT.h TH3C_DistancetoPrimitive" c_th3c_distancetoprimitive 
+  :: (Ptr RawTH3C) -> CInt -> CInt -> IO CInt
+foreign import ccall "HROOT.h TH3C_Divide" c_th3c_divide 
+  :: (Ptr RawTH3C) -> (Ptr RawTH1) -> (Ptr RawTH2) -> CDouble -> CDouble -> CString -> IO ()
+foreign import ccall "HROOT.h TH3C_DrawCopy" c_th3c_drawcopy 
+  :: (Ptr RawTH3C) -> CString -> IO (Ptr RawTH3C)
+foreign import ccall "HROOT.h TH3C_DrawNormalized" c_th3c_drawnormalized 
+  :: (Ptr RawTH3C) -> CString -> CDouble -> IO (Ptr RawTH1)
+foreign import ccall "HROOT.h TH3C_DrawPanel" c_th3c_drawpanel 
+  :: (Ptr RawTH3C) -> IO ()
+foreign import ccall "HROOT.h TH3C_BufferEmpty" c_th3c_bufferempty 
+  :: (Ptr RawTH3C) -> CInt -> IO CInt
+foreign import ccall "HROOT.h TH3C_Eval" c_th3c_eval 
+  :: (Ptr RawTH3C) -> (Ptr RawTF1) -> CString -> IO ()
+foreign import ccall "HROOT.h TH3C_ExecuteEvent" c_th3c_executeevent 
+  :: (Ptr RawTH3C) -> CInt -> CInt -> CInt -> IO ()
+foreign import ccall "HROOT.h TH3C_FFT" c_th3c_fft 
+  :: (Ptr RawTH3C) -> (Ptr RawTH1) -> CString -> IO (Ptr RawTH1)
+foreign import ccall "HROOT.h TH3C_fill1" c_th3c_fill1 
+  :: (Ptr RawTH3C) -> CDouble -> IO CInt
+foreign import ccall "HROOT.h TH3C_FillN" c_th3c_filln 
+  :: (Ptr RawTH3C) -> CInt -> (Ptr CDouble) -> (Ptr CDouble) -> CInt -> IO ()
+foreign import ccall "HROOT.h TH3C_FillRandom" c_th3c_fillrandom 
+  :: (Ptr RawTH3C) -> (Ptr RawTH1) -> CInt -> IO ()
+foreign import ccall "HROOT.h TH3C_FindBin" c_th3c_findbin 
+  :: (Ptr RawTH3C) -> CDouble -> CDouble -> CDouble -> IO CInt
+foreign import ccall "HROOT.h TH3C_FindFixBin" c_th3c_findfixbin 
+  :: (Ptr RawTH3C) -> CDouble -> CDouble -> CDouble -> IO CInt
+foreign import ccall "HROOT.h TH3C_FindFirstBinAbove" c_th3c_findfirstbinabove 
+  :: (Ptr RawTH3C) -> CDouble -> CInt -> IO CInt
+foreign import ccall "HROOT.h TH3C_FindLastBinAbove" c_th3c_findlastbinabove 
+  :: (Ptr RawTH3C) -> CDouble -> CInt -> IO CInt
+foreign import ccall "HROOT.h TH3C_FitPanel" c_th3c_fitpanel 
+  :: (Ptr RawTH3C) -> IO ()
+foreign import ccall "HROOT.h TH3C_GetNdivisions" c_th3c_getndivisions 
+  :: (Ptr RawTH3C) -> CString -> IO CInt
+foreign import ccall "HROOT.h TH3C_GetAxisColor" c_th3c_getaxiscolor 
+  :: (Ptr RawTH3C) -> CString -> IO CInt
+foreign import ccall "HROOT.h TH3C_GetLabelColor" c_th3c_getlabelcolor 
+  :: (Ptr RawTH3C) -> CString -> IO CInt
+foreign import ccall "HROOT.h TH3C_GetLabelFont" c_th3c_getlabelfont 
+  :: (Ptr RawTH3C) -> CString -> IO CInt
+foreign import ccall "HROOT.h TH3C_GetLabelOffset" c_th3c_getlabeloffset 
+  :: (Ptr RawTH3C) -> CString -> IO CDouble
+foreign import ccall "HROOT.h TH3C_GetLabelSize" c_th3c_getlabelsize 
+  :: (Ptr RawTH3C) -> CString -> IO CDouble
+foreign import ccall "HROOT.h TH3C_GetTitleFont" c_th3c_gettitlefont 
+  :: (Ptr RawTH3C) -> CString -> IO CInt
+foreign import ccall "HROOT.h TH3C_GetTitleOffset" c_th3c_gettitleoffset 
+  :: (Ptr RawTH3C) -> CString -> IO CDouble
+foreign import ccall "HROOT.h TH3C_GetTitleSize" c_th3c_gettitlesize 
+  :: (Ptr RawTH3C) -> CString -> IO CDouble
+foreign import ccall "HROOT.h TH3C_GetTickLength" c_th3c_getticklength 
+  :: (Ptr RawTH3C) -> CString -> IO CDouble
+foreign import ccall "HROOT.h TH3C_GetBarOffset" c_th3c_getbaroffset 
+  :: (Ptr RawTH3C) -> IO CDouble
+foreign import ccall "HROOT.h TH3C_GetBarWidth" c_th3c_getbarwidth 
+  :: (Ptr RawTH3C) -> IO CDouble
+foreign import ccall "HROOT.h TH3C_GetContour" c_th3c_getcontour 
+  :: (Ptr RawTH3C) -> (Ptr CDouble) -> IO CInt
+foreign import ccall "HROOT.h TH3C_GetContourLevel" c_th3c_getcontourlevel 
+  :: (Ptr RawTH3C) -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH3C_GetContourLevelPad" c_th3c_getcontourlevelpad 
+  :: (Ptr RawTH3C) -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH3C_GetBin" c_th3c_getbin 
+  :: (Ptr RawTH3C) -> CInt -> CInt -> CInt -> IO CInt
+foreign import ccall "HROOT.h TH3C_GetBinCenter" c_th3c_getbincenter 
+  :: (Ptr RawTH3C) -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH3C_GetBinContent1" c_th3c_getbincontent1 
+  :: (Ptr RawTH3C) -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH3C_GetBinContent2" c_th3c_getbincontent2 
+  :: (Ptr RawTH3C) -> CInt -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH3C_GetBinContent3" c_th3c_getbincontent3 
+  :: (Ptr RawTH3C) -> CInt -> CInt -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH3C_GetBinError1" c_th3c_getbinerror1 
+  :: (Ptr RawTH3C) -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH3C_GetBinError2" c_th3c_getbinerror2 
+  :: (Ptr RawTH3C) -> CInt -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH3C_GetBinError3" c_th3c_getbinerror3 
+  :: (Ptr RawTH3C) -> CInt -> CInt -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH3C_GetBinLowEdge" c_th3c_getbinlowedge 
+  :: (Ptr RawTH3C) -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH3C_GetBinWidth" c_th3c_getbinwidth 
+  :: (Ptr RawTH3C) -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH3C_GetCellContent" c_th3c_getcellcontent 
+  :: (Ptr RawTH3C) -> CInt -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH3C_GetCellError" c_th3c_getcellerror 
+  :: (Ptr RawTH3C) -> CInt -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH3C_SetTitle" c_th3c_settitle 
+  :: (Ptr RawTH3C) -> CString -> IO ()
+foreign import ccall "HROOT.h TH3C_SetLineColor" c_th3c_setlinecolor 
+  :: (Ptr RawTH3C) -> CInt -> IO ()
+foreign import ccall "HROOT.h TH3C_SetFillColor" c_th3c_setfillcolor 
+  :: (Ptr RawTH3C) -> CInt -> IO ()
+foreign import ccall "HROOT.h TH3C_SetFillStyle" c_th3c_setfillstyle 
+  :: (Ptr RawTH3C) -> CInt -> IO ()
+foreign import ccall "HROOT.h TH3C_GetName" c_th3c_getname 
+  :: (Ptr RawTH3C) -> IO CString
+foreign import ccall "HROOT.h TH3C_Draw" c_th3c_draw 
+  :: (Ptr RawTH3C) -> CString -> IO ()
+foreign import ccall "HROOT.h TH3C_FindObject" c_th3c_findobject 
+  :: (Ptr RawTH3C) -> CString -> IO (Ptr RawTObject)
+foreign import ccall "HROOT.h TH3C_SaveAs" c_th3c_saveas 
+  :: (Ptr RawTH3C) -> CString -> CString -> IO ()
+foreign import ccall "HROOT.h TH3C_Write" c_th3c_write 
+  :: (Ptr RawTH3C) -> CString -> CInt -> CInt -> IO CInt
+foreign import ccall "HROOT.h TH3C_delete" c_th3c_delete 
+  :: (Ptr RawTH3C) -> IO ()
+
+foreign import ccall "HROOT.h TH3D_Add" c_th3d_add 
+  :: (Ptr RawTH3D) -> (Ptr RawTH1) -> CDouble -> IO ()
+foreign import ccall "HROOT.h TH3D_AddBinContent" c_th3d_addbincontent 
+  :: (Ptr RawTH3D) -> CInt -> CDouble -> IO ()
+foreign import ccall "HROOT.h TH3D_Chi2Test" c_th3d_chi2test 
+  :: (Ptr RawTH3D) -> (Ptr RawTH1) -> CString -> (Ptr CDouble) -> IO CDouble
+foreign import ccall "HROOT.h TH3D_ComputeIntegral" c_th3d_computeintegral 
+  :: (Ptr RawTH3D) -> IO CDouble
+foreign import ccall "HROOT.h TH3D_DirectoryAutoAdd" c_th3d_directoryautoadd 
+  :: (Ptr RawTH3D) -> (Ptr RawTDirectory) -> IO ()
+foreign import ccall "HROOT.h TH3D_DistancetoPrimitive" c_th3d_distancetoprimitive 
+  :: (Ptr RawTH3D) -> CInt -> CInt -> IO CInt
+foreign import ccall "HROOT.h TH3D_Divide" c_th3d_divide 
+  :: (Ptr RawTH3D) -> (Ptr RawTH1) -> (Ptr RawTH2) -> CDouble -> CDouble -> CString -> IO ()
+foreign import ccall "HROOT.h TH3D_DrawCopy" c_th3d_drawcopy 
+  :: (Ptr RawTH3D) -> CString -> IO (Ptr RawTH3D)
+foreign import ccall "HROOT.h TH3D_DrawNormalized" c_th3d_drawnormalized 
+  :: (Ptr RawTH3D) -> CString -> CDouble -> IO (Ptr RawTH1)
+foreign import ccall "HROOT.h TH3D_DrawPanel" c_th3d_drawpanel 
+  :: (Ptr RawTH3D) -> IO ()
+foreign import ccall "HROOT.h TH3D_BufferEmpty" c_th3d_bufferempty 
+  :: (Ptr RawTH3D) -> CInt -> IO CInt
+foreign import ccall "HROOT.h TH3D_Eval" c_th3d_eval 
+  :: (Ptr RawTH3D) -> (Ptr RawTF1) -> CString -> IO ()
+foreign import ccall "HROOT.h TH3D_ExecuteEvent" c_th3d_executeevent 
+  :: (Ptr RawTH3D) -> CInt -> CInt -> CInt -> IO ()
+foreign import ccall "HROOT.h TH3D_FFT" c_th3d_fft 
+  :: (Ptr RawTH3D) -> (Ptr RawTH1) -> CString -> IO (Ptr RawTH1)
+foreign import ccall "HROOT.h TH3D_fill1" c_th3d_fill1 
+  :: (Ptr RawTH3D) -> CDouble -> IO CInt
+foreign import ccall "HROOT.h TH3D_FillN" c_th3d_filln 
+  :: (Ptr RawTH3D) -> CInt -> (Ptr CDouble) -> (Ptr CDouble) -> CInt -> IO ()
+foreign import ccall "HROOT.h TH3D_FillRandom" c_th3d_fillrandom 
+  :: (Ptr RawTH3D) -> (Ptr RawTH1) -> CInt -> IO ()
+foreign import ccall "HROOT.h TH3D_FindBin" c_th3d_findbin 
+  :: (Ptr RawTH3D) -> CDouble -> CDouble -> CDouble -> IO CInt
+foreign import ccall "HROOT.h TH3D_FindFixBin" c_th3d_findfixbin 
+  :: (Ptr RawTH3D) -> CDouble -> CDouble -> CDouble -> IO CInt
+foreign import ccall "HROOT.h TH3D_FindFirstBinAbove" c_th3d_findfirstbinabove 
+  :: (Ptr RawTH3D) -> CDouble -> CInt -> IO CInt
+foreign import ccall "HROOT.h TH3D_FindLastBinAbove" c_th3d_findlastbinabove 
+  :: (Ptr RawTH3D) -> CDouble -> CInt -> IO CInt
+foreign import ccall "HROOT.h TH3D_FitPanel" c_th3d_fitpanel 
+  :: (Ptr RawTH3D) -> IO ()
+foreign import ccall "HROOT.h TH3D_GetNdivisions" c_th3d_getndivisions 
+  :: (Ptr RawTH3D) -> CString -> IO CInt
+foreign import ccall "HROOT.h TH3D_GetAxisColor" c_th3d_getaxiscolor 
+  :: (Ptr RawTH3D) -> CString -> IO CInt
+foreign import ccall "HROOT.h TH3D_GetLabelColor" c_th3d_getlabelcolor 
+  :: (Ptr RawTH3D) -> CString -> IO CInt
+foreign import ccall "HROOT.h TH3D_GetLabelFont" c_th3d_getlabelfont 
+  :: (Ptr RawTH3D) -> CString -> IO CInt
+foreign import ccall "HROOT.h TH3D_GetLabelOffset" c_th3d_getlabeloffset 
+  :: (Ptr RawTH3D) -> CString -> IO CDouble
+foreign import ccall "HROOT.h TH3D_GetLabelSize" c_th3d_getlabelsize 
+  :: (Ptr RawTH3D) -> CString -> IO CDouble
+foreign import ccall "HROOT.h TH3D_GetTitleFont" c_th3d_gettitlefont 
+  :: (Ptr RawTH3D) -> CString -> IO CInt
+foreign import ccall "HROOT.h TH3D_GetTitleOffset" c_th3d_gettitleoffset 
+  :: (Ptr RawTH3D) -> CString -> IO CDouble
+foreign import ccall "HROOT.h TH3D_GetTitleSize" c_th3d_gettitlesize 
+  :: (Ptr RawTH3D) -> CString -> IO CDouble
+foreign import ccall "HROOT.h TH3D_GetTickLength" c_th3d_getticklength 
+  :: (Ptr RawTH3D) -> CString -> IO CDouble
+foreign import ccall "HROOT.h TH3D_GetBarOffset" c_th3d_getbaroffset 
+  :: (Ptr RawTH3D) -> IO CDouble
+foreign import ccall "HROOT.h TH3D_GetBarWidth" c_th3d_getbarwidth 
+  :: (Ptr RawTH3D) -> IO CDouble
+foreign import ccall "HROOT.h TH3D_GetContour" c_th3d_getcontour 
+  :: (Ptr RawTH3D) -> (Ptr CDouble) -> IO CInt
+foreign import ccall "HROOT.h TH3D_GetContourLevel" c_th3d_getcontourlevel 
+  :: (Ptr RawTH3D) -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH3D_GetContourLevelPad" c_th3d_getcontourlevelpad 
+  :: (Ptr RawTH3D) -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH3D_GetBin" c_th3d_getbin 
+  :: (Ptr RawTH3D) -> CInt -> CInt -> CInt -> IO CInt
+foreign import ccall "HROOT.h TH3D_GetBinCenter" c_th3d_getbincenter 
+  :: (Ptr RawTH3D) -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH3D_GetBinContent1" c_th3d_getbincontent1 
+  :: (Ptr RawTH3D) -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH3D_GetBinContent2" c_th3d_getbincontent2 
+  :: (Ptr RawTH3D) -> CInt -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH3D_GetBinContent3" c_th3d_getbincontent3 
+  :: (Ptr RawTH3D) -> CInt -> CInt -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH3D_GetBinError1" c_th3d_getbinerror1 
+  :: (Ptr RawTH3D) -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH3D_GetBinError2" c_th3d_getbinerror2 
+  :: (Ptr RawTH3D) -> CInt -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH3D_GetBinError3" c_th3d_getbinerror3 
+  :: (Ptr RawTH3D) -> CInt -> CInt -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH3D_GetBinLowEdge" c_th3d_getbinlowedge 
+  :: (Ptr RawTH3D) -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH3D_GetBinWidth" c_th3d_getbinwidth 
+  :: (Ptr RawTH3D) -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH3D_GetCellContent" c_th3d_getcellcontent 
+  :: (Ptr RawTH3D) -> CInt -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH3D_GetCellError" c_th3d_getcellerror 
+  :: (Ptr RawTH3D) -> CInt -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH3D_SetTitle" c_th3d_settitle 
+  :: (Ptr RawTH3D) -> CString -> IO ()
+foreign import ccall "HROOT.h TH3D_SetLineColor" c_th3d_setlinecolor 
+  :: (Ptr RawTH3D) -> CInt -> IO ()
+foreign import ccall "HROOT.h TH3D_SetFillColor" c_th3d_setfillcolor 
+  :: (Ptr RawTH3D) -> CInt -> IO ()
+foreign import ccall "HROOT.h TH3D_SetFillStyle" c_th3d_setfillstyle 
+  :: (Ptr RawTH3D) -> CInt -> IO ()
+foreign import ccall "HROOT.h TH3D_GetName" c_th3d_getname 
+  :: (Ptr RawTH3D) -> IO CString
+foreign import ccall "HROOT.h TH3D_Draw" c_th3d_draw 
+  :: (Ptr RawTH3D) -> CString -> IO ()
+foreign import ccall "HROOT.h TH3D_FindObject" c_th3d_findobject 
+  :: (Ptr RawTH3D) -> CString -> IO (Ptr RawTObject)
+foreign import ccall "HROOT.h TH3D_SaveAs" c_th3d_saveas 
+  :: (Ptr RawTH3D) -> CString -> CString -> IO ()
+foreign import ccall "HROOT.h TH3D_Write" c_th3d_write 
+  :: (Ptr RawTH3D) -> CString -> CInt -> CInt -> IO CInt
+foreign import ccall "HROOT.h TH3D_delete" c_th3d_delete 
+  :: (Ptr RawTH3D) -> IO ()
+
+foreign import ccall "HROOT.h TH3F_Add" c_th3f_add 
+  :: (Ptr RawTH3F) -> (Ptr RawTH1) -> CDouble -> IO ()
+foreign import ccall "HROOT.h TH3F_AddBinContent" c_th3f_addbincontent 
+  :: (Ptr RawTH3F) -> CInt -> CDouble -> IO ()
+foreign import ccall "HROOT.h TH3F_Chi2Test" c_th3f_chi2test 
+  :: (Ptr RawTH3F) -> (Ptr RawTH1) -> CString -> (Ptr CDouble) -> IO CDouble
+foreign import ccall "HROOT.h TH3F_ComputeIntegral" c_th3f_computeintegral 
+  :: (Ptr RawTH3F) -> IO CDouble
+foreign import ccall "HROOT.h TH3F_DirectoryAutoAdd" c_th3f_directoryautoadd 
+  :: (Ptr RawTH3F) -> (Ptr RawTDirectory) -> IO ()
+foreign import ccall "HROOT.h TH3F_DistancetoPrimitive" c_th3f_distancetoprimitive 
+  :: (Ptr RawTH3F) -> CInt -> CInt -> IO CInt
+foreign import ccall "HROOT.h TH3F_Divide" c_th3f_divide 
+  :: (Ptr RawTH3F) -> (Ptr RawTH1) -> (Ptr RawTH2) -> CDouble -> CDouble -> CString -> IO ()
+foreign import ccall "HROOT.h TH3F_DrawCopy" c_th3f_drawcopy 
+  :: (Ptr RawTH3F) -> CString -> IO (Ptr RawTH3F)
+foreign import ccall "HROOT.h TH3F_DrawNormalized" c_th3f_drawnormalized 
+  :: (Ptr RawTH3F) -> CString -> CDouble -> IO (Ptr RawTH1)
+foreign import ccall "HROOT.h TH3F_DrawPanel" c_th3f_drawpanel 
+  :: (Ptr RawTH3F) -> IO ()
+foreign import ccall "HROOT.h TH3F_BufferEmpty" c_th3f_bufferempty 
+  :: (Ptr RawTH3F) -> CInt -> IO CInt
+foreign import ccall "HROOT.h TH3F_Eval" c_th3f_eval 
+  :: (Ptr RawTH3F) -> (Ptr RawTF1) -> CString -> IO ()
+foreign import ccall "HROOT.h TH3F_ExecuteEvent" c_th3f_executeevent 
+  :: (Ptr RawTH3F) -> CInt -> CInt -> CInt -> IO ()
+foreign import ccall "HROOT.h TH3F_FFT" c_th3f_fft 
+  :: (Ptr RawTH3F) -> (Ptr RawTH1) -> CString -> IO (Ptr RawTH1)
+foreign import ccall "HROOT.h TH3F_fill1" c_th3f_fill1 
+  :: (Ptr RawTH3F) -> CDouble -> IO CInt
+foreign import ccall "HROOT.h TH3F_FillN" c_th3f_filln 
+  :: (Ptr RawTH3F) -> CInt -> (Ptr CDouble) -> (Ptr CDouble) -> CInt -> IO ()
+foreign import ccall "HROOT.h TH3F_FillRandom" c_th3f_fillrandom 
+  :: (Ptr RawTH3F) -> (Ptr RawTH1) -> CInt -> IO ()
+foreign import ccall "HROOT.h TH3F_FindBin" c_th3f_findbin 
+  :: (Ptr RawTH3F) -> CDouble -> CDouble -> CDouble -> IO CInt
+foreign import ccall "HROOT.h TH3F_FindFixBin" c_th3f_findfixbin 
+  :: (Ptr RawTH3F) -> CDouble -> CDouble -> CDouble -> IO CInt
+foreign import ccall "HROOT.h TH3F_FindFirstBinAbove" c_th3f_findfirstbinabove 
+  :: (Ptr RawTH3F) -> CDouble -> CInt -> IO CInt
+foreign import ccall "HROOT.h TH3F_FindLastBinAbove" c_th3f_findlastbinabove 
+  :: (Ptr RawTH3F) -> CDouble -> CInt -> IO CInt
+foreign import ccall "HROOT.h TH3F_FitPanel" c_th3f_fitpanel 
+  :: (Ptr RawTH3F) -> IO ()
+foreign import ccall "HROOT.h TH3F_GetNdivisions" c_th3f_getndivisions 
+  :: (Ptr RawTH3F) -> CString -> IO CInt
+foreign import ccall "HROOT.h TH3F_GetAxisColor" c_th3f_getaxiscolor 
+  :: (Ptr RawTH3F) -> CString -> IO CInt
+foreign import ccall "HROOT.h TH3F_GetLabelColor" c_th3f_getlabelcolor 
+  :: (Ptr RawTH3F) -> CString -> IO CInt
+foreign import ccall "HROOT.h TH3F_GetLabelFont" c_th3f_getlabelfont 
+  :: (Ptr RawTH3F) -> CString -> IO CInt
+foreign import ccall "HROOT.h TH3F_GetLabelOffset" c_th3f_getlabeloffset 
+  :: (Ptr RawTH3F) -> CString -> IO CDouble
+foreign import ccall "HROOT.h TH3F_GetLabelSize" c_th3f_getlabelsize 
+  :: (Ptr RawTH3F) -> CString -> IO CDouble
+foreign import ccall "HROOT.h TH3F_GetTitleFont" c_th3f_gettitlefont 
+  :: (Ptr RawTH3F) -> CString -> IO CInt
+foreign import ccall "HROOT.h TH3F_GetTitleOffset" c_th3f_gettitleoffset 
+  :: (Ptr RawTH3F) -> CString -> IO CDouble
+foreign import ccall "HROOT.h TH3F_GetTitleSize" c_th3f_gettitlesize 
+  :: (Ptr RawTH3F) -> CString -> IO CDouble
+foreign import ccall "HROOT.h TH3F_GetTickLength" c_th3f_getticklength 
+  :: (Ptr RawTH3F) -> CString -> IO CDouble
+foreign import ccall "HROOT.h TH3F_GetBarOffset" c_th3f_getbaroffset 
+  :: (Ptr RawTH3F) -> IO CDouble
+foreign import ccall "HROOT.h TH3F_GetBarWidth" c_th3f_getbarwidth 
+  :: (Ptr RawTH3F) -> IO CDouble
+foreign import ccall "HROOT.h TH3F_GetContour" c_th3f_getcontour 
+  :: (Ptr RawTH3F) -> (Ptr CDouble) -> IO CInt
+foreign import ccall "HROOT.h TH3F_GetContourLevel" c_th3f_getcontourlevel 
+  :: (Ptr RawTH3F) -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH3F_GetContourLevelPad" c_th3f_getcontourlevelpad 
+  :: (Ptr RawTH3F) -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH3F_GetBin" c_th3f_getbin 
+  :: (Ptr RawTH3F) -> CInt -> CInt -> CInt -> IO CInt
+foreign import ccall "HROOT.h TH3F_GetBinCenter" c_th3f_getbincenter 
+  :: (Ptr RawTH3F) -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH3F_GetBinContent1" c_th3f_getbincontent1 
+  :: (Ptr RawTH3F) -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH3F_GetBinContent2" c_th3f_getbincontent2 
+  :: (Ptr RawTH3F) -> CInt -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH3F_GetBinContent3" c_th3f_getbincontent3 
+  :: (Ptr RawTH3F) -> CInt -> CInt -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH3F_GetBinError1" c_th3f_getbinerror1 
+  :: (Ptr RawTH3F) -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH3F_GetBinError2" c_th3f_getbinerror2 
+  :: (Ptr RawTH3F) -> CInt -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH3F_GetBinError3" c_th3f_getbinerror3 
+  :: (Ptr RawTH3F) -> CInt -> CInt -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH3F_GetBinLowEdge" c_th3f_getbinlowedge 
+  :: (Ptr RawTH3F) -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH3F_GetBinWidth" c_th3f_getbinwidth 
+  :: (Ptr RawTH3F) -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH3F_GetCellContent" c_th3f_getcellcontent 
+  :: (Ptr RawTH3F) -> CInt -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH3F_GetCellError" c_th3f_getcellerror 
+  :: (Ptr RawTH3F) -> CInt -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH3F_SetTitle" c_th3f_settitle 
+  :: (Ptr RawTH3F) -> CString -> IO ()
+foreign import ccall "HROOT.h TH3F_SetLineColor" c_th3f_setlinecolor 
+  :: (Ptr RawTH3F) -> CInt -> IO ()
+foreign import ccall "HROOT.h TH3F_SetFillColor" c_th3f_setfillcolor 
+  :: (Ptr RawTH3F) -> CInt -> IO ()
+foreign import ccall "HROOT.h TH3F_SetFillStyle" c_th3f_setfillstyle 
+  :: (Ptr RawTH3F) -> CInt -> IO ()
+foreign import ccall "HROOT.h TH3F_GetName" c_th3f_getname 
+  :: (Ptr RawTH3F) -> IO CString
+foreign import ccall "HROOT.h TH3F_Draw" c_th3f_draw 
+  :: (Ptr RawTH3F) -> CString -> IO ()
+foreign import ccall "HROOT.h TH3F_FindObject" c_th3f_findobject 
+  :: (Ptr RawTH3F) -> CString -> IO (Ptr RawTObject)
+foreign import ccall "HROOT.h TH3F_SaveAs" c_th3f_saveas 
+  :: (Ptr RawTH3F) -> CString -> CString -> IO ()
+foreign import ccall "HROOT.h TH3F_Write" c_th3f_write 
+  :: (Ptr RawTH3F) -> CString -> CInt -> CInt -> IO CInt
+foreign import ccall "HROOT.h TH3F_delete" c_th3f_delete 
+  :: (Ptr RawTH3F) -> IO ()
+
+foreign import ccall "HROOT.h TH3I_Add" c_th3i_add 
+  :: (Ptr RawTH3I) -> (Ptr RawTH1) -> CDouble -> IO ()
+foreign import ccall "HROOT.h TH3I_AddBinContent" c_th3i_addbincontent 
+  :: (Ptr RawTH3I) -> CInt -> CDouble -> IO ()
+foreign import ccall "HROOT.h TH3I_Chi2Test" c_th3i_chi2test 
+  :: (Ptr RawTH3I) -> (Ptr RawTH1) -> CString -> (Ptr CDouble) -> IO CDouble
+foreign import ccall "HROOT.h TH3I_ComputeIntegral" c_th3i_computeintegral 
+  :: (Ptr RawTH3I) -> IO CDouble
+foreign import ccall "HROOT.h TH3I_DirectoryAutoAdd" c_th3i_directoryautoadd 
+  :: (Ptr RawTH3I) -> (Ptr RawTDirectory) -> IO ()
+foreign import ccall "HROOT.h TH3I_DistancetoPrimitive" c_th3i_distancetoprimitive 
+  :: (Ptr RawTH3I) -> CInt -> CInt -> IO CInt
+foreign import ccall "HROOT.h TH3I_Divide" c_th3i_divide 
+  :: (Ptr RawTH3I) -> (Ptr RawTH1) -> (Ptr RawTH2) -> CDouble -> CDouble -> CString -> IO ()
+foreign import ccall "HROOT.h TH3I_DrawCopy" c_th3i_drawcopy 
+  :: (Ptr RawTH3I) -> CString -> IO (Ptr RawTH3I)
+foreign import ccall "HROOT.h TH3I_DrawNormalized" c_th3i_drawnormalized 
+  :: (Ptr RawTH3I) -> CString -> CDouble -> IO (Ptr RawTH1)
+foreign import ccall "HROOT.h TH3I_DrawPanel" c_th3i_drawpanel 
+  :: (Ptr RawTH3I) -> IO ()
+foreign import ccall "HROOT.h TH3I_BufferEmpty" c_th3i_bufferempty 
+  :: (Ptr RawTH3I) -> CInt -> IO CInt
+foreign import ccall "HROOT.h TH3I_Eval" c_th3i_eval 
+  :: (Ptr RawTH3I) -> (Ptr RawTF1) -> CString -> IO ()
+foreign import ccall "HROOT.h TH3I_ExecuteEvent" c_th3i_executeevent 
+  :: (Ptr RawTH3I) -> CInt -> CInt -> CInt -> IO ()
+foreign import ccall "HROOT.h TH3I_FFT" c_th3i_fft 
+  :: (Ptr RawTH3I) -> (Ptr RawTH1) -> CString -> IO (Ptr RawTH1)
+foreign import ccall "HROOT.h TH3I_fill1" c_th3i_fill1 
+  :: (Ptr RawTH3I) -> CDouble -> IO CInt
+foreign import ccall "HROOT.h TH3I_FillN" c_th3i_filln 
+  :: (Ptr RawTH3I) -> CInt -> (Ptr CDouble) -> (Ptr CDouble) -> CInt -> IO ()
+foreign import ccall "HROOT.h TH3I_FillRandom" c_th3i_fillrandom 
+  :: (Ptr RawTH3I) -> (Ptr RawTH1) -> CInt -> IO ()
+foreign import ccall "HROOT.h TH3I_FindBin" c_th3i_findbin 
+  :: (Ptr RawTH3I) -> CDouble -> CDouble -> CDouble -> IO CInt
+foreign import ccall "HROOT.h TH3I_FindFixBin" c_th3i_findfixbin 
+  :: (Ptr RawTH3I) -> CDouble -> CDouble -> CDouble -> IO CInt
+foreign import ccall "HROOT.h TH3I_FindFirstBinAbove" c_th3i_findfirstbinabove 
+  :: (Ptr RawTH3I) -> CDouble -> CInt -> IO CInt
+foreign import ccall "HROOT.h TH3I_FindLastBinAbove" c_th3i_findlastbinabove 
+  :: (Ptr RawTH3I) -> CDouble -> CInt -> IO CInt
+foreign import ccall "HROOT.h TH3I_FitPanel" c_th3i_fitpanel 
+  :: (Ptr RawTH3I) -> IO ()
+foreign import ccall "HROOT.h TH3I_GetNdivisions" c_th3i_getndivisions 
+  :: (Ptr RawTH3I) -> CString -> IO CInt
+foreign import ccall "HROOT.h TH3I_GetAxisColor" c_th3i_getaxiscolor 
+  :: (Ptr RawTH3I) -> CString -> IO CInt
+foreign import ccall "HROOT.h TH3I_GetLabelColor" c_th3i_getlabelcolor 
+  :: (Ptr RawTH3I) -> CString -> IO CInt
+foreign import ccall "HROOT.h TH3I_GetLabelFont" c_th3i_getlabelfont 
+  :: (Ptr RawTH3I) -> CString -> IO CInt
+foreign import ccall "HROOT.h TH3I_GetLabelOffset" c_th3i_getlabeloffset 
+  :: (Ptr RawTH3I) -> CString -> IO CDouble
+foreign import ccall "HROOT.h TH3I_GetLabelSize" c_th3i_getlabelsize 
+  :: (Ptr RawTH3I) -> CString -> IO CDouble
+foreign import ccall "HROOT.h TH3I_GetTitleFont" c_th3i_gettitlefont 
+  :: (Ptr RawTH3I) -> CString -> IO CInt
+foreign import ccall "HROOT.h TH3I_GetTitleOffset" c_th3i_gettitleoffset 
+  :: (Ptr RawTH3I) -> CString -> IO CDouble
+foreign import ccall "HROOT.h TH3I_GetTitleSize" c_th3i_gettitlesize 
+  :: (Ptr RawTH3I) -> CString -> IO CDouble
+foreign import ccall "HROOT.h TH3I_GetTickLength" c_th3i_getticklength 
+  :: (Ptr RawTH3I) -> CString -> IO CDouble
+foreign import ccall "HROOT.h TH3I_GetBarOffset" c_th3i_getbaroffset 
+  :: (Ptr RawTH3I) -> IO CDouble
+foreign import ccall "HROOT.h TH3I_GetBarWidth" c_th3i_getbarwidth 
+  :: (Ptr RawTH3I) -> IO CDouble
+foreign import ccall "HROOT.h TH3I_GetContour" c_th3i_getcontour 
+  :: (Ptr RawTH3I) -> (Ptr CDouble) -> IO CInt
+foreign import ccall "HROOT.h TH3I_GetContourLevel" c_th3i_getcontourlevel 
+  :: (Ptr RawTH3I) -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH3I_GetContourLevelPad" c_th3i_getcontourlevelpad 
+  :: (Ptr RawTH3I) -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH3I_GetBin" c_th3i_getbin 
+  :: (Ptr RawTH3I) -> CInt -> CInt -> CInt -> IO CInt
+foreign import ccall "HROOT.h TH3I_GetBinCenter" c_th3i_getbincenter 
+  :: (Ptr RawTH3I) -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH3I_GetBinContent1" c_th3i_getbincontent1 
+  :: (Ptr RawTH3I) -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH3I_GetBinContent2" c_th3i_getbincontent2 
+  :: (Ptr RawTH3I) -> CInt -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH3I_GetBinContent3" c_th3i_getbincontent3 
+  :: (Ptr RawTH3I) -> CInt -> CInt -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH3I_GetBinError1" c_th3i_getbinerror1 
+  :: (Ptr RawTH3I) -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH3I_GetBinError2" c_th3i_getbinerror2 
+  :: (Ptr RawTH3I) -> CInt -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH3I_GetBinError3" c_th3i_getbinerror3 
+  :: (Ptr RawTH3I) -> CInt -> CInt -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH3I_GetBinLowEdge" c_th3i_getbinlowedge 
+  :: (Ptr RawTH3I) -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH3I_GetBinWidth" c_th3i_getbinwidth 
+  :: (Ptr RawTH3I) -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH3I_GetCellContent" c_th3i_getcellcontent 
+  :: (Ptr RawTH3I) -> CInt -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH3I_GetCellError" c_th3i_getcellerror 
+  :: (Ptr RawTH3I) -> CInt -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH3I_SetTitle" c_th3i_settitle 
+  :: (Ptr RawTH3I) -> CString -> IO ()
+foreign import ccall "HROOT.h TH3I_SetLineColor" c_th3i_setlinecolor 
+  :: (Ptr RawTH3I) -> CInt -> IO ()
+foreign import ccall "HROOT.h TH3I_SetFillColor" c_th3i_setfillcolor 
+  :: (Ptr RawTH3I) -> CInt -> IO ()
+foreign import ccall "HROOT.h TH3I_SetFillStyle" c_th3i_setfillstyle 
+  :: (Ptr RawTH3I) -> CInt -> IO ()
+foreign import ccall "HROOT.h TH3I_GetName" c_th3i_getname 
+  :: (Ptr RawTH3I) -> IO CString
+foreign import ccall "HROOT.h TH3I_Draw" c_th3i_draw 
+  :: (Ptr RawTH3I) -> CString -> IO ()
+foreign import ccall "HROOT.h TH3I_FindObject" c_th3i_findobject 
+  :: (Ptr RawTH3I) -> CString -> IO (Ptr RawTObject)
+foreign import ccall "HROOT.h TH3I_SaveAs" c_th3i_saveas 
+  :: (Ptr RawTH3I) -> CString -> CString -> IO ()
+foreign import ccall "HROOT.h TH3I_Write" c_th3i_write 
+  :: (Ptr RawTH3I) -> CString -> CInt -> CInt -> IO CInt
+foreign import ccall "HROOT.h TH3I_delete" c_th3i_delete 
+  :: (Ptr RawTH3I) -> IO ()
+
+foreign import ccall "HROOT.h TH3S_Add" c_th3s_add 
+  :: (Ptr RawTH3S) -> (Ptr RawTH1) -> CDouble -> IO ()
+foreign import ccall "HROOT.h TH3S_AddBinContent" c_th3s_addbincontent 
+  :: (Ptr RawTH3S) -> CInt -> CDouble -> IO ()
+foreign import ccall "HROOT.h TH3S_Chi2Test" c_th3s_chi2test 
+  :: (Ptr RawTH3S) -> (Ptr RawTH1) -> CString -> (Ptr CDouble) -> IO CDouble
+foreign import ccall "HROOT.h TH3S_ComputeIntegral" c_th3s_computeintegral 
+  :: (Ptr RawTH3S) -> IO CDouble
+foreign import ccall "HROOT.h TH3S_DirectoryAutoAdd" c_th3s_directoryautoadd 
+  :: (Ptr RawTH3S) -> (Ptr RawTDirectory) -> IO ()
+foreign import ccall "HROOT.h TH3S_DistancetoPrimitive" c_th3s_distancetoprimitive 
+  :: (Ptr RawTH3S) -> CInt -> CInt -> IO CInt
+foreign import ccall "HROOT.h TH3S_Divide" c_th3s_divide 
+  :: (Ptr RawTH3S) -> (Ptr RawTH1) -> (Ptr RawTH2) -> CDouble -> CDouble -> CString -> IO ()
+foreign import ccall "HROOT.h TH3S_DrawCopy" c_th3s_drawcopy 
+  :: (Ptr RawTH3S) -> CString -> IO (Ptr RawTH3S)
+foreign import ccall "HROOT.h TH3S_DrawNormalized" c_th3s_drawnormalized 
+  :: (Ptr RawTH3S) -> CString -> CDouble -> IO (Ptr RawTH1)
+foreign import ccall "HROOT.h TH3S_DrawPanel" c_th3s_drawpanel 
+  :: (Ptr RawTH3S) -> IO ()
+foreign import ccall "HROOT.h TH3S_BufferEmpty" c_th3s_bufferempty 
+  :: (Ptr RawTH3S) -> CInt -> IO CInt
+foreign import ccall "HROOT.h TH3S_Eval" c_th3s_eval 
+  :: (Ptr RawTH3S) -> (Ptr RawTF1) -> CString -> IO ()
+foreign import ccall "HROOT.h TH3S_ExecuteEvent" c_th3s_executeevent 
+  :: (Ptr RawTH3S) -> CInt -> CInt -> CInt -> IO ()
+foreign import ccall "HROOT.h TH3S_FFT" c_th3s_fft 
+  :: (Ptr RawTH3S) -> (Ptr RawTH1) -> CString -> IO (Ptr RawTH1)
+foreign import ccall "HROOT.h TH3S_fill1" c_th3s_fill1 
+  :: (Ptr RawTH3S) -> CDouble -> IO CInt
+foreign import ccall "HROOT.h TH3S_FillN" c_th3s_filln 
+  :: (Ptr RawTH3S) -> CInt -> (Ptr CDouble) -> (Ptr CDouble) -> CInt -> IO ()
+foreign import ccall "HROOT.h TH3S_FillRandom" c_th3s_fillrandom 
+  :: (Ptr RawTH3S) -> (Ptr RawTH1) -> CInt -> IO ()
+foreign import ccall "HROOT.h TH3S_FindBin" c_th3s_findbin 
+  :: (Ptr RawTH3S) -> CDouble -> CDouble -> CDouble -> IO CInt
+foreign import ccall "HROOT.h TH3S_FindFixBin" c_th3s_findfixbin 
+  :: (Ptr RawTH3S) -> CDouble -> CDouble -> CDouble -> IO CInt
+foreign import ccall "HROOT.h TH3S_FindFirstBinAbove" c_th3s_findfirstbinabove 
+  :: (Ptr RawTH3S) -> CDouble -> CInt -> IO CInt
+foreign import ccall "HROOT.h TH3S_FindLastBinAbove" c_th3s_findlastbinabove 
+  :: (Ptr RawTH3S) -> CDouble -> CInt -> IO CInt
+foreign import ccall "HROOT.h TH3S_FitPanel" c_th3s_fitpanel 
+  :: (Ptr RawTH3S) -> IO ()
+foreign import ccall "HROOT.h TH3S_GetNdivisions" c_th3s_getndivisions 
+  :: (Ptr RawTH3S) -> CString -> IO CInt
+foreign import ccall "HROOT.h TH3S_GetAxisColor" c_th3s_getaxiscolor 
+  :: (Ptr RawTH3S) -> CString -> IO CInt
+foreign import ccall "HROOT.h TH3S_GetLabelColor" c_th3s_getlabelcolor 
+  :: (Ptr RawTH3S) -> CString -> IO CInt
+foreign import ccall "HROOT.h TH3S_GetLabelFont" c_th3s_getlabelfont 
+  :: (Ptr RawTH3S) -> CString -> IO CInt
+foreign import ccall "HROOT.h TH3S_GetLabelOffset" c_th3s_getlabeloffset 
+  :: (Ptr RawTH3S) -> CString -> IO CDouble
+foreign import ccall "HROOT.h TH3S_GetLabelSize" c_th3s_getlabelsize 
+  :: (Ptr RawTH3S) -> CString -> IO CDouble
+foreign import ccall "HROOT.h TH3S_GetTitleFont" c_th3s_gettitlefont 
+  :: (Ptr RawTH3S) -> CString -> IO CInt
+foreign import ccall "HROOT.h TH3S_GetTitleOffset" c_th3s_gettitleoffset 
+  :: (Ptr RawTH3S) -> CString -> IO CDouble
+foreign import ccall "HROOT.h TH3S_GetTitleSize" c_th3s_gettitlesize 
+  :: (Ptr RawTH3S) -> CString -> IO CDouble
+foreign import ccall "HROOT.h TH3S_GetTickLength" c_th3s_getticklength 
+  :: (Ptr RawTH3S) -> CString -> IO CDouble
+foreign import ccall "HROOT.h TH3S_GetBarOffset" c_th3s_getbaroffset 
+  :: (Ptr RawTH3S) -> IO CDouble
+foreign import ccall "HROOT.h TH3S_GetBarWidth" c_th3s_getbarwidth 
+  :: (Ptr RawTH3S) -> IO CDouble
+foreign import ccall "HROOT.h TH3S_GetContour" c_th3s_getcontour 
+  :: (Ptr RawTH3S) -> (Ptr CDouble) -> IO CInt
+foreign import ccall "HROOT.h TH3S_GetContourLevel" c_th3s_getcontourlevel 
+  :: (Ptr RawTH3S) -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH3S_GetContourLevelPad" c_th3s_getcontourlevelpad 
+  :: (Ptr RawTH3S) -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH3S_GetBin" c_th3s_getbin 
+  :: (Ptr RawTH3S) -> CInt -> CInt -> CInt -> IO CInt
+foreign import ccall "HROOT.h TH3S_GetBinCenter" c_th3s_getbincenter 
+  :: (Ptr RawTH3S) -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH3S_GetBinContent1" c_th3s_getbincontent1 
+  :: (Ptr RawTH3S) -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH3S_GetBinContent2" c_th3s_getbincontent2 
+  :: (Ptr RawTH3S) -> CInt -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH3S_GetBinContent3" c_th3s_getbincontent3 
+  :: (Ptr RawTH3S) -> CInt -> CInt -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH3S_GetBinError1" c_th3s_getbinerror1 
+  :: (Ptr RawTH3S) -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH3S_GetBinError2" c_th3s_getbinerror2 
+  :: (Ptr RawTH3S) -> CInt -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH3S_GetBinError3" c_th3s_getbinerror3 
+  :: (Ptr RawTH3S) -> CInt -> CInt -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH3S_GetBinLowEdge" c_th3s_getbinlowedge 
+  :: (Ptr RawTH3S) -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH3S_GetBinWidth" c_th3s_getbinwidth 
+  :: (Ptr RawTH3S) -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH3S_GetCellContent" c_th3s_getcellcontent 
+  :: (Ptr RawTH3S) -> CInt -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH3S_GetCellError" c_th3s_getcellerror 
+  :: (Ptr RawTH3S) -> CInt -> CInt -> IO CDouble
+foreign import ccall "HROOT.h TH3S_SetTitle" c_th3s_settitle 
+  :: (Ptr RawTH3S) -> CString -> IO ()
+foreign import ccall "HROOT.h TH3S_SetLineColor" c_th3s_setlinecolor 
+  :: (Ptr RawTH3S) -> CInt -> IO ()
+foreign import ccall "HROOT.h TH3S_SetFillColor" c_th3s_setfillcolor 
+  :: (Ptr RawTH3S) -> CInt -> IO ()
+foreign import ccall "HROOT.h TH3S_SetFillStyle" c_th3s_setfillstyle 
+  :: (Ptr RawTH3S) -> CInt -> IO ()
+foreign import ccall "HROOT.h TH3S_GetName" c_th3s_getname 
+  :: (Ptr RawTH3S) -> IO CString
+foreign import ccall "HROOT.h TH3S_Draw" c_th3s_draw 
+  :: (Ptr RawTH3S) -> CString -> IO ()
+foreign import ccall "HROOT.h TH3S_FindObject" c_th3s_findobject 
+  :: (Ptr RawTH3S) -> CString -> IO (Ptr RawTObject)
+foreign import ccall "HROOT.h TH3S_SaveAs" c_th3s_saveas 
+  :: (Ptr RawTH3S) -> CString -> CString -> IO ()
+foreign import ccall "HROOT.h TH3S_Write" c_th3s_write 
+  :: (Ptr RawTH3S) -> CString -> CInt -> CInt -> IO CInt
+foreign import ccall "HROOT.h TH3S_delete" c_th3s_delete 
+  :: (Ptr RawTH3S) -> IO ()
+
+foreign import ccall "HROOT.h TQObject_delete" c_tqobject_delete 
+  :: (Ptr RawTQObject) -> IO ()
+
+foreign import ccall "HROOT.h TVirtualPad_GetName" c_tvirtualpad_getname 
+  :: (Ptr RawTVirtualPad) -> IO CString
+foreign import ccall "HROOT.h TVirtualPad_Draw" c_tvirtualpad_draw 
+  :: (Ptr RawTVirtualPad) -> CString -> IO ()
+foreign import ccall "HROOT.h TVirtualPad_FindObject" c_tvirtualpad_findobject 
+  :: (Ptr RawTVirtualPad) -> CString -> IO (Ptr RawTObject)
+foreign import ccall "HROOT.h TVirtualPad_SaveAs" c_tvirtualpad_saveas 
+  :: (Ptr RawTVirtualPad) -> CString -> CString -> IO ()
+foreign import ccall "HROOT.h TVirtualPad_Write" c_tvirtualpad_write 
+  :: (Ptr RawTVirtualPad) -> CString -> CInt -> CInt -> IO CInt
+foreign import ccall "HROOT.h TVirtualPad_SetLineColor" c_tvirtualpad_setlinecolor 
+  :: (Ptr RawTVirtualPad) -> CInt -> IO ()
+foreign import ccall "HROOT.h TVirtualPad_SetFillColor" c_tvirtualpad_setfillcolor 
+  :: (Ptr RawTVirtualPad) -> CInt -> IO ()
+foreign import ccall "HROOT.h TVirtualPad_SetFillStyle" c_tvirtualpad_setfillstyle 
+  :: (Ptr RawTVirtualPad) -> CInt -> IO ()
+foreign import ccall "HROOT.h TVirtualPad_delete" c_tvirtualpad_delete 
+  :: (Ptr RawTVirtualPad) -> IO ()
+foreign import ccall "HROOT.h TVirtualPad_GetFrame" c_tvirtualpad_getframe 
+  :: (Ptr RawTVirtualPad) -> IO (Ptr RawTFrame)
+foreign import ccall "HROOT.h TVirtualPad_Range" c_tvirtualpad_range 
+  :: (Ptr RawTVirtualPad) -> CDouble -> CDouble -> CDouble -> CDouble -> IO ()
+
+foreign import ccall "HROOT.h TPad_GetFrame" c_tpad_getframe 
+  :: (Ptr RawTPad) -> IO (Ptr RawTFrame)
+foreign import ccall "HROOT.h TPad_Range" c_tpad_range 
+  :: (Ptr RawTPad) -> CDouble -> CDouble -> CDouble -> CDouble -> IO ()
+foreign import ccall "HROOT.h TPad_GetName" c_tpad_getname 
+  :: (Ptr RawTPad) -> IO CString
+foreign import ccall "HROOT.h TPad_Draw" c_tpad_draw 
+  :: (Ptr RawTPad) -> CString -> IO ()
+foreign import ccall "HROOT.h TPad_FindObject" c_tpad_findobject 
+  :: (Ptr RawTPad) -> CString -> IO (Ptr RawTObject)
+foreign import ccall "HROOT.h TPad_SaveAs" c_tpad_saveas 
+  :: (Ptr RawTPad) -> CString -> CString -> IO ()
+foreign import ccall "HROOT.h TPad_Write" c_tpad_write 
+  :: (Ptr RawTPad) -> CString -> CInt -> CInt -> IO CInt
+foreign import ccall "HROOT.h TPad_SetLineColor" c_tpad_setlinecolor 
+  :: (Ptr RawTPad) -> CInt -> IO ()
+foreign import ccall "HROOT.h TPad_SetFillColor" c_tpad_setfillcolor 
+  :: (Ptr RawTPad) -> CInt -> IO ()
+foreign import ccall "HROOT.h TPad_SetFillStyle" c_tpad_setfillstyle 
+  :: (Ptr RawTPad) -> CInt -> IO ()
+foreign import ccall "HROOT.h TPad_delete" c_tpad_delete 
+  :: (Ptr RawTPad) -> IO ()
+
+foreign import ccall "HROOT.h TButton_SetTextColor" c_tbutton_settextcolor 
+  :: (Ptr RawTButton) -> CInt -> IO ()
+foreign import ccall "HROOT.h TButton_SetTextAlign" c_tbutton_settextalign 
+  :: (Ptr RawTButton) -> CInt -> IO ()
+foreign import ccall "HROOT.h TButton_SetTextSize" c_tbutton_settextsize 
+  :: (Ptr RawTButton) -> CDouble -> IO ()
+foreign import ccall "HROOT.h TButton_GetFrame" c_tbutton_getframe 
+  :: (Ptr RawTButton) -> IO (Ptr RawTFrame)
+foreign import ccall "HROOT.h TButton_Range" c_tbutton_range 
+  :: (Ptr RawTButton) -> CDouble -> CDouble -> CDouble -> CDouble -> IO ()
+foreign import ccall "HROOT.h TButton_GetName" c_tbutton_getname 
+  :: (Ptr RawTButton) -> IO CString
+foreign import ccall "HROOT.h TButton_Draw" c_tbutton_draw 
+  :: (Ptr RawTButton) -> CString -> IO ()
+foreign import ccall "HROOT.h TButton_FindObject" c_tbutton_findobject 
+  :: (Ptr RawTButton) -> CString -> IO (Ptr RawTObject)
+foreign import ccall "HROOT.h TButton_SaveAs" c_tbutton_saveas 
+  :: (Ptr RawTButton) -> CString -> CString -> IO ()
+foreign import ccall "HROOT.h TButton_Write" c_tbutton_write 
+  :: (Ptr RawTButton) -> CString -> CInt -> CInt -> IO CInt
+foreign import ccall "HROOT.h TButton_SetLineColor" c_tbutton_setlinecolor 
+  :: (Ptr RawTButton) -> CInt -> IO ()
+foreign import ccall "HROOT.h TButton_SetFillColor" c_tbutton_setfillcolor 
+  :: (Ptr RawTButton) -> CInt -> IO ()
+foreign import ccall "HROOT.h TButton_SetFillStyle" c_tbutton_setfillstyle 
+  :: (Ptr RawTButton) -> CInt -> IO ()
+foreign import ccall "HROOT.h TButton_delete" c_tbutton_delete 
+  :: (Ptr RawTButton) -> IO ()
+
+foreign import ccall "HROOT.h TGroupButton_SetTextColor" c_tgroupbutton_settextcolor 
+  :: (Ptr RawTGroupButton) -> CInt -> IO ()
+foreign import ccall "HROOT.h TGroupButton_SetTextAlign" c_tgroupbutton_settextalign 
+  :: (Ptr RawTGroupButton) -> CInt -> IO ()
+foreign import ccall "HROOT.h TGroupButton_SetTextSize" c_tgroupbutton_settextsize 
+  :: (Ptr RawTGroupButton) -> CDouble -> IO ()
+foreign import ccall "HROOT.h TGroupButton_GetFrame" c_tgroupbutton_getframe 
+  :: (Ptr RawTGroupButton) -> IO (Ptr RawTFrame)
+foreign import ccall "HROOT.h TGroupButton_Range" c_tgroupbutton_range 
+  :: (Ptr RawTGroupButton) -> CDouble -> CDouble -> CDouble -> CDouble -> IO ()
+foreign import ccall "HROOT.h TGroupButton_GetName" c_tgroupbutton_getname 
+  :: (Ptr RawTGroupButton) -> IO CString
+foreign import ccall "HROOT.h TGroupButton_Draw" c_tgroupbutton_draw 
+  :: (Ptr RawTGroupButton) -> CString -> IO ()
+foreign import ccall "HROOT.h TGroupButton_FindObject" c_tgroupbutton_findobject 
+  :: (Ptr RawTGroupButton) -> CString -> IO (Ptr RawTObject)
+foreign import ccall "HROOT.h TGroupButton_SaveAs" c_tgroupbutton_saveas 
+  :: (Ptr RawTGroupButton) -> CString -> CString -> IO ()
+foreign import ccall "HROOT.h TGroupButton_Write" c_tgroupbutton_write 
+  :: (Ptr RawTGroupButton) -> CString -> CInt -> CInt -> IO CInt
+foreign import ccall "HROOT.h TGroupButton_SetLineColor" c_tgroupbutton_setlinecolor 
+  :: (Ptr RawTGroupButton) -> CInt -> IO ()
+foreign import ccall "HROOT.h TGroupButton_SetFillColor" c_tgroupbutton_setfillcolor 
+  :: (Ptr RawTGroupButton) -> CInt -> IO ()
+foreign import ccall "HROOT.h TGroupButton_SetFillStyle" c_tgroupbutton_setfillstyle 
+  :: (Ptr RawTGroupButton) -> CInt -> IO ()
+foreign import ccall "HROOT.h TGroupButton_delete" c_tgroupbutton_delete 
+  :: (Ptr RawTGroupButton) -> IO ()
+
+foreign import ccall "HROOT.h TCanvas_GetFrame" c_tcanvas_getframe 
+  :: (Ptr RawTCanvas) -> IO (Ptr RawTFrame)
+foreign import ccall "HROOT.h TCanvas_Range" c_tcanvas_range 
+  :: (Ptr RawTCanvas) -> CDouble -> CDouble -> CDouble -> CDouble -> IO ()
+foreign import ccall "HROOT.h TCanvas_GetName" c_tcanvas_getname 
+  :: (Ptr RawTCanvas) -> IO CString
+foreign import ccall "HROOT.h TCanvas_Draw" c_tcanvas_draw 
+  :: (Ptr RawTCanvas) -> CString -> IO ()
+foreign import ccall "HROOT.h TCanvas_FindObject" c_tcanvas_findobject 
+  :: (Ptr RawTCanvas) -> CString -> IO (Ptr RawTObject)
+foreign import ccall "HROOT.h TCanvas_SaveAs" c_tcanvas_saveas 
+  :: (Ptr RawTCanvas) -> CString -> CString -> IO ()
+foreign import ccall "HROOT.h TCanvas_Write" c_tcanvas_write 
+  :: (Ptr RawTCanvas) -> CString -> CInt -> CInt -> IO CInt
+foreign import ccall "HROOT.h TCanvas_SetLineColor" c_tcanvas_setlinecolor 
+  :: (Ptr RawTCanvas) -> CInt -> IO ()
+foreign import ccall "HROOT.h TCanvas_SetFillColor" c_tcanvas_setfillcolor 
+  :: (Ptr RawTCanvas) -> CInt -> IO ()
+foreign import ccall "HROOT.h TCanvas_SetFillStyle" c_tcanvas_setfillstyle 
+  :: (Ptr RawTCanvas) -> CInt -> IO ()
+foreign import ccall "HROOT.h TCanvas_delete" c_tcanvas_delete 
+  :: (Ptr RawTCanvas) -> IO ()
+foreign import ccall "HROOT.h TCanvas_newTCanvas" c_tcanvas_newtcanvas 
+  :: CString -> CString -> CInt -> CInt -> IO (Ptr RawTCanvas)
+
+foreign import ccall "HROOT.h TDialogCanvas_SetTextColor" c_tdialogcanvas_settextcolor 
+  :: (Ptr RawTDialogCanvas) -> CInt -> IO ()
+foreign import ccall "HROOT.h TDialogCanvas_SetTextAlign" c_tdialogcanvas_settextalign 
+  :: (Ptr RawTDialogCanvas) -> CInt -> IO ()
+foreign import ccall "HROOT.h TDialogCanvas_SetTextSize" c_tdialogcanvas_settextsize 
+  :: (Ptr RawTDialogCanvas) -> CDouble -> IO ()
+foreign import ccall "HROOT.h TDialogCanvas_GetFrame" c_tdialogcanvas_getframe 
+  :: (Ptr RawTDialogCanvas) -> IO (Ptr RawTFrame)
+foreign import ccall "HROOT.h TDialogCanvas_Range" c_tdialogcanvas_range 
+  :: (Ptr RawTDialogCanvas) -> CDouble -> CDouble -> CDouble -> CDouble -> IO ()
+foreign import ccall "HROOT.h TDialogCanvas_GetName" c_tdialogcanvas_getname 
+  :: (Ptr RawTDialogCanvas) -> IO CString
+foreign import ccall "HROOT.h TDialogCanvas_Draw" c_tdialogcanvas_draw 
+  :: (Ptr RawTDialogCanvas) -> CString -> IO ()
+foreign import ccall "HROOT.h TDialogCanvas_FindObject" c_tdialogcanvas_findobject 
+  :: (Ptr RawTDialogCanvas) -> CString -> IO (Ptr RawTObject)
+foreign import ccall "HROOT.h TDialogCanvas_SaveAs" c_tdialogcanvas_saveas 
+  :: (Ptr RawTDialogCanvas) -> CString -> CString -> IO ()
+foreign import ccall "HROOT.h TDialogCanvas_Write" c_tdialogcanvas_write 
+  :: (Ptr RawTDialogCanvas) -> CString -> CInt -> CInt -> IO CInt
+foreign import ccall "HROOT.h TDialogCanvas_SetLineColor" c_tdialogcanvas_setlinecolor 
+  :: (Ptr RawTDialogCanvas) -> CInt -> IO ()
+foreign import ccall "HROOT.h TDialogCanvas_SetFillColor" c_tdialogcanvas_setfillcolor 
+  :: (Ptr RawTDialogCanvas) -> CInt -> IO ()
+foreign import ccall "HROOT.h TDialogCanvas_SetFillStyle" c_tdialogcanvas_setfillstyle 
+  :: (Ptr RawTDialogCanvas) -> CInt -> IO ()
+foreign import ccall "HROOT.h TDialogCanvas_delete" c_tdialogcanvas_delete 
+  :: (Ptr RawTDialogCanvas) -> IO ()
+
+foreign import ccall "HROOT.h TInspectCanvas_SetTextColor" c_tinspectcanvas_settextcolor 
+  :: (Ptr RawTInspectCanvas) -> CInt -> IO ()
+foreign import ccall "HROOT.h TInspectCanvas_SetTextAlign" c_tinspectcanvas_settextalign 
+  :: (Ptr RawTInspectCanvas) -> CInt -> IO ()
+foreign import ccall "HROOT.h TInspectCanvas_SetTextSize" c_tinspectcanvas_settextsize 
+  :: (Ptr RawTInspectCanvas) -> CDouble -> IO ()
+foreign import ccall "HROOT.h TInspectCanvas_GetFrame" c_tinspectcanvas_getframe 
+  :: (Ptr RawTInspectCanvas) -> IO (Ptr RawTFrame)
+foreign import ccall "HROOT.h TInspectCanvas_Range" c_tinspectcanvas_range 
+  :: (Ptr RawTInspectCanvas) -> CDouble -> CDouble -> CDouble -> CDouble -> IO ()
+foreign import ccall "HROOT.h TInspectCanvas_GetName" c_tinspectcanvas_getname 
+  :: (Ptr RawTInspectCanvas) -> IO CString
+foreign import ccall "HROOT.h TInspectCanvas_Draw" c_tinspectcanvas_draw 
+  :: (Ptr RawTInspectCanvas) -> CString -> IO ()
+foreign import ccall "HROOT.h TInspectCanvas_FindObject" c_tinspectcanvas_findobject 
+  :: (Ptr RawTInspectCanvas) -> CString -> IO (Ptr RawTObject)
+foreign import ccall "HROOT.h TInspectCanvas_SaveAs" c_tinspectcanvas_saveas 
+  :: (Ptr RawTInspectCanvas) -> CString -> CString -> IO ()
+foreign import ccall "HROOT.h TInspectCanvas_Write" c_tinspectcanvas_write 
+  :: (Ptr RawTInspectCanvas) -> CString -> CInt -> CInt -> IO CInt
+foreign import ccall "HROOT.h TInspectCanvas_SetLineColor" c_tinspectcanvas_setlinecolor 
+  :: (Ptr RawTInspectCanvas) -> CInt -> IO ()
+foreign import ccall "HROOT.h TInspectCanvas_SetFillColor" c_tinspectcanvas_setfillcolor 
+  :: (Ptr RawTInspectCanvas) -> CInt -> IO ()
+foreign import ccall "HROOT.h TInspectCanvas_SetFillStyle" c_tinspectcanvas_setfillstyle 
+  :: (Ptr RawTInspectCanvas) -> CInt -> IO ()
+foreign import ccall "HROOT.h TInspectCanvas_delete" c_tinspectcanvas_delete 
+  :: (Ptr RawTInspectCanvas) -> IO ()
+
+foreign import ccall "HROOT.h TEvePad_GetFrame" c_tevepad_getframe 
+  :: (Ptr RawTEvePad) -> IO (Ptr RawTFrame)
+foreign import ccall "HROOT.h TEvePad_Range" c_tevepad_range 
+  :: (Ptr RawTEvePad) -> CDouble -> CDouble -> CDouble -> CDouble -> IO ()
+foreign import ccall "HROOT.h TEvePad_GetName" c_tevepad_getname 
+  :: (Ptr RawTEvePad) -> IO CString
+foreign import ccall "HROOT.h TEvePad_Draw" c_tevepad_draw 
+  :: (Ptr RawTEvePad) -> CString -> IO ()
+foreign import ccall "HROOT.h TEvePad_FindObject" c_tevepad_findobject 
+  :: (Ptr RawTEvePad) -> CString -> IO (Ptr RawTObject)
+foreign import ccall "HROOT.h TEvePad_SaveAs" c_tevepad_saveas 
+  :: (Ptr RawTEvePad) -> CString -> CString -> IO ()
+foreign import ccall "HROOT.h TEvePad_Write" c_tevepad_write 
+  :: (Ptr RawTEvePad) -> CString -> CInt -> CInt -> IO CInt
+foreign import ccall "HROOT.h TEvePad_SetLineColor" c_tevepad_setlinecolor 
+  :: (Ptr RawTEvePad) -> CInt -> IO ()
+foreign import ccall "HROOT.h TEvePad_SetFillColor" c_tevepad_setfillcolor 
+  :: (Ptr RawTEvePad) -> CInt -> IO ()
+foreign import ccall "HROOT.h TEvePad_SetFillStyle" c_tevepad_setfillstyle 
+  :: (Ptr RawTEvePad) -> CInt -> IO ()
+foreign import ccall "HROOT.h TEvePad_delete" c_tevepad_delete 
+  :: (Ptr RawTEvePad) -> IO ()
+
+foreign import ccall "HROOT.h TSlider_GetFrame" c_tslider_getframe 
+  :: (Ptr RawTSlider) -> IO (Ptr RawTFrame)
+foreign import ccall "HROOT.h TSlider_Range" c_tslider_range 
+  :: (Ptr RawTSlider) -> CDouble -> CDouble -> CDouble -> CDouble -> IO ()
+foreign import ccall "HROOT.h TSlider_GetName" c_tslider_getname 
+  :: (Ptr RawTSlider) -> IO CString
+foreign import ccall "HROOT.h TSlider_Draw" c_tslider_draw 
+  :: (Ptr RawTSlider) -> CString -> IO ()
+foreign import ccall "HROOT.h TSlider_FindObject" c_tslider_findobject 
+  :: (Ptr RawTSlider) -> CString -> IO (Ptr RawTObject)
+foreign import ccall "HROOT.h TSlider_SaveAs" c_tslider_saveas 
+  :: (Ptr RawTSlider) -> CString -> CString -> IO ()
+foreign import ccall "HROOT.h TSlider_Write" c_tslider_write 
+  :: (Ptr RawTSlider) -> CString -> CInt -> CInt -> IO CInt
+foreign import ccall "HROOT.h TSlider_SetLineColor" c_tslider_setlinecolor 
+  :: (Ptr RawTSlider) -> CInt -> IO ()
+foreign import ccall "HROOT.h TSlider_SetFillColor" c_tslider_setfillcolor 
+  :: (Ptr RawTSlider) -> CInt -> IO ()
+foreign import ccall "HROOT.h TSlider_SetFillStyle" c_tslider_setfillstyle 
+  :: (Ptr RawTSlider) -> CInt -> IO ()
+foreign import ccall "HROOT.h TSlider_delete" c_tslider_delete 
+  :: (Ptr RawTSlider) -> IO ()
+
+foreign import ccall "HROOT.h TApplication_GetName" c_tapplication_getname 
+  :: (Ptr RawTApplication) -> IO CString
+foreign import ccall "HROOT.h TApplication_Draw" c_tapplication_draw 
+  :: (Ptr RawTApplication) -> CString -> IO ()
+foreign import ccall "HROOT.h TApplication_FindObject" c_tapplication_findobject 
+  :: (Ptr RawTApplication) -> CString -> IO (Ptr RawTObject)
+foreign import ccall "HROOT.h TApplication_SaveAs" c_tapplication_saveas 
+  :: (Ptr RawTApplication) -> CString -> CString -> IO ()
+foreign import ccall "HROOT.h TApplication_Write" c_tapplication_write 
+  :: (Ptr RawTApplication) -> CString -> CInt -> CInt -> IO CInt
+foreign import ccall "HROOT.h TApplication_delete" c_tapplication_delete 
+  :: (Ptr RawTApplication) -> IO ()
+foreign import ccall "HROOT.h TApplication_newTApplication" c_tapplication_newtapplication 
+  :: CString -> (Ptr CInt) -> (Ptr (CString)) -> IO (Ptr RawTApplication)
+foreign import ccall "HROOT.h TApplication_Run" c_tapplication_run 
+  :: (Ptr RawTApplication) -> CInt -> IO ()
+
+foreign import ccall "HROOT.h TRint_Run" c_trint_run 
+  :: (Ptr RawTRint) -> CInt -> IO ()
+foreign import ccall "HROOT.h TRint_GetName" c_trint_getname 
+  :: (Ptr RawTRint) -> IO CString
+foreign import ccall "HROOT.h TRint_Draw" c_trint_draw 
+  :: (Ptr RawTRint) -> CString -> IO ()
+foreign import ccall "HROOT.h TRint_FindObject" c_trint_findobject 
+  :: (Ptr RawTRint) -> CString -> IO (Ptr RawTObject)
+foreign import ccall "HROOT.h TRint_SaveAs" c_trint_saveas 
+  :: (Ptr RawTRint) -> CString -> CString -> IO ()
+foreign import ccall "HROOT.h TRint_Write" c_trint_write 
+  :: (Ptr RawTRint) -> CString -> CInt -> CInt -> IO CInt
+foreign import ccall "HROOT.h TRint_delete" c_trint_delete 
+  :: (Ptr RawTRint) -> IO ()
+foreign import ccall "HROOT.h TRint_newTRint" c_trint_newtrint 
+  :: CString -> (Ptr CInt) -> (Ptr (CString)) -> IO (Ptr RawTRint)
 
