packages feed

HROOT 0.6.3 → 0.6.4

raw patch · 12 files changed

+1627/−44 lines, 12 filesPVP ok

version bump matches the API change (PVP)

API changes (from Hackage documentation)

+ HROOT.Class.Existential: castTCollection :: Exist TCollection -> IO (EGADTType TCollection)
+ HROOT.Class.Existential: castTObjArray :: Exist TObjArray -> IO (EGADTType TObjArray)
+ HROOT.Class.Existential: castTSeqCollection :: Exist TSeqCollection -> IO (EGADTType TSeqCollection)
+ HROOT.Class.Existential: instance GADTTypeable TCollection
+ HROOT.Class.Existential: instance GADTTypeable TObjArray
+ HROOT.Class.Existential: instance GADTTypeable TSeqCollection
+ HROOT.Class.FFI: c_tcollection_delete :: (Ptr RawTCollection) -> IO ()
+ HROOT.Class.FFI: c_tcollection_draw :: (Ptr RawTCollection) -> CString -> IO ()
+ HROOT.Class.FFI: c_tcollection_findobject :: (Ptr RawTCollection) -> CString -> IO (Ptr RawTObject)
+ HROOT.Class.FFI: c_tcollection_getname :: (Ptr RawTCollection) -> IO CString
+ HROOT.Class.FFI: c_tcollection_isa :: (Ptr RawTCollection) -> IO (Ptr RawTClass)
+ HROOT.Class.FFI: c_tcollection_saveas :: (Ptr RawTCollection) -> CString -> CString -> IO ()
+ HROOT.Class.FFI: c_tcollection_write :: (Ptr RawTCollection) -> CString -> CInt -> CInt -> IO CInt
+ HROOT.Class.FFI: c_th2_fillrandom2 :: (Ptr RawTH2) -> (Ptr RawTH1) -> CInt -> IO ()
+ HROOT.Class.FFI: c_th2_findfirstbinabove2 :: (Ptr RawTH2) -> CDouble -> CInt -> IO CInt
+ HROOT.Class.FFI: c_th2_findlastbinabove2 :: (Ptr RawTH2) -> CDouble -> CInt -> IO CInt
+ HROOT.Class.FFI: c_th2_fitslicesx :: (Ptr RawTH2) -> (Ptr RawTF1) -> CInt -> CInt -> CInt -> CString -> (Ptr RawTObjArray) -> IO ()
+ HROOT.Class.FFI: c_th2_fitslicesy :: (Ptr RawTH2) -> (Ptr RawTF1) -> CInt -> CInt -> CInt -> CString -> (Ptr RawTObjArray) -> IO ()
+ HROOT.Class.FFI: c_th2_getcorrelationfactor :: (Ptr RawTH2) -> CInt -> CInt -> IO CDouble
+ HROOT.Class.FFI: c_th2_getcovariance :: (Ptr RawTH2) -> CInt -> CInt -> IO CDouble
+ HROOT.Class.FFI: c_th2_getstats :: (Ptr RawTH2) -> (Ptr CDouble) -> IO ()
+ HROOT.Class.FFI: c_th2_integral :: (Ptr RawTH2) -> CInt -> CInt -> CInt -> CInt -> CString -> IO CDouble
+ HROOT.Class.FFI: c_th2_interpolate :: (Ptr RawTH2) -> CDouble -> CDouble -> CDouble -> IO CDouble
+ HROOT.Class.FFI: c_th2_kolmogorovtest :: (Ptr RawTH2) -> (Ptr RawTH1) -> CString -> IO CDouble
+ HROOT.Class.FFI: c_th2_putstats :: (Ptr RawTH2) -> (Ptr CDouble) -> IO ()
+ HROOT.Class.FFI: c_th2_rebin2d :: (Ptr RawTH2) -> CInt -> CInt -> CString -> IO (Ptr RawTH2)
+ HROOT.Class.FFI: c_th2_rebinx :: (Ptr RawTH2) -> CInt -> CString -> IO (Ptr RawTH2)
+ HROOT.Class.FFI: c_th2_rebiny :: (Ptr RawTH2) -> CInt -> CString -> IO (Ptr RawTH2)
+ HROOT.Class.FFI: c_th2_reset :: (Ptr RawTH2) -> CString -> IO ()
+ HROOT.Class.FFI: c_th2_setshowprojectionx :: (Ptr RawTH2) -> CInt -> IO ()
+ HROOT.Class.FFI: c_th2_setshowprojectiony :: (Ptr RawTH2) -> CInt -> IO ()
+ HROOT.Class.FFI: c_th2_showbackground :: (Ptr RawTH2) -> CInt -> CString -> IO (Ptr RawTH1)
+ HROOT.Class.FFI: c_th2_showpeaks :: (Ptr RawTH2) -> CDouble -> CString -> CDouble -> IO CInt
+ HROOT.Class.FFI: c_th2_smooth :: (Ptr RawTH2) -> CInt -> CString -> IO ()
+ HROOT.Class.FFI: c_th2_th2projectionx :: (Ptr RawTH2) -> CString -> CInt -> CInt -> CString -> IO (Ptr RawTH1D)
+ HROOT.Class.FFI: c_th2_th2projectiony :: (Ptr RawTH2) -> CString -> CInt -> CInt -> CString -> IO (Ptr RawTH1D)
+ HROOT.Class.FFI: c_th2c_fillrandom2 :: (Ptr RawTH2C) -> (Ptr RawTH1) -> CInt -> IO ()
+ HROOT.Class.FFI: c_th2c_findfirstbinabove2 :: (Ptr RawTH2C) -> CDouble -> CInt -> IO CInt
+ HROOT.Class.FFI: c_th2c_findlastbinabove2 :: (Ptr RawTH2C) -> CDouble -> CInt -> IO CInt
+ HROOT.Class.FFI: c_th2c_fitslicesx :: (Ptr RawTH2C) -> (Ptr RawTF1) -> CInt -> CInt -> CInt -> CString -> (Ptr RawTObjArray) -> IO ()
+ HROOT.Class.FFI: c_th2c_fitslicesy :: (Ptr RawTH2C) -> (Ptr RawTF1) -> CInt -> CInt -> CInt -> CString -> (Ptr RawTObjArray) -> IO ()
+ HROOT.Class.FFI: c_th2c_getcorrelationfactor :: (Ptr RawTH2C) -> CInt -> CInt -> IO CDouble
+ HROOT.Class.FFI: c_th2c_getcovariance :: (Ptr RawTH2C) -> CInt -> CInt -> IO CDouble
+ HROOT.Class.FFI: c_th2c_getstats :: (Ptr RawTH2C) -> (Ptr CDouble) -> IO ()
+ HROOT.Class.FFI: c_th2c_integral :: (Ptr RawTH2C) -> CInt -> CInt -> CInt -> CInt -> CString -> IO CDouble
+ HROOT.Class.FFI: c_th2c_interpolate :: (Ptr RawTH2C) -> CDouble -> CDouble -> CDouble -> IO CDouble
+ HROOT.Class.FFI: c_th2c_kolmogorovtest :: (Ptr RawTH2C) -> (Ptr RawTH1) -> CString -> IO CDouble
+ HROOT.Class.FFI: c_th2c_putstats :: (Ptr RawTH2C) -> (Ptr CDouble) -> IO ()
+ HROOT.Class.FFI: c_th2c_rebin2d :: (Ptr RawTH2C) -> CInt -> CInt -> CString -> IO (Ptr RawTH2)
+ HROOT.Class.FFI: c_th2c_rebinx :: (Ptr RawTH2C) -> CInt -> CString -> IO (Ptr RawTH2)
+ HROOT.Class.FFI: c_th2c_rebiny :: (Ptr RawTH2C) -> CInt -> CString -> IO (Ptr RawTH2)
+ HROOT.Class.FFI: c_th2c_reset :: (Ptr RawTH2C) -> CString -> IO ()
+ HROOT.Class.FFI: c_th2c_setshowprojectionx :: (Ptr RawTH2C) -> CInt -> IO ()
+ HROOT.Class.FFI: c_th2c_setshowprojectiony :: (Ptr RawTH2C) -> CInt -> IO ()
+ HROOT.Class.FFI: c_th2c_showbackground :: (Ptr RawTH2C) -> CInt -> CString -> IO (Ptr RawTH1)
+ HROOT.Class.FFI: c_th2c_showpeaks :: (Ptr RawTH2C) -> CDouble -> CString -> CDouble -> IO CInt
+ HROOT.Class.FFI: c_th2c_smooth :: (Ptr RawTH2C) -> CInt -> CString -> IO ()
+ HROOT.Class.FFI: c_th2d_fillrandom2 :: (Ptr RawTH2D) -> (Ptr RawTH1) -> CInt -> IO ()
+ HROOT.Class.FFI: c_th2d_findfirstbinabove2 :: (Ptr RawTH2D) -> CDouble -> CInt -> IO CInt
+ HROOT.Class.FFI: c_th2d_findlastbinabove2 :: (Ptr RawTH2D) -> CDouble -> CInt -> IO CInt
+ HROOT.Class.FFI: c_th2d_fitslicesx :: (Ptr RawTH2D) -> (Ptr RawTF1) -> CInt -> CInt -> CInt -> CString -> (Ptr RawTObjArray) -> IO ()
+ HROOT.Class.FFI: c_th2d_fitslicesy :: (Ptr RawTH2D) -> (Ptr RawTF1) -> CInt -> CInt -> CInt -> CString -> (Ptr RawTObjArray) -> IO ()
+ HROOT.Class.FFI: c_th2d_getcorrelationfactor :: (Ptr RawTH2D) -> CInt -> CInt -> IO CDouble
+ HROOT.Class.FFI: c_th2d_getcovariance :: (Ptr RawTH2D) -> CInt -> CInt -> IO CDouble
+ HROOT.Class.FFI: c_th2d_getstats :: (Ptr RawTH2D) -> (Ptr CDouble) -> IO ()
+ HROOT.Class.FFI: c_th2d_integral :: (Ptr RawTH2D) -> CInt -> CInt -> CInt -> CInt -> CString -> IO CDouble
+ HROOT.Class.FFI: c_th2d_interpolate :: (Ptr RawTH2D) -> CDouble -> CDouble -> CDouble -> IO CDouble
+ HROOT.Class.FFI: c_th2d_kolmogorovtest :: (Ptr RawTH2D) -> (Ptr RawTH1) -> CString -> IO CDouble
+ HROOT.Class.FFI: c_th2d_newth2d :: CString -> CString -> CInt -> CDouble -> CDouble -> CInt -> CDouble -> CDouble -> IO (Ptr RawTH2D)
+ HROOT.Class.FFI: c_th2d_putstats :: (Ptr RawTH2D) -> (Ptr CDouble) -> IO ()
+ HROOT.Class.FFI: c_th2d_rebin2d :: (Ptr RawTH2D) -> CInt -> CInt -> CString -> IO (Ptr RawTH2)
+ HROOT.Class.FFI: c_th2d_rebinx :: (Ptr RawTH2D) -> CInt -> CString -> IO (Ptr RawTH2)
+ HROOT.Class.FFI: c_th2d_rebiny :: (Ptr RawTH2D) -> CInt -> CString -> IO (Ptr RawTH2)
+ HROOT.Class.FFI: c_th2d_reset :: (Ptr RawTH2D) -> CString -> IO ()
+ HROOT.Class.FFI: c_th2d_setshowprojectionx :: (Ptr RawTH2D) -> CInt -> IO ()
+ HROOT.Class.FFI: c_th2d_setshowprojectiony :: (Ptr RawTH2D) -> CInt -> IO ()
+ HROOT.Class.FFI: c_th2d_showbackground :: (Ptr RawTH2D) -> CInt -> CString -> IO (Ptr RawTH1)
+ HROOT.Class.FFI: c_th2d_showpeaks :: (Ptr RawTH2D) -> CDouble -> CString -> CDouble -> IO CInt
+ HROOT.Class.FFI: c_th2d_smooth :: (Ptr RawTH2D) -> CInt -> CString -> IO ()
+ HROOT.Class.FFI: c_th2f_fillrandom2 :: (Ptr RawTH2F) -> (Ptr RawTH1) -> CInt -> IO ()
+ HROOT.Class.FFI: c_th2f_findfirstbinabove2 :: (Ptr RawTH2F) -> CDouble -> CInt -> IO CInt
+ HROOT.Class.FFI: c_th2f_findlastbinabove2 :: (Ptr RawTH2F) -> CDouble -> CInt -> IO CInt
+ HROOT.Class.FFI: c_th2f_fitslicesx :: (Ptr RawTH2F) -> (Ptr RawTF1) -> CInt -> CInt -> CInt -> CString -> (Ptr RawTObjArray) -> IO ()
+ HROOT.Class.FFI: c_th2f_fitslicesy :: (Ptr RawTH2F) -> (Ptr RawTF1) -> CInt -> CInt -> CInt -> CString -> (Ptr RawTObjArray) -> IO ()
+ HROOT.Class.FFI: c_th2f_getcorrelationfactor :: (Ptr RawTH2F) -> CInt -> CInt -> IO CDouble
+ HROOT.Class.FFI: c_th2f_getcovariance :: (Ptr RawTH2F) -> CInt -> CInt -> IO CDouble
+ HROOT.Class.FFI: c_th2f_getstats :: (Ptr RawTH2F) -> (Ptr CDouble) -> IO ()
+ HROOT.Class.FFI: c_th2f_integral :: (Ptr RawTH2F) -> CInt -> CInt -> CInt -> CInt -> CString -> IO CDouble
+ HROOT.Class.FFI: c_th2f_interpolate :: (Ptr RawTH2F) -> CDouble -> CDouble -> CDouble -> IO CDouble
+ HROOT.Class.FFI: c_th2f_kolmogorovtest :: (Ptr RawTH2F) -> (Ptr RawTH1) -> CString -> IO CDouble
+ HROOT.Class.FFI: c_th2f_putstats :: (Ptr RawTH2F) -> (Ptr CDouble) -> IO ()
+ HROOT.Class.FFI: c_th2f_rebin2d :: (Ptr RawTH2F) -> CInt -> CInt -> CString -> IO (Ptr RawTH2)
+ HROOT.Class.FFI: c_th2f_rebinx :: (Ptr RawTH2F) -> CInt -> CString -> IO (Ptr RawTH2)
+ HROOT.Class.FFI: c_th2f_rebiny :: (Ptr RawTH2F) -> CInt -> CString -> IO (Ptr RawTH2)
+ HROOT.Class.FFI: c_th2f_reset :: (Ptr RawTH2F) -> CString -> IO ()
+ HROOT.Class.FFI: c_th2f_setshowprojectionx :: (Ptr RawTH2F) -> CInt -> IO ()
+ HROOT.Class.FFI: c_th2f_setshowprojectiony :: (Ptr RawTH2F) -> CInt -> IO ()
+ HROOT.Class.FFI: c_th2f_showbackground :: (Ptr RawTH2F) -> CInt -> CString -> IO (Ptr RawTH1)
+ HROOT.Class.FFI: c_th2f_showpeaks :: (Ptr RawTH2F) -> CDouble -> CString -> CDouble -> IO CInt
+ HROOT.Class.FFI: c_th2f_smooth :: (Ptr RawTH2F) -> CInt -> CString -> IO ()
+ HROOT.Class.FFI: c_th2i_fillrandom2 :: (Ptr RawTH2I) -> (Ptr RawTH1) -> CInt -> IO ()
+ HROOT.Class.FFI: c_th2i_findfirstbinabove2 :: (Ptr RawTH2I) -> CDouble -> CInt -> IO CInt
+ HROOT.Class.FFI: c_th2i_findlastbinabove2 :: (Ptr RawTH2I) -> CDouble -> CInt -> IO CInt
+ HROOT.Class.FFI: c_th2i_fitslicesx :: (Ptr RawTH2I) -> (Ptr RawTF1) -> CInt -> CInt -> CInt -> CString -> (Ptr RawTObjArray) -> IO ()
+ HROOT.Class.FFI: c_th2i_fitslicesy :: (Ptr RawTH2I) -> (Ptr RawTF1) -> CInt -> CInt -> CInt -> CString -> (Ptr RawTObjArray) -> IO ()
+ HROOT.Class.FFI: c_th2i_getcorrelationfactor :: (Ptr RawTH2I) -> CInt -> CInt -> IO CDouble
+ HROOT.Class.FFI: c_th2i_getcovariance :: (Ptr RawTH2I) -> CInt -> CInt -> IO CDouble
+ HROOT.Class.FFI: c_th2i_getstats :: (Ptr RawTH2I) -> (Ptr CDouble) -> IO ()
+ HROOT.Class.FFI: c_th2i_integral :: (Ptr RawTH2I) -> CInt -> CInt -> CInt -> CInt -> CString -> IO CDouble
+ HROOT.Class.FFI: c_th2i_interpolate :: (Ptr RawTH2I) -> CDouble -> CDouble -> CDouble -> IO CDouble
+ HROOT.Class.FFI: c_th2i_kolmogorovtest :: (Ptr RawTH2I) -> (Ptr RawTH1) -> CString -> IO CDouble
+ HROOT.Class.FFI: c_th2i_putstats :: (Ptr RawTH2I) -> (Ptr CDouble) -> IO ()
+ HROOT.Class.FFI: c_th2i_rebin2d :: (Ptr RawTH2I) -> CInt -> CInt -> CString -> IO (Ptr RawTH2)
+ HROOT.Class.FFI: c_th2i_rebinx :: (Ptr RawTH2I) -> CInt -> CString -> IO (Ptr RawTH2)
+ HROOT.Class.FFI: c_th2i_rebiny :: (Ptr RawTH2I) -> CInt -> CString -> IO (Ptr RawTH2)
+ HROOT.Class.FFI: c_th2i_reset :: (Ptr RawTH2I) -> CString -> IO ()
+ HROOT.Class.FFI: c_th2i_setshowprojectionx :: (Ptr RawTH2I) -> CInt -> IO ()
+ HROOT.Class.FFI: c_th2i_setshowprojectiony :: (Ptr RawTH2I) -> CInt -> IO ()
+ HROOT.Class.FFI: c_th2i_showbackground :: (Ptr RawTH2I) -> CInt -> CString -> IO (Ptr RawTH1)
+ HROOT.Class.FFI: c_th2i_showpeaks :: (Ptr RawTH2I) -> CDouble -> CString -> CDouble -> IO CInt
+ HROOT.Class.FFI: c_th2i_smooth :: (Ptr RawTH2I) -> CInt -> CString -> IO ()
+ HROOT.Class.FFI: c_th2poly_fillrandom2 :: (Ptr RawTH2Poly) -> (Ptr RawTH1) -> CInt -> IO ()
+ HROOT.Class.FFI: c_th2poly_findfirstbinabove2 :: (Ptr RawTH2Poly) -> CDouble -> CInt -> IO CInt
+ HROOT.Class.FFI: c_th2poly_findlastbinabove2 :: (Ptr RawTH2Poly) -> CDouble -> CInt -> IO CInt
+ HROOT.Class.FFI: c_th2poly_fitslicesx :: (Ptr RawTH2Poly) -> (Ptr RawTF1) -> CInt -> CInt -> CInt -> CString -> (Ptr RawTObjArray) -> IO ()
+ HROOT.Class.FFI: c_th2poly_fitslicesy :: (Ptr RawTH2Poly) -> (Ptr RawTF1) -> CInt -> CInt -> CInt -> CString -> (Ptr RawTObjArray) -> IO ()
+ HROOT.Class.FFI: c_th2poly_getcorrelationfactor :: (Ptr RawTH2Poly) -> CInt -> CInt -> IO CDouble
+ HROOT.Class.FFI: c_th2poly_getcovariance :: (Ptr RawTH2Poly) -> CInt -> CInt -> IO CDouble
+ HROOT.Class.FFI: c_th2poly_getstats :: (Ptr RawTH2Poly) -> (Ptr CDouble) -> IO ()
+ HROOT.Class.FFI: c_th2poly_integral :: (Ptr RawTH2Poly) -> CInt -> CInt -> CInt -> CInt -> CString -> IO CDouble
+ HROOT.Class.FFI: c_th2poly_interpolate :: (Ptr RawTH2Poly) -> CDouble -> CDouble -> CDouble -> IO CDouble
+ HROOT.Class.FFI: c_th2poly_kolmogorovtest :: (Ptr RawTH2Poly) -> (Ptr RawTH1) -> CString -> IO CDouble
+ HROOT.Class.FFI: c_th2poly_putstats :: (Ptr RawTH2Poly) -> (Ptr CDouble) -> IO ()
+ HROOT.Class.FFI: c_th2poly_rebin2d :: (Ptr RawTH2Poly) -> CInt -> CInt -> CString -> IO (Ptr RawTH2)
+ HROOT.Class.FFI: c_th2poly_rebinx :: (Ptr RawTH2Poly) -> CInt -> CString -> IO (Ptr RawTH2)
+ HROOT.Class.FFI: c_th2poly_rebiny :: (Ptr RawTH2Poly) -> CInt -> CString -> IO (Ptr RawTH2)
+ HROOT.Class.FFI: c_th2poly_reset :: (Ptr RawTH2Poly) -> CString -> IO ()
+ HROOT.Class.FFI: c_th2poly_setshowprojectionx :: (Ptr RawTH2Poly) -> CInt -> IO ()
+ HROOT.Class.FFI: c_th2poly_setshowprojectiony :: (Ptr RawTH2Poly) -> CInt -> IO ()
+ HROOT.Class.FFI: c_th2poly_showbackground :: (Ptr RawTH2Poly) -> CInt -> CString -> IO (Ptr RawTH1)
+ HROOT.Class.FFI: c_th2poly_showpeaks :: (Ptr RawTH2Poly) -> CDouble -> CString -> CDouble -> IO CInt
+ HROOT.Class.FFI: c_th2poly_smooth :: (Ptr RawTH2Poly) -> CInt -> CString -> IO ()
+ HROOT.Class.FFI: c_th2s_fillrandom2 :: (Ptr RawTH2S) -> (Ptr RawTH1) -> CInt -> IO ()
+ HROOT.Class.FFI: c_th2s_findfirstbinabove2 :: (Ptr RawTH2S) -> CDouble -> CInt -> IO CInt
+ HROOT.Class.FFI: c_th2s_findlastbinabove2 :: (Ptr RawTH2S) -> CDouble -> CInt -> IO CInt
+ HROOT.Class.FFI: c_th2s_fitslicesx :: (Ptr RawTH2S) -> (Ptr RawTF1) -> CInt -> CInt -> CInt -> CString -> (Ptr RawTObjArray) -> IO ()
+ HROOT.Class.FFI: c_th2s_fitslicesy :: (Ptr RawTH2S) -> (Ptr RawTF1) -> CInt -> CInt -> CInt -> CString -> (Ptr RawTObjArray) -> IO ()
+ HROOT.Class.FFI: c_th2s_getcorrelationfactor :: (Ptr RawTH2S) -> CInt -> CInt -> IO CDouble
+ HROOT.Class.FFI: c_th2s_getcovariance :: (Ptr RawTH2S) -> CInt -> CInt -> IO CDouble
+ HROOT.Class.FFI: c_th2s_getstats :: (Ptr RawTH2S) -> (Ptr CDouble) -> IO ()
+ HROOT.Class.FFI: c_th2s_integral :: (Ptr RawTH2S) -> CInt -> CInt -> CInt -> CInt -> CString -> IO CDouble
+ HROOT.Class.FFI: c_th2s_interpolate :: (Ptr RawTH2S) -> CDouble -> CDouble -> CDouble -> IO CDouble
+ HROOT.Class.FFI: c_th2s_kolmogorovtest :: (Ptr RawTH2S) -> (Ptr RawTH1) -> CString -> IO CDouble
+ HROOT.Class.FFI: c_th2s_putstats :: (Ptr RawTH2S) -> (Ptr CDouble) -> IO ()
+ HROOT.Class.FFI: c_th2s_rebin2d :: (Ptr RawTH2S) -> CInt -> CInt -> CString -> IO (Ptr RawTH2)
+ HROOT.Class.FFI: c_th2s_rebinx :: (Ptr RawTH2S) -> CInt -> CString -> IO (Ptr RawTH2)
+ HROOT.Class.FFI: c_th2s_rebiny :: (Ptr RawTH2S) -> CInt -> CString -> IO (Ptr RawTH2)
+ HROOT.Class.FFI: c_th2s_reset :: (Ptr RawTH2S) -> CString -> IO ()
+ HROOT.Class.FFI: c_th2s_setshowprojectionx :: (Ptr RawTH2S) -> CInt -> IO ()
+ HROOT.Class.FFI: c_th2s_setshowprojectiony :: (Ptr RawTH2S) -> CInt -> IO ()
+ HROOT.Class.FFI: c_th2s_showbackground :: (Ptr RawTH2S) -> CInt -> CString -> IO (Ptr RawTH1)
+ HROOT.Class.FFI: c_th2s_showpeaks :: (Ptr RawTH2S) -> CDouble -> CString -> CDouble -> IO CInt
+ HROOT.Class.FFI: c_th2s_smooth :: (Ptr RawTH2S) -> CInt -> CString -> IO ()
+ HROOT.Class.FFI: c_tobjarray_delete :: (Ptr RawTObjArray) -> IO ()
+ HROOT.Class.FFI: c_tobjarray_draw :: (Ptr RawTObjArray) -> CString -> IO ()
+ HROOT.Class.FFI: c_tobjarray_findobject :: (Ptr RawTObjArray) -> CString -> IO (Ptr RawTObject)
+ HROOT.Class.FFI: c_tobjarray_getname :: (Ptr RawTObjArray) -> IO CString
+ HROOT.Class.FFI: c_tobjarray_isa :: (Ptr RawTObjArray) -> IO (Ptr RawTClass)
+ HROOT.Class.FFI: c_tobjarray_saveas :: (Ptr RawTObjArray) -> CString -> CString -> IO ()
+ HROOT.Class.FFI: c_tobjarray_write :: (Ptr RawTObjArray) -> CString -> CInt -> CInt -> IO CInt
+ HROOT.Class.FFI: c_tseqcollection_delete :: (Ptr RawTSeqCollection) -> IO ()
+ HROOT.Class.FFI: c_tseqcollection_draw :: (Ptr RawTSeqCollection) -> CString -> IO ()
+ HROOT.Class.FFI: c_tseqcollection_findobject :: (Ptr RawTSeqCollection) -> CString -> IO (Ptr RawTObject)
+ HROOT.Class.FFI: c_tseqcollection_getname :: (Ptr RawTSeqCollection) -> IO CString
+ HROOT.Class.FFI: c_tseqcollection_isa :: (Ptr RawTSeqCollection) -> IO (Ptr RawTClass)
+ HROOT.Class.FFI: c_tseqcollection_saveas :: (Ptr RawTSeqCollection) -> CString -> CString -> IO ()
+ HROOT.Class.FFI: c_tseqcollection_write :: (Ptr RawTSeqCollection) -> CString -> CInt -> CInt -> IO CInt
+ HROOT.Class.Implementation: instance [incoherent] (ITCollection a, FPtr a) => Castable a (Ptr RawTCollection)
+ HROOT.Class.Implementation: instance [incoherent] (ITObjArray a, FPtr a) => Castable a (Ptr RawTObjArray)
+ HROOT.Class.Implementation: instance [incoherent] (ITSeqCollection a, FPtr a) => Castable a (Ptr RawTSeqCollection)
+ HROOT.Class.Implementation: instance [incoherent] Castable (Exist TCollection) (Ptr RawTCollection)
+ HROOT.Class.Implementation: instance [incoherent] Castable (Exist TObjArray) (Ptr RawTObjArray)
+ HROOT.Class.Implementation: instance [incoherent] Castable (Exist TSeqCollection) (Ptr RawTSeqCollection)
+ HROOT.Class.Implementation: instance [incoherent] FPtr (Exist TCollection)
+ HROOT.Class.Implementation: instance [incoherent] FPtr (Exist TObjArray)
+ HROOT.Class.Implementation: instance [incoherent] FPtr (Exist TSeqCollection)
+ HROOT.Class.Implementation: instance [incoherent] IDeletable TCollection
+ HROOT.Class.Implementation: instance [incoherent] IDeletable TObjArray
+ HROOT.Class.Implementation: instance [incoherent] IDeletable TSeqCollection
+ HROOT.Class.Implementation: instance [incoherent] ITCollection TCollection
+ HROOT.Class.Implementation: instance [incoherent] ITCollection TObjArray
+ HROOT.Class.Implementation: instance [incoherent] ITCollection TSeqCollection
+ HROOT.Class.Implementation: instance [incoherent] ITObjArray TObjArray
+ HROOT.Class.Implementation: instance [incoherent] ITObject TCollection
+ HROOT.Class.Implementation: instance [incoherent] ITObject TObjArray
+ HROOT.Class.Implementation: instance [incoherent] ITObject TSeqCollection
+ HROOT.Class.Implementation: instance [incoherent] ITSeqCollection TObjArray
+ HROOT.Class.Implementation: instance [incoherent] ITSeqCollection TSeqCollection
+ HROOT.Class.Implementation: newTH2D :: String -> String -> Int -> Double -> Double -> Int -> Double -> Double -> IO TH2D
+ HROOT.Class.Implementation: tH2ProjectionX :: TH2 -> String -> Int -> Int -> String -> IO TH1D
+ HROOT.Class.Implementation: tH2ProjectionY :: TH2 -> String -> Int -> Int -> String -> IO TH1D
+ HROOT.Class.Interface: TCollection :: (ForeignPtr RawTCollection) -> TCollection
+ HROOT.Class.Interface: TObjArray :: (ForeignPtr RawTObjArray) -> TObjArray
+ HROOT.Class.Interface: TSeqCollection :: (ForeignPtr RawTSeqCollection) -> TSeqCollection
+ HROOT.Class.Interface: class ITObject a => ITCollection a
+ HROOT.Class.Interface: class ITSeqCollection a => ITObjArray a
+ HROOT.Class.Interface: class ITCollection a => ITSeqCollection a
+ HROOT.Class.Interface: data RawTCollection
+ HROOT.Class.Interface: data RawTObjArray
+ HROOT.Class.Interface: data RawTSeqCollection
+ HROOT.Class.Interface: fillRandom2 :: (ITH2 a, ITH1 c0, FPtr c0) => a -> c0 -> Int -> IO ()
+ HROOT.Class.Interface: findFirstBinAbove2 :: ITH2 a => a -> Double -> Int -> IO Int
+ HROOT.Class.Interface: findLastBinAbove2 :: ITH2 a => a -> Double -> Int -> IO Int
+ HROOT.Class.Interface: fitSlicesX :: (ITH2 a, ITObjArray c1, FPtr c1, ITF1 c0, FPtr c0) => a -> c0 -> Int -> Int -> Int -> String -> c1 -> IO ()
+ HROOT.Class.Interface: fitSlicesY :: (ITH2 a, ITObjArray c1, FPtr c1, ITF1 c0, FPtr c0) => a -> c0 -> Int -> Int -> Int -> String -> c1 -> IO ()
+ HROOT.Class.Interface: getCorrelationFactor :: ITH2 a => a -> Int -> Int -> IO Double
+ HROOT.Class.Interface: getCovariance :: ITH2 a => a -> Int -> Int -> IO Double
+ HROOT.Class.Interface: getStats :: ITH2 a => a -> [Double] -> IO ()
+ HROOT.Class.Interface: instance [incoherent] Eq TCollection
+ HROOT.Class.Interface: instance [incoherent] Eq TObjArray
+ HROOT.Class.Interface: instance [incoherent] Eq TSeqCollection
+ HROOT.Class.Interface: instance [incoherent] Existable TCollection
+ HROOT.Class.Interface: instance [incoherent] Existable TObjArray
+ HROOT.Class.Interface: instance [incoherent] Existable TSeqCollection
+ HROOT.Class.Interface: instance [incoherent] FPtr TCollection
+ HROOT.Class.Interface: instance [incoherent] FPtr TObjArray
+ HROOT.Class.Interface: instance [incoherent] FPtr TSeqCollection
+ HROOT.Class.Interface: instance [incoherent] Ord TCollection
+ HROOT.Class.Interface: instance [incoherent] Ord TObjArray
+ HROOT.Class.Interface: instance [incoherent] Ord TSeqCollection
+ HROOT.Class.Interface: instance [incoherent] Show TCollection
+ HROOT.Class.Interface: instance [incoherent] Show TObjArray
+ HROOT.Class.Interface: instance [incoherent] Show TSeqCollection
+ HROOT.Class.Interface: integral :: ITH2 a => a -> Int -> Int -> Int -> Int -> String -> IO Double
+ HROOT.Class.Interface: interpolate :: ITH2 a => a -> Double -> Double -> Double -> IO Double
+ HROOT.Class.Interface: kolmogorovTest :: (ITH2 a, ITH1 c0, FPtr c0) => a -> c0 -> String -> IO Double
+ HROOT.Class.Interface: newtype TCollection
+ HROOT.Class.Interface: newtype TObjArray
+ HROOT.Class.Interface: newtype TSeqCollection
+ HROOT.Class.Interface: putStats :: ITH2 a => a -> [Double] -> IO ()
+ HROOT.Class.Interface: rebin2D :: ITH2 a => a -> Int -> Int -> String -> IO (Exist TH2)
+ HROOT.Class.Interface: rebinX :: ITH2 a => a -> Int -> String -> IO (Exist TH2)
+ HROOT.Class.Interface: rebinY :: ITH2 a => a -> Int -> String -> IO (Exist TH2)
+ HROOT.Class.Interface: reset :: ITH2 a => a -> String -> IO ()
+ HROOT.Class.Interface: setShowProjectionX :: ITH2 a => a -> Int -> IO ()
+ HROOT.Class.Interface: setShowProjectionY :: ITH2 a => a -> Int -> IO ()
+ HROOT.Class.Interface: showBackground :: ITH2 a => a -> Int -> String -> IO (Exist TH1)
+ HROOT.Class.Interface: showPeaks :: ITH2 a => a -> Double -> String -> Double -> IO Int
+ HROOT.Class.Interface: smooth :: ITH2 a => a -> Int -> String -> IO ()
+ HROOT.Class.Interface: upcastTApplication :: (FPtr a, ITApplication a) => a -> TApplication
+ HROOT.Class.Interface: upcastTArc :: (FPtr a, ITArc a) => a -> TArc
+ HROOT.Class.Interface: upcastTArray :: (FPtr a, ITArray a) => a -> TArray
+ HROOT.Class.Interface: upcastTArrayC :: (FPtr a, ITArrayC a) => a -> TArrayC
+ HROOT.Class.Interface: upcastTArrayD :: (FPtr a, ITArrayD a) => a -> TArrayD
+ HROOT.Class.Interface: upcastTArrayF :: (FPtr a, ITArrayF a) => a -> TArrayF
+ HROOT.Class.Interface: upcastTArrayI :: (FPtr a, ITArrayI a) => a -> TArrayI
+ HROOT.Class.Interface: upcastTArrayL :: (FPtr a, ITArrayL a) => a -> TArrayL
+ HROOT.Class.Interface: upcastTArrayL64 :: (FPtr a, ITArrayL64 a) => a -> TArrayL64
+ HROOT.Class.Interface: upcastTArrayS :: (FPtr a, ITArrayS a) => a -> TArrayS
+ HROOT.Class.Interface: upcastTArrow :: (FPtr a, ITArrow a) => a -> TArrow
+ HROOT.Class.Interface: upcastTAtt3D :: (FPtr a, ITAtt3D a) => a -> TAtt3D
+ HROOT.Class.Interface: upcastTAttAxis :: (FPtr a, ITAttAxis a) => a -> TAttAxis
+ HROOT.Class.Interface: upcastTAttBBox :: (FPtr a, ITAttBBox a) => a -> TAttBBox
+ HROOT.Class.Interface: upcastTAttCanvas :: (FPtr a, ITAttCanvas a) => a -> TAttCanvas
+ HROOT.Class.Interface: upcastTAttFill :: (FPtr a, ITAttFill a) => a -> TAttFill
+ HROOT.Class.Interface: upcastTAttImage :: (FPtr a, ITAttImage a) => a -> TAttImage
+ HROOT.Class.Interface: upcastTAttLine :: (FPtr a, ITAttLine a) => a -> TAttLine
+ HROOT.Class.Interface: upcastTAttMarker :: (FPtr a, ITAttMarker a) => a -> TAttMarker
+ HROOT.Class.Interface: upcastTAttPad :: (FPtr a, ITAttPad a) => a -> TAttPad
+ HROOT.Class.Interface: upcastTAttParticle :: (FPtr a, ITAttParticle a) => a -> TAttParticle
+ HROOT.Class.Interface: upcastTAttText :: (FPtr a, ITAttText a) => a -> TAttText
+ HROOT.Class.Interface: upcastTAxis :: (FPtr a, ITAxis a) => a -> TAxis
+ HROOT.Class.Interface: upcastTBRIK :: (FPtr a, ITBRIK a) => a -> TBRIK
+ HROOT.Class.Interface: upcastTBox :: (FPtr a, ITBox a) => a -> TBox
+ HROOT.Class.Interface: upcastTBranch :: (FPtr a, ITBranch a) => a -> TBranch
+ HROOT.Class.Interface: upcastTButton :: (FPtr a, ITButton a) => a -> TButton
+ HROOT.Class.Interface: upcastTCanvas :: (FPtr a, ITCanvas a) => a -> TCanvas
+ HROOT.Class.Interface: upcastTChain :: (FPtr a, ITChain a) => a -> TChain
+ HROOT.Class.Interface: upcastTClass :: (FPtr a, ITClass a) => a -> TClass
+ HROOT.Class.Interface: upcastTCollection :: (FPtr a, ITCollection a) => a -> TCollection
+ HROOT.Class.Interface: upcastTCrown :: (FPtr a, ITCrown a) => a -> TCrown
+ HROOT.Class.Interface: upcastTCurlyArc :: (FPtr a, ITCurlyArc a) => a -> TCurlyArc
+ HROOT.Class.Interface: upcastTCurlyLine :: (FPtr a, ITCurlyLine a) => a -> TCurlyLine
+ HROOT.Class.Interface: upcastTCutG :: (FPtr a, ITCutG a) => a -> TCutG
+ HROOT.Class.Interface: upcastTDialogCanvas :: (FPtr a, ITDialogCanvas a) => a -> TDialogCanvas
+ HROOT.Class.Interface: upcastTDiamond :: (FPtr a, ITDiamond a) => a -> TDiamond
+ HROOT.Class.Interface: upcastTDirectory :: (FPtr a, ITDirectory a) => a -> TDirectory
+ HROOT.Class.Interface: upcastTDirectoryFile :: (FPtr a, ITDirectoryFile a) => a -> TDirectoryFile
+ HROOT.Class.Interface: upcastTEfficiency :: (FPtr a, ITEfficiency a) => a -> TEfficiency
+ HROOT.Class.Interface: upcastTEllipse :: (FPtr a, ITEllipse a) => a -> TEllipse
+ HROOT.Class.Interface: upcastTEvePad :: (FPtr a, ITEvePad a) => a -> TEvePad
+ HROOT.Class.Interface: upcastTF1 :: (FPtr a, ITF1 a) => a -> TF1
+ HROOT.Class.Interface: upcastTFile :: (FPtr a, ITFile a) => a -> TFile
+ HROOT.Class.Interface: upcastTFormula :: (FPtr a, ITFormula a) => a -> TFormula
+ HROOT.Class.Interface: upcastTFrame :: (FPtr a, ITFrame a) => a -> TFrame
+ HROOT.Class.Interface: upcastTGaxis :: (FPtr a, ITGaxis a) => a -> TGaxis
+ HROOT.Class.Interface: upcastTGraph :: (FPtr a, ITGraph a) => a -> TGraph
+ HROOT.Class.Interface: upcastTGraphAsymmErrors :: (FPtr a, ITGraphAsymmErrors a) => a -> TGraphAsymmErrors
+ HROOT.Class.Interface: upcastTGraphBentErrors :: (FPtr a, ITGraphBentErrors a) => a -> TGraphBentErrors
+ HROOT.Class.Interface: upcastTGraphErrors :: (FPtr a, ITGraphErrors a) => a -> TGraphErrors
+ HROOT.Class.Interface: upcastTGraphPolar :: (FPtr a, ITGraphPolar a) => a -> TGraphPolar
+ HROOT.Class.Interface: upcastTGraphQQ :: (FPtr a, ITGraphQQ a) => a -> TGraphQQ
+ HROOT.Class.Interface: upcastTGroupButton :: (FPtr a, ITGroupButton a) => a -> TGroupButton
+ HROOT.Class.Interface: upcastTH1 :: (FPtr a, ITH1 a) => a -> TH1
+ HROOT.Class.Interface: upcastTH1C :: (FPtr a, ITH1C a) => a -> TH1C
+ HROOT.Class.Interface: upcastTH1D :: (FPtr a, ITH1D a) => a -> TH1D
+ HROOT.Class.Interface: upcastTH1F :: (FPtr a, ITH1F a) => a -> TH1F
+ HROOT.Class.Interface: upcastTH1I :: (FPtr a, ITH1I a) => a -> TH1I
+ HROOT.Class.Interface: upcastTH1S :: (FPtr a, ITH1S a) => a -> TH1S
+ HROOT.Class.Interface: upcastTH2 :: (FPtr a, ITH2 a) => a -> TH2
+ HROOT.Class.Interface: upcastTH2C :: (FPtr a, ITH2C a) => a -> TH2C
+ HROOT.Class.Interface: upcastTH2D :: (FPtr a, ITH2D a) => a -> TH2D
+ HROOT.Class.Interface: upcastTH2F :: (FPtr a, ITH2F a) => a -> TH2F
+ HROOT.Class.Interface: upcastTH2I :: (FPtr a, ITH2I a) => a -> TH2I
+ HROOT.Class.Interface: upcastTH2Poly :: (FPtr a, ITH2Poly a) => a -> TH2Poly
+ HROOT.Class.Interface: upcastTH2S :: (FPtr a, ITH2S a) => a -> TH2S
+ HROOT.Class.Interface: upcastTH3 :: (FPtr a, ITH3 a) => a -> TH3
+ HROOT.Class.Interface: upcastTH3C :: (FPtr a, ITH3C a) => a -> TH3C
+ HROOT.Class.Interface: upcastTH3D :: (FPtr a, ITH3D a) => a -> TH3D
+ HROOT.Class.Interface: upcastTH3F :: (FPtr a, ITH3F a) => a -> TH3F
+ HROOT.Class.Interface: upcastTH3I :: (FPtr a, ITH3I a) => a -> TH3I
+ HROOT.Class.Interface: upcastTH3S :: (FPtr a, ITH3S a) => a -> TH3S
+ HROOT.Class.Interface: upcastTHStack :: (FPtr a, ITHStack a) => a -> THStack
+ HROOT.Class.Interface: upcastTInspectCanvas :: (FPtr a, ITInspectCanvas a) => a -> TInspectCanvas
+ HROOT.Class.Interface: upcastTLatex :: (FPtr a, ITLatex a) => a -> TLatex
+ HROOT.Class.Interface: upcastTLegend :: (FPtr a, ITLegend a) => a -> TLegend
+ HROOT.Class.Interface: upcastTLine :: (FPtr a, ITLine a) => a -> TLine
+ HROOT.Class.Interface: upcastTNamed :: (FPtr a, ITNamed a) => a -> TNamed
+ HROOT.Class.Interface: upcastTNtuple :: (FPtr a, ITNtuple a) => a -> TNtuple
+ HROOT.Class.Interface: upcastTNtupleD :: (FPtr a, ITNtupleD a) => a -> TNtupleD
+ HROOT.Class.Interface: upcastTObjArray :: (FPtr a, ITObjArray a) => a -> TObjArray
+ HROOT.Class.Interface: upcastTObject :: (FPtr a, ITObject a) => a -> TObject
+ HROOT.Class.Interface: upcastTPCON :: (FPtr a, ITPCON a) => a -> TPCON
+ HROOT.Class.Interface: upcastTPad :: (FPtr a, ITPad a) => a -> TPad
+ HROOT.Class.Interface: upcastTPave :: (FPtr a, ITPave a) => a -> TPave
+ HROOT.Class.Interface: upcastTPaveClass :: (FPtr a, ITPaveClass a) => a -> TPaveClass
+ HROOT.Class.Interface: upcastTPaveLabel :: (FPtr a, ITPaveLabel a) => a -> TPaveLabel
+ HROOT.Class.Interface: upcastTPaveStats :: (FPtr a, ITPaveStats a) => a -> TPaveStats
+ HROOT.Class.Interface: upcastTPaveText :: (FPtr a, ITPaveText a) => a -> TPaveText
+ HROOT.Class.Interface: upcastTPavesText :: (FPtr a, ITPavesText a) => a -> TPavesText
+ HROOT.Class.Interface: upcastTPolyLine :: (FPtr a, ITPolyLine a) => a -> TPolyLine
+ HROOT.Class.Interface: upcastTQObject :: (FPtr a, ITQObject a) => a -> TQObject
+ HROOT.Class.Interface: upcastTRandom :: (FPtr a, ITRandom a) => a -> TRandom
+ HROOT.Class.Interface: upcastTRint :: (FPtr a, ITRint a) => a -> TRint
+ HROOT.Class.Interface: upcastTSPHE :: (FPtr a, ITSPHE a) => a -> TSPHE
+ HROOT.Class.Interface: upcastTSeqCollection :: (FPtr a, ITSeqCollection a) => a -> TSeqCollection
+ HROOT.Class.Interface: upcastTShape :: (FPtr a, ITShape a) => a -> TShape
+ HROOT.Class.Interface: upcastTSlider :: (FPtr a, ITSlider a) => a -> TSlider
+ HROOT.Class.Interface: upcastTSliderBox :: (FPtr a, ITSliderBox a) => a -> TSliderBox
+ HROOT.Class.Interface: upcastTTUBE :: (FPtr a, ITTUBE a) => a -> TTUBE
+ HROOT.Class.Interface: upcastTText :: (FPtr a, ITText a) => a -> TText
+ HROOT.Class.Interface: upcastTTree :: (FPtr a, ITTree a) => a -> TTree
+ HROOT.Class.Interface: upcastTTreePlayer :: (FPtr a, ITTreePlayer a) => a -> TTreePlayer
+ HROOT.Class.Interface: upcastTTreeSQL :: (FPtr a, ITTreeSQL a) => a -> TTreeSQL
+ HROOT.Class.Interface: upcastTVirtualPad :: (FPtr a, ITVirtualPad a) => a -> TVirtualPad
+ HROOT.Class.Interface: upcastTVirtualTreePlayer :: (FPtr a, ITVirtualTreePlayer a) => a -> TVirtualTreePlayer
+ HROOT.Class.Interface: upcastTWbox :: (FPtr a, ITWbox a) => a -> TWbox
+ HROOT.Class.Interface: upcastTXTRU :: (FPtr a, ITXTRU a) => a -> TXTRU
+ HROOT.Class.TCollection: TCollection :: (ForeignPtr RawTCollection) -> TCollection
+ HROOT.Class.TCollection: class ITObject a => ITCollection a
+ HROOT.Class.TCollection: newtype TCollection
+ HROOT.Class.TH2: fillRandom2 :: (ITH2 a, ITH1 c0, FPtr c0) => a -> c0 -> Int -> IO ()
+ HROOT.Class.TH2: findFirstBinAbove2 :: ITH2 a => a -> Double -> Int -> IO Int
+ HROOT.Class.TH2: findLastBinAbove2 :: ITH2 a => a -> Double -> Int -> IO Int
+ HROOT.Class.TH2: fitSlicesX :: (ITH2 a, ITObjArray c1, FPtr c1, ITF1 c0, FPtr c0) => a -> c0 -> Int -> Int -> Int -> String -> c1 -> IO ()
+ HROOT.Class.TH2: fitSlicesY :: (ITH2 a, ITObjArray c1, FPtr c1, ITF1 c0, FPtr c0) => a -> c0 -> Int -> Int -> Int -> String -> c1 -> IO ()
+ HROOT.Class.TH2: getCorrelationFactor :: ITH2 a => a -> Int -> Int -> IO Double
+ HROOT.Class.TH2: getCovariance :: ITH2 a => a -> Int -> Int -> IO Double
+ HROOT.Class.TH2: getStats :: ITH2 a => a -> [Double] -> IO ()
+ HROOT.Class.TH2: integral :: ITH2 a => a -> Int -> Int -> Int -> Int -> String -> IO Double
+ HROOT.Class.TH2: interpolate :: ITH2 a => a -> Double -> Double -> Double -> IO Double
+ HROOT.Class.TH2: kolmogorovTest :: (ITH2 a, ITH1 c0, FPtr c0) => a -> c0 -> String -> IO Double
+ HROOT.Class.TH2: putStats :: ITH2 a => a -> [Double] -> IO ()
+ HROOT.Class.TH2: rebin2D :: ITH2 a => a -> Int -> Int -> String -> IO (Exist TH2)
+ HROOT.Class.TH2: rebinX :: ITH2 a => a -> Int -> String -> IO (Exist TH2)
+ HROOT.Class.TH2: rebinY :: ITH2 a => a -> Int -> String -> IO (Exist TH2)
+ HROOT.Class.TH2: reset :: ITH2 a => a -> String -> IO ()
+ HROOT.Class.TH2: setShowProjectionX :: ITH2 a => a -> Int -> IO ()
+ HROOT.Class.TH2: setShowProjectionY :: ITH2 a => a -> Int -> IO ()
+ HROOT.Class.TH2: showBackground :: ITH2 a => a -> Int -> String -> IO (Exist TH1)
+ HROOT.Class.TH2: showPeaks :: ITH2 a => a -> Double -> String -> Double -> IO Int
+ HROOT.Class.TH2: smooth :: ITH2 a => a -> Int -> String -> IO ()
+ HROOT.Class.TObjArray: TObjArray :: (ForeignPtr RawTObjArray) -> TObjArray
+ HROOT.Class.TObjArray: class ITSeqCollection a => ITObjArray a
+ HROOT.Class.TObjArray: newtype TObjArray
+ HROOT.Class.TSeqCollection: TSeqCollection :: (ForeignPtr RawTSeqCollection) -> TSeqCollection
+ HROOT.Class.TSeqCollection: class ITCollection a => ITSeqCollection a
+ HROOT.Class.TSeqCollection: newtype TSeqCollection

Files

HROOT.cabal view
@@ -1,5 +1,5 @@ Name:		HROOT-Version:	0.6.3+Version:	0.6.4 Synopsis:	Wrapper for ROOT Description: 	Haskell FFI binding for ROOT   Homepage:       http://ianwookim.org/HROOT@@ -10,7 +10,7 @@ Category:       Graphics Tested-with:    GHC >= 7.0.2 && <= 7.0.3 Build-Type: 	Custom-cabal-version:  >=1.6+cabal-version:  >=1.10 Extra-source-files: CHANGES                     Config.hs                     csrc/HROOT.h@@ -20,12 +20,20 @@                     example/random2d.hs                     example/random2dApp.hs                     example/saveAsROOT.hs+                    test/compiletest.hs Source-repository head   type:     darcs   location: http://ianwookim.org/public/repo/HROOT +-- Test-Suite compiletest+--   default-language: Haskell2010+--   type: exitcode-stdio-1.0+--   main-is: compiletest.hs+--   build-depends: base>4, base<5, HROOT==0.6.4+--   hs-source-dirs: test  Library+  default-language: Haskell2010   hs-source-dirs: src   ghc-options:  -Wall -funbox-strict-fields -fno-warn-unused-do-bind -fno-warn-orphans   ghc-prof-options: -caf-all -auto-all@@ -128,6 +136,9 @@                        HROOT.Class.TH2Poly                        HROOT.Class.TH2S                        HROOT.Class.TH3C+                       HROOT.Class.TCollection+                       HROOT.Class.TSeqCollection+                       HROOT.Class.TObjArray     --                      HROOT@@ -137,7 +148,7 @@ --                      HROOT.AddOn --                      HROOT.AddOnFunction   extra-libraries:    stdc++-  Extensions:	      ForeignFunctionInterface+-- default-extensions:	      ForeignFunctionInterface   Include-dirs:       csrc   Install-includes:   HROOT.h                       addon.h
csrc/HROOT.cpp view
@@ -130,7 +130,12 @@ #include "TRint.h"  #include "TRandom.h"+#include "TProfile.h"+#include "TCollection.h"+#include "TSeqCollection.h"+#include "TObjArray.h" + using namespace std;  @@ -740,6 +745,90 @@ int  Type ## _fill2 ( Type ## _p p, double x, double y )\ {\ return to_nonconst<Type,Type ## _t>(p)->Fill(x, y);\+}\+void Type ## _fillRandom2 ( Type ## _p p, TH1_p h, int  ntimes )\+{\+to_nonconst<Type,Type ## _t>(p)->FillRandom(to_nonconst<TH1,TH1_t>(h), ntimes);\+}\+int  Type ## _findFirstBinAbove2 ( Type ## _p p, double threshold, int  axis )\+{\+return to_nonconst<Type,Type ## _t>(p)->FindFirstBinAbove(threshold, axis);\+}\+int  Type ## _findLastBinAbove2 ( Type ## _p p, double threshold, int  axis )\+{\+return to_nonconst<Type,Type ## _t>(p)->FindLastBinAbove(threshold, axis);\+}\+void Type ## _FitSlicesX ( Type ## _p p, TF1_p f1, int  firstybin, int  lastybin, int  cut, const char * option, TObjArray_p arr )\+{\+to_nonconst<Type,Type ## _t>(p)->FitSlicesX(to_nonconst<TF1,TF1_t>(f1), firstybin, lastybin, cut, option, to_nonconst<TObjArray,TObjArray_t>(arr));\+}\+void Type ## _FitSlicesY ( Type ## _p p, TF1_p f1, int  firstxbin, int  lastxbin, int  cut, const char * option, TObjArray_p arr )\+{\+to_nonconst<Type,Type ## _t>(p)->FitSlicesY(to_nonconst<TF1,TF1_t>(f1), firstxbin, lastxbin, cut, option, to_nonconst<TObjArray,TObjArray_t>(arr));\+}\+double Type ## _GetCorrelationFactor ( Type ## _p p, int  axis1, int  axis2 )\+{\+return to_nonconst<Type,Type ## _t>(p)->GetCorrelationFactor(axis1, axis2);\+}\+double Type ## _GetCovariance ( Type ## _p p, int  axis1, int  axis2 )\+{\+return to_nonconst<Type,Type ## _t>(p)->GetCovariance(axis1, axis2);\+}\+void Type ## _GetStats ( Type ## _p p, double * stats )\+{\+to_nonconst<Type,Type ## _t>(p)->GetStats(stats);\+}\+double Type ## _Integral ( Type ## _p p, int  binx1, int  binx2, int  biny1, int  biny2, const char * option )\+{\+return to_nonconst<Type,Type ## _t>(p)->Integral(binx1, binx2, biny1, biny2, option);\+}\+double Type ## _Interpolate ( Type ## _p p, double x, double y, double z )\+{\+return to_nonconst<Type,Type ## _t>(p)->Interpolate(x, y, z);\+}\+double Type ## _KolmogorovTest ( Type ## _p p, TH1_p h2, const char * option )\+{\+return to_nonconst<Type,Type ## _t>(p)->KolmogorovTest(to_nonconst<TH1,TH1_t>(h2), option);\+}\+TH2_p Type ## _RebinX ( Type ## _p p, int  ngroup, const char * newname )\+{\+return to_nonconst<TH2_t,TH2>((TH2*)to_nonconst<Type,Type ## _t>(p)->RebinX(ngroup, newname));\+}\+TH2_p Type ## _RebinY ( Type ## _p p, int  ngroup, const char * newname )\+{\+return to_nonconst<TH2_t,TH2>((TH2*)to_nonconst<Type,Type ## _t>(p)->RebinY(ngroup, newname));\+}\+TH2_p Type ## _Rebin2D ( Type ## _p p, int  nxgroup, int  nygroup, const char * newname )\+{\+return to_nonconst<TH2_t,TH2>((TH2*)to_nonconst<Type,Type ## _t>(p)->Rebin2D(nxgroup, nygroup, newname));\+}\+void Type ## _PutStats ( Type ## _p p, double * stats )\+{\+to_nonconst<Type,Type ## _t>(p)->PutStats(stats);\+}\+void Type ## _Reset ( Type ## _p p, const char * option )\+{\+to_nonconst<Type,Type ## _t>(p)->Reset(option);\+}\+void Type ## _SetShowProjectionX ( Type ## _p p, int  nbins )\+{\+to_nonconst<Type,Type ## _t>(p)->SetShowProjectionX(nbins);\+}\+void Type ## _SetShowProjectionY ( Type ## _p p, int  nbins )\+{\+to_nonconst<Type,Type ## _t>(p)->SetShowProjectionY(nbins);\+}\+TH1_p Type ## _ShowBackground ( Type ## _p p, int  niter, const char * option )\+{\+return to_nonconst<TH1_t,TH1>((TH1*)to_nonconst<Type,Type ## _t>(p)->ShowBackground(niter, option));\+}\+int  Type ## _ShowPeaks ( Type ## _p p, double sigma, const char * option, double threshold )\+{\+return to_nonconst<Type,Type ## _t>(p)->ShowPeaks(sigma, option, threshold);\+}\+void Type ## _Smooth ( Type ## _p p, int  ntimes, const char * option )\+{\+to_nonconst<Type,Type ## _t>(p)->Smooth(ntimes, option);\ }  #undef ROOT_TH3_DEFINITIONVIRT@@ -879,6 +968,18 @@ return to_nonconst<Type,Type ## _t>(p)->Uniform(x1, x2);\ } +#undef ROOT_TCOLLECTION_DEFINITIONVIRT+#define ROOT_TCOLLECTION_DEFINITIONVIRT(Type)\+++#undef ROOT_TSEQCOLLECTION_DEFINITIONVIRT+#define ROOT_TSEQCOLLECTION_DEFINITIONVIRT(Type)\+++#undef ROOT_TOBJARRAY_DEFINITIONVIRT+#define ROOT_TOBJARRAY_DEFINITIONVIRT(Type)\++ #undef ROOT_DELETABLE_DEFINITIONNONVIRT #define ROOT_DELETABLE_DEFINITIONNONVIRT(Type)\ @@ -1428,7 +1529,14 @@  #undef ROOT_TH2_DEFINITIONNONVIRT #define ROOT_TH2_DEFINITIONNONVIRT(Type)\-+TH1D_p Type ## _tH2ProjectionX ( Type ## _p p, const char * name, int  firstybin, int  lastybin, const char * option )\+{\+return to_nonconst<TH1D_t,TH1D>((TH1D*)to_nonconst<Type,Type ## _t>(p)->ProjectionX(name, firstybin, lastybin, option));\+}\+TH1D_p Type ## _tH2ProjectionY ( Type ## _p p, const char * name, int  firstxbin, int  lastxbin, const char * option )\+{\+return to_nonconst<TH1D_t,TH1D>((TH1D*)to_nonconst<Type,Type ## _t>(p)->ProjectionY(name, firstxbin, lastxbin, option));\+}  #undef ROOT_TH3_DEFINITIONNONVIRT #define ROOT_TH3_DEFINITIONNONVIRT(Type)\@@ -1464,7 +1572,11 @@  #undef ROOT_TH2D_DEFINITIONNONVIRT #define ROOT_TH2D_DEFINITIONNONVIRT(Type)\-+Type ## _p Type ## _newTH2D ( const char * name, const char * title, int  nbinsx, double xlow, double xup, int  nbinsy, double ylow, double yup )\+{\+Type * newp = new Type (name, title, nbinsx, xlow, xup, nbinsy, ylow, yup); \+return to_nonconst<Type ## _t, Type >(newp);\+}  #undef ROOT_TH2F_DEFINITIONNONVIRT #define ROOT_TH2F_DEFINITIONNONVIRT(Type)\@@ -1574,6 +1686,21 @@ return to_nonconst<Type ## _t, Type >(newp);\ } +#undef ROOT_TCOLLECTION_DEFINITIONNONVIRT+#define ROOT_TCOLLECTION_DEFINITIONNONVIRT(Type)\+++#undef ROOT_TSEQCOLLECTION_DEFINITIONNONVIRT+#define ROOT_TSEQCOLLECTION_DEFINITIONNONVIRT(Type)\+++#undef ROOT_TOBJARRAY_DEFINITIONNONVIRT+#define ROOT_TOBJARRAY_DEFINITIONNONVIRT(Type)\+++ROOT_DELETABLE_DEFINITIONVIRT(TObjArray)+ROOT_DELETABLE_DEFINITIONVIRT(TSeqCollection)+ROOT_DELETABLE_DEFINITIONVIRT(TCollection) ROOT_DELETABLE_DEFINITIONVIRT(TRandom) ROOT_DELETABLE_DEFINITIONVIRT(TRint) ROOT_DELETABLE_DEFINITIONVIRT(TApplication)@@ -1968,6 +2095,9 @@ ROOT_TCANVAS_DEFINITIONVIRT(TCanvas) ROOT_TCHAIN_DEFINITIONVIRT(TChain) ROOT_TCLASS_DEFINITIONVIRT(TClass)+ROOT_TCOLLECTION_DEFINITIONVIRT(TObjArray)+ROOT_TCOLLECTION_DEFINITIONVIRT(TSeqCollection)+ROOT_TCOLLECTION_DEFINITIONVIRT(TCollection) ROOT_TCROWN_DEFINITIONVIRT(TCrown) ROOT_TCURLYARC_DEFINITIONVIRT(TCurlyArc) ROOT_TCURLYLINE_DEFINITIONVIRT(TCurlyArc)@@ -2115,6 +2245,10 @@ ROOT_TNAMED_DEFINITIONVIRT(TNamed) ROOT_TNTUPLE_DEFINITIONVIRT(TNtuple) ROOT_TNTUPLED_DEFINITIONVIRT(TNtupleD)+ROOT_TOBJARRAY_DEFINITIONVIRT(TObjArray)+ROOT_TOBJECT_DEFINITIONVIRT(TObjArray)+ROOT_TOBJECT_DEFINITIONVIRT(TSeqCollection)+ROOT_TOBJECT_DEFINITIONVIRT(TCollection) ROOT_TOBJECT_DEFINITIONVIRT(TRandom) ROOT_TOBJECT_DEFINITIONVIRT(TRint) ROOT_TOBJECT_DEFINITIONVIRT(TApplication)@@ -2246,6 +2380,8 @@ ROOT_TRANDOM_DEFINITIONVIRT(TRandom) ROOT_TRINT_DEFINITIONVIRT(TRint) ROOT_TSPHE_DEFINITIONVIRT(TSPHE)+ROOT_TSEQCOLLECTION_DEFINITIONVIRT(TObjArray)+ROOT_TSEQCOLLECTION_DEFINITIONVIRT(TSeqCollection) ROOT_TSHAPE_DEFINITIONVIRT(TXTRU) ROOT_TSHAPE_DEFINITIONVIRT(TSPHE) ROOT_TSHAPE_DEFINITIONVIRT(TPCON)@@ -2389,3 +2525,6 @@ ROOT_TAPPLICATION_DEFINITIONNONVIRT(TApplication) ROOT_TRINT_DEFINITIONNONVIRT(TRint) ROOT_TRANDOM_DEFINITIONNONVIRT(TRandom)+ROOT_TCOLLECTION_DEFINITIONNONVIRT(TCollection)+ROOT_TSEQCOLLECTION_DEFINITIONNONVIRT(TSeqCollection)+ROOT_TOBJARRAY_DEFINITIONNONVIRT(TObjArray)
csrc/HROOT.h view
@@ -382,7 +382,28 @@  #undef ROOT_TH2_DECLARATIONVIRT #define ROOT_TH2_DECLARATIONVIRT(Type) \-int  Type ## _fill2 ( Type ## _p p, double x, double y )+int  Type ## _fill2 ( Type ## _p p, double x, double y ); \+void Type ## _fillRandom2 ( Type ## _p p, TH1_p h, int  ntimes ); \+int  Type ## _findFirstBinAbove2 ( Type ## _p p, double threshold, int  axis ); \+int  Type ## _findLastBinAbove2 ( Type ## _p p, double threshold, int  axis ); \+void Type ## _FitSlicesX ( Type ## _p p, TF1_p f1, int  firstybin, int  lastybin, int  cut, const char * option, TObjArray_p arr ); \+void Type ## _FitSlicesY ( Type ## _p p, TF1_p f1, int  firstxbin, int  lastxbin, int  cut, const char * option, TObjArray_p arr ); \+double Type ## _GetCorrelationFactor ( Type ## _p p, int  axis1, int  axis2 ); \+double Type ## _GetCovariance ( Type ## _p p, int  axis1, int  axis2 ); \+void Type ## _GetStats ( Type ## _p p, double * stats ); \+double Type ## _Integral ( Type ## _p p, int  binx1, int  binx2, int  biny1, int  biny2, const char * option ); \+double Type ## _Interpolate ( Type ## _p p, double x, double y, double z ); \+double Type ## _KolmogorovTest ( Type ## _p p, TH1_p h2, const char * option ); \+TH2_p Type ## _RebinX ( Type ## _p p, int  ngroup, const char * newname ); \+TH2_p Type ## _RebinY ( Type ## _p p, int  ngroup, const char * newname ); \+TH2_p Type ## _Rebin2D ( Type ## _p p, int  nxgroup, int  nygroup, const char * newname ); \+void Type ## _PutStats ( Type ## _p p, double * stats ); \+void Type ## _Reset ( Type ## _p p, const char * option ); \+void Type ## _SetShowProjectionX ( Type ## _p p, int  nbins ); \+void Type ## _SetShowProjectionY ( Type ## _p p, int  nbins ); \+TH1_p Type ## _ShowBackground ( Type ## _p p, int  niter, const char * option ); \+int  Type ## _ShowPeaks ( Type ## _p p, double sigma, const char * option, double threshold ); \+void Type ## _Smooth ( Type ## _p p, int  ntimes, const char * option )  #undef ROOT_TH3_DECLARATIONVIRT #define ROOT_TH3_DECLARATIONVIRT(Type) \@@ -506,6 +527,18 @@ double Type ## _Gaus ( Type ## _p p, double mean, double sigma ); \ double Type ## _Uniform ( Type ## _p p, double x1, double x2 ) +#undef ROOT_TCOLLECTION_DECLARATIONVIRT+#define ROOT_TCOLLECTION_DECLARATIONVIRT(Type) \+++#undef ROOT_TSEQCOLLECTION_DECLARATIONVIRT+#define ROOT_TSEQCOLLECTION_DECLARATIONVIRT(Type) \+++#undef ROOT_TOBJARRAY_DECLARATIONVIRT+#define ROOT_TOBJARRAY_DECLARATIONVIRT(Type) \++ #undef ROOT_DELETABLE_DECLARATIONNONVIRT #define ROOT_DELETABLE_DECLARATIONNONVIRT(Type) \ @@ -746,7 +779,8 @@ TAxis_p Type ## _tH1GetZaxis ( Type ## _p p ) #undef ROOT_TH2_DECLARATIONNONVIRT #define ROOT_TH2_DECLARATIONNONVIRT(Type) \-+TH1D_p Type ## _tH2ProjectionX ( Type ## _p p, const char * name, int  firstybin, int  lastybin, const char * option ); \+TH1D_p Type ## _tH2ProjectionY ( Type ## _p p, const char * name, int  firstxbin, int  lastxbin, const char * option ) #undef ROOT_TH3_DECLARATIONNONVIRT #define ROOT_TH3_DECLARATIONNONVIRT(Type) \ @@ -770,7 +804,7 @@  #undef ROOT_TH2D_DECLARATIONNONVIRT #define ROOT_TH2D_DECLARATIONNONVIRT(Type) \-+Type ## _p Type ## _newTH2D ( const char * name, const char * title, int  nbinsx, double xlow, double xup, int  nbinsy, double ylow, double yup ) #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 )@@ -837,7 +871,16 @@ #undef ROOT_TRANDOM_DECLARATIONNONVIRT #define ROOT_TRANDOM_DECLARATIONNONVIRT(Type) \ Type ## _p Type ## _newTRandom ( int  seed )+#undef ROOT_TCOLLECTION_DECLARATIONNONVIRT+#define ROOT_TCOLLECTION_DECLARATIONNONVIRT(Type) \ +#undef ROOT_TSEQCOLLECTION_DECLARATIONNONVIRT+#define ROOT_TSEQCOLLECTION_DECLARATIONNONVIRT(Type) \++#undef ROOT_TOBJARRAY_DECLARATIONNONVIRT+#define ROOT_TOBJARRAY_DECLARATIONNONVIRT(Type) \++ ROOT_TYPE_DECLARATION(Deletable); ROOT_TYPE_DECLARATION(TObject); ROOT_TYPE_DECLARATION(TNamed);@@ -946,7 +989,13 @@ ROOT_TYPE_DECLARATION(TApplication); ROOT_TYPE_DECLARATION(TRint); ROOT_TYPE_DECLARATION(TRandom);+ROOT_TYPE_DECLARATION(TCollection);+ROOT_TYPE_DECLARATION(TSeqCollection);+ROOT_TYPE_DECLARATION(TObjArray); +ROOT_DELETABLE_DECLARATIONVIRT(TObjArray);+ROOT_DELETABLE_DECLARATIONVIRT(TSeqCollection);+ROOT_DELETABLE_DECLARATIONVIRT(TCollection); ROOT_DELETABLE_DECLARATIONVIRT(TRandom); ROOT_DELETABLE_DECLARATIONVIRT(TRint); ROOT_DELETABLE_DECLARATIONVIRT(TApplication);@@ -1341,6 +1390,9 @@ ROOT_TCANVAS_DECLARATIONVIRT(TCanvas); ROOT_TCHAIN_DECLARATIONVIRT(TChain); ROOT_TCLASS_DECLARATIONVIRT(TClass);+ROOT_TCOLLECTION_DECLARATIONVIRT(TObjArray);+ROOT_TCOLLECTION_DECLARATIONVIRT(TSeqCollection);+ROOT_TCOLLECTION_DECLARATIONVIRT(TCollection); ROOT_TCROWN_DECLARATIONVIRT(TCrown); ROOT_TCURLYARC_DECLARATIONVIRT(TCurlyArc); ROOT_TCURLYLINE_DECLARATIONVIRT(TCurlyArc);@@ -1488,6 +1540,10 @@ ROOT_TNAMED_DECLARATIONVIRT(TNamed); ROOT_TNTUPLE_DECLARATIONVIRT(TNtuple); ROOT_TNTUPLED_DECLARATIONVIRT(TNtupleD);+ROOT_TOBJARRAY_DECLARATIONVIRT(TObjArray);+ROOT_TOBJECT_DECLARATIONVIRT(TObjArray);+ROOT_TOBJECT_DECLARATIONVIRT(TSeqCollection);+ROOT_TOBJECT_DECLARATIONVIRT(TCollection); ROOT_TOBJECT_DECLARATIONVIRT(TRandom); ROOT_TOBJECT_DECLARATIONVIRT(TRint); ROOT_TOBJECT_DECLARATIONVIRT(TApplication);@@ -1619,6 +1675,8 @@ ROOT_TRANDOM_DECLARATIONVIRT(TRandom); ROOT_TRINT_DECLARATIONVIRT(TRint); ROOT_TSPHE_DECLARATIONVIRT(TSPHE);+ROOT_TSEQCOLLECTION_DECLARATIONVIRT(TObjArray);+ROOT_TSEQCOLLECTION_DECLARATIONVIRT(TSeqCollection); ROOT_TSHAPE_DECLARATIONVIRT(TXTRU); ROOT_TSHAPE_DECLARATIONVIRT(TSPHE); ROOT_TSHAPE_DECLARATIONVIRT(TPCON);@@ -1869,6 +1927,12 @@ ROOT_TRINT_DECLARATIONNONVIRT(TRint);  ROOT_TRANDOM_DECLARATIONNONVIRT(TRandom);++ROOT_TCOLLECTION_DECLARATIONNONVIRT(TCollection);++ROOT_TSEQCOLLECTION_DECLARATIONNONVIRT(TSeqCollection);++ROOT_TOBJARRAY_DECLARATIONNONVIRT(TObjArray);   #ifdef __cplusplus
src/HROOT/AddOn.hs view
@@ -1,43 +1,13 @@-{-# LANGUAGE TypeFamilies, GADTs, ExistentialQuantification, EmptyDataDecls #-}+{-# LANGUAGE TypeFamilies, GADTs, ExistentialQuantification, EmptyDataDecls, ScopedTypeVariables #-}  module HROOT.AddOn where  {----import Foreign.C             import Foreign.ForeignPtr---import Foreign.Marshal.Array-- import HROOT.Class.Interface-import HROOT.Class.Implementation () -data BottomType--class GADTTypeable a where-  data GADTType a :: * -> *-  data EGADTType a :: *--instance GADTTypeable TObject where-  data GADTType TObject a where -    GADTTObjectTObject :: TObject -> GADTType TObject TObject-    GADTTObjectTH1F    :: TH1F -> GADTType TObject TH1F-    GADTTObjectBottom  :: GADTType TObject BottomType-  data EGADTType TObject = forall a. EGADTTObject (GADTType TObject a)---castTObject :: Exist TObject -> IO (EGADTType TObject)-castTObject eobj = do -  let obj = TObject (get_fptr eobj)-  etclass <- isA obj  -  cname <- case etclass of ETClass tclass -> getName tclass-  case cname of -    "TObject" -> case obj of -        TObject fptr -> let obj' = TObject (castForeignPtr fptr :: ForeignPtr RawTObject)-                        in  return . EGADTTObject . GADTTObjectTObject $ obj'-    "TH1F"    -> case obj of-        TObject fptr -> let obj' = TH1F (castForeignPtr fptr :: ForeignPtr RawTH1F)-                        in  return . EGADTTObject . GADTTObjectTH1F $ obj'-    _         -> return . EGADTTObject $ GADTTObjectBottom-+upcastTH2 :: (FPtr a, ITH2 a) => a -> TH2 +upcastTH2 h = let fh = get_fptr h+                  fh2 :: ForeignPtr RawTH2 =  castForeignPtr fh +              in cast_fptr_to_obj fh2   -}-
src/HROOT/Class/Existential.hs view
@@ -16,6 +16,84 @@   data GADTType a :: * -> *   data EGADTType a :: * +instance GADTTypeable TObjArray where+  data GADTType TObjArray a where +    GADTTObjArrayTObjArray :: TObjArray -> GADTType TObjArray TObjArray+    GADTTObjArrayBottom  :: GADTType TObjArray BottomType+  data EGADTType TObjArray = forall a. EGADTTObjArray (GADTType TObjArray a)++castTObjArray :: Exist TObjArray -> IO (EGADTType TObjArray)+castTObjArray eobj = do +  let obj = TObjArray (get_fptr eobj)+  etclass <- isA obj  +  cname <- case etclass of +             ETClass tclass -> getName tclass+  case cname of +    "TObjArray" -> case obj of+        TObjArray fptr -> let obj' = TObjArray (castForeignPtr fptr :: ForeignPtr RawTObjArray)+                        in  return . EGADTTObjArray . GADTTObjArrayTObjArray $ obj'+    _         -> return . EGADTTObjArray $ GADTTObjArrayBottom++++++instance GADTTypeable TSeqCollection where+  data GADTType TSeqCollection a where +    GADTTSeqCollectionTSeqCollection :: TSeqCollection -> GADTType TSeqCollection TSeqCollection+    GADTTSeqCollectionTObjArray :: TObjArray -> GADTType TSeqCollection TObjArray+    GADTTSeqCollectionBottom  :: GADTType TSeqCollection BottomType+  data EGADTType TSeqCollection = forall a. EGADTTSeqCollection (GADTType TSeqCollection a)++castTSeqCollection :: Exist TSeqCollection -> IO (EGADTType TSeqCollection)+castTSeqCollection eobj = do +  let obj = TSeqCollection (get_fptr eobj)+  etclass <- isA obj  +  cname <- case etclass of +             ETClass tclass -> getName tclass+  case cname of +    "TSeqCollection" -> case obj of+        TSeqCollection fptr -> let obj' = TSeqCollection (castForeignPtr fptr :: ForeignPtr RawTSeqCollection)+                        in  return . EGADTTSeqCollection . GADTTSeqCollectionTSeqCollection $ obj'+    "TObjArray" -> case obj of+        TSeqCollection fptr -> let obj' = TObjArray (castForeignPtr fptr :: ForeignPtr RawTObjArray)+                        in  return . EGADTTSeqCollection . GADTTSeqCollectionTObjArray $ obj'+    _         -> return . EGADTTSeqCollection $ GADTTSeqCollectionBottom++++++instance GADTTypeable TCollection where+  data GADTType TCollection a where +    GADTTCollectionTCollection :: TCollection -> GADTType TCollection TCollection+    GADTTCollectionTSeqCollection :: TSeqCollection -> GADTType TCollection TSeqCollection+    GADTTCollectionTObjArray :: TObjArray -> GADTType TCollection TObjArray+    GADTTCollectionBottom  :: GADTType TCollection BottomType+  data EGADTType TCollection = forall a. EGADTTCollection (GADTType TCollection a)++castTCollection :: Exist TCollection -> IO (EGADTType TCollection)+castTCollection eobj = do +  let obj = TCollection (get_fptr eobj)+  etclass <- isA obj  +  cname <- case etclass of +             ETClass tclass -> getName tclass+  case cname of +    "TCollection" -> case obj of+        TCollection fptr -> let obj' = TCollection (castForeignPtr fptr :: ForeignPtr RawTCollection)+                        in  return . EGADTTCollection . GADTTCollectionTCollection $ obj'+    "TSeqCollection" -> case obj of+        TCollection fptr -> let obj' = TSeqCollection (castForeignPtr fptr :: ForeignPtr RawTSeqCollection)+                        in  return . EGADTTCollection . GADTTCollectionTSeqCollection $ obj'+    "TObjArray" -> case obj of+        TCollection fptr -> let obj' = TObjArray (castForeignPtr fptr :: ForeignPtr RawTObjArray)+                        in  return . EGADTTCollection . GADTTCollectionTObjArray $ obj'+    _         -> return . EGADTTCollection $ GADTTCollectionBottom+++++ instance GADTTypeable TRandom where   data GADTType TRandom a where      GADTTRandomTRandom :: TRandom -> GADTType TRandom TRandom@@ -2605,6 +2683,9 @@     GADTTObjectTApplication :: TApplication -> GADTType TObject TApplication     GADTTObjectTRint :: TRint -> GADTType TObject TRint     GADTTObjectTRandom :: TRandom -> GADTType TObject TRandom+    GADTTObjectTCollection :: TCollection -> GADTType TObject TCollection+    GADTTObjectTSeqCollection :: TSeqCollection -> GADTType TObject TSeqCollection+    GADTTObjectTObjArray :: TObjArray -> GADTType TObject TObjArray     GADTTObjectBottom  :: GADTType TObject BottomType   data EGADTType TObject = forall a. EGADTTObject (GADTType TObject a) @@ -2876,6 +2957,15 @@     "TRandom" -> case obj of         TObject fptr -> let obj' = TRandom (castForeignPtr fptr :: ForeignPtr RawTRandom)                         in  return . EGADTTObject . GADTTObjectTRandom $ obj'+    "TCollection" -> case obj of+        TObject fptr -> let obj' = TCollection (castForeignPtr fptr :: ForeignPtr RawTCollection)+                        in  return . EGADTTObject . GADTTObjectTCollection $ obj'+    "TSeqCollection" -> case obj of+        TObject fptr -> let obj' = TSeqCollection (castForeignPtr fptr :: ForeignPtr RawTSeqCollection)+                        in  return . EGADTTObject . GADTTObjectTSeqCollection $ obj'+    "TObjArray" -> case obj of+        TObject fptr -> let obj' = TObjArray (castForeignPtr fptr :: ForeignPtr RawTObjArray)+                        in  return . EGADTTObject . GADTTObjectTObjArray $ obj'     _         -> return . EGADTTObject $ GADTTObjectBottom  
src/HROOT/Class/FFI.hsc view
@@ -1703,6 +1703,52 @@   :: (Ptr RawTH2) -> IO () foreign import ccall "HROOT.h TH2_fill2" c_th2_fill2    :: (Ptr RawTH2) -> CDouble -> CDouble -> IO CInt+foreign import ccall "HROOT.h TH2_fillRandom2" c_th2_fillrandom2 +  :: (Ptr RawTH2) -> (Ptr RawTH1) -> CInt -> IO ()+foreign import ccall "HROOT.h TH2_findFirstBinAbove2" c_th2_findfirstbinabove2 +  :: (Ptr RawTH2) -> CDouble -> CInt -> IO CInt+foreign import ccall "HROOT.h TH2_findLastBinAbove2" c_th2_findlastbinabove2 +  :: (Ptr RawTH2) -> CDouble -> CInt -> IO CInt+foreign import ccall "HROOT.h TH2_FitSlicesX" c_th2_fitslicesx +  :: (Ptr RawTH2) -> (Ptr RawTF1) -> CInt -> CInt -> CInt -> CString -> (Ptr RawTObjArray) -> IO ()+foreign import ccall "HROOT.h TH2_FitSlicesY" c_th2_fitslicesy +  :: (Ptr RawTH2) -> (Ptr RawTF1) -> CInt -> CInt -> CInt -> CString -> (Ptr RawTObjArray) -> IO ()+foreign import ccall "HROOT.h TH2_GetCorrelationFactor" c_th2_getcorrelationfactor +  :: (Ptr RawTH2) -> CInt -> CInt -> IO CDouble+foreign import ccall "HROOT.h TH2_GetCovariance" c_th2_getcovariance +  :: (Ptr RawTH2) -> CInt -> CInt -> IO CDouble+foreign import ccall "HROOT.h TH2_GetStats" c_th2_getstats +  :: (Ptr RawTH2) -> (Ptr CDouble) -> IO ()+foreign import ccall "HROOT.h TH2_Integral" c_th2_integral +  :: (Ptr RawTH2) -> CInt -> CInt -> CInt -> CInt -> CString -> IO CDouble+foreign import ccall "HROOT.h TH2_Interpolate" c_th2_interpolate +  :: (Ptr RawTH2) -> CDouble -> CDouble -> CDouble -> IO CDouble+foreign import ccall "HROOT.h TH2_KolmogorovTest" c_th2_kolmogorovtest +  :: (Ptr RawTH2) -> (Ptr RawTH1) -> CString -> IO CDouble+foreign import ccall "HROOT.h TH2_tH2ProjectionX" c_th2_th2projectionx +  :: (Ptr RawTH2) -> CString -> CInt -> CInt -> CString -> IO (Ptr RawTH1D)+foreign import ccall "HROOT.h TH2_tH2ProjectionY" c_th2_th2projectiony +  :: (Ptr RawTH2) -> CString -> CInt -> CInt -> CString -> IO (Ptr RawTH1D)+foreign import ccall "HROOT.h TH2_RebinX" c_th2_rebinx +  :: (Ptr RawTH2) -> CInt -> CString -> IO (Ptr RawTH2)+foreign import ccall "HROOT.h TH2_RebinY" c_th2_rebiny +  :: (Ptr RawTH2) -> CInt -> CString -> IO (Ptr RawTH2)+foreign import ccall "HROOT.h TH2_Rebin2D" c_th2_rebin2d +  :: (Ptr RawTH2) -> CInt -> CInt -> CString -> IO (Ptr RawTH2)+foreign import ccall "HROOT.h TH2_PutStats" c_th2_putstats +  :: (Ptr RawTH2) -> (Ptr CDouble) -> IO ()+foreign import ccall "HROOT.h TH2_Reset" c_th2_reset +  :: (Ptr RawTH2) -> CString -> IO ()+foreign import ccall "HROOT.h TH2_SetShowProjectionX" c_th2_setshowprojectionx +  :: (Ptr RawTH2) -> CInt -> IO ()+foreign import ccall "HROOT.h TH2_SetShowProjectionY" c_th2_setshowprojectiony +  :: (Ptr RawTH2) -> CInt -> IO ()+foreign import ccall "HROOT.h TH2_ShowBackground" c_th2_showbackground +  :: (Ptr RawTH2) -> CInt -> CString -> IO (Ptr RawTH1)+foreign import ccall "HROOT.h TH2_ShowPeaks" c_th2_showpeaks +  :: (Ptr RawTH2) -> CDouble -> CString -> CDouble -> IO CInt+foreign import ccall "HROOT.h TH2_Smooth" c_th2_smooth +  :: (Ptr RawTH2) -> CInt -> CString -> IO ()  foreign import ccall "HROOT.h TH3_Add" c_th3_add    :: (Ptr RawTH3) -> (Ptr RawTH1) -> CDouble -> IO ()@@ -2434,6 +2480,48 @@  foreign import ccall "HROOT.h TH2C_fill2" c_th2c_fill2    :: (Ptr RawTH2C) -> CDouble -> CDouble -> IO CInt+foreign import ccall "HROOT.h TH2C_fillRandom2" c_th2c_fillrandom2 +  :: (Ptr RawTH2C) -> (Ptr RawTH1) -> CInt -> IO ()+foreign import ccall "HROOT.h TH2C_findFirstBinAbove2" c_th2c_findfirstbinabove2 +  :: (Ptr RawTH2C) -> CDouble -> CInt -> IO CInt+foreign import ccall "HROOT.h TH2C_findLastBinAbove2" c_th2c_findlastbinabove2 +  :: (Ptr RawTH2C) -> CDouble -> CInt -> IO CInt+foreign import ccall "HROOT.h TH2C_FitSlicesX" c_th2c_fitslicesx +  :: (Ptr RawTH2C) -> (Ptr RawTF1) -> CInt -> CInt -> CInt -> CString -> (Ptr RawTObjArray) -> IO ()+foreign import ccall "HROOT.h TH2C_FitSlicesY" c_th2c_fitslicesy +  :: (Ptr RawTH2C) -> (Ptr RawTF1) -> CInt -> CInt -> CInt -> CString -> (Ptr RawTObjArray) -> IO ()+foreign import ccall "HROOT.h TH2C_GetCorrelationFactor" c_th2c_getcorrelationfactor +  :: (Ptr RawTH2C) -> CInt -> CInt -> IO CDouble+foreign import ccall "HROOT.h TH2C_GetCovariance" c_th2c_getcovariance +  :: (Ptr RawTH2C) -> CInt -> CInt -> IO CDouble+foreign import ccall "HROOT.h TH2C_GetStats" c_th2c_getstats +  :: (Ptr RawTH2C) -> (Ptr CDouble) -> IO ()+foreign import ccall "HROOT.h TH2C_Integral" c_th2c_integral +  :: (Ptr RawTH2C) -> CInt -> CInt -> CInt -> CInt -> CString -> IO CDouble+foreign import ccall "HROOT.h TH2C_Interpolate" c_th2c_interpolate +  :: (Ptr RawTH2C) -> CDouble -> CDouble -> CDouble -> IO CDouble+foreign import ccall "HROOT.h TH2C_KolmogorovTest" c_th2c_kolmogorovtest +  :: (Ptr RawTH2C) -> (Ptr RawTH1) -> CString -> IO CDouble+foreign import ccall "HROOT.h TH2C_RebinX" c_th2c_rebinx +  :: (Ptr RawTH2C) -> CInt -> CString -> IO (Ptr RawTH2)+foreign import ccall "HROOT.h TH2C_RebinY" c_th2c_rebiny +  :: (Ptr RawTH2C) -> CInt -> CString -> IO (Ptr RawTH2)+foreign import ccall "HROOT.h TH2C_Rebin2D" c_th2c_rebin2d +  :: (Ptr RawTH2C) -> CInt -> CInt -> CString -> IO (Ptr RawTH2)+foreign import ccall "HROOT.h TH2C_PutStats" c_th2c_putstats +  :: (Ptr RawTH2C) -> (Ptr CDouble) -> IO ()+foreign import ccall "HROOT.h TH2C_Reset" c_th2c_reset +  :: (Ptr RawTH2C) -> CString -> IO ()+foreign import ccall "HROOT.h TH2C_SetShowProjectionX" c_th2c_setshowprojectionx +  :: (Ptr RawTH2C) -> CInt -> IO ()+foreign import ccall "HROOT.h TH2C_SetShowProjectionY" c_th2c_setshowprojectiony +  :: (Ptr RawTH2C) -> CInt -> IO ()+foreign import ccall "HROOT.h TH2C_ShowBackground" c_th2c_showbackground +  :: (Ptr RawTH2C) -> CInt -> CString -> IO (Ptr RawTH1)+foreign import ccall "HROOT.h TH2C_ShowPeaks" c_th2c_showpeaks +  :: (Ptr RawTH2C) -> CDouble -> CString -> CDouble -> IO CInt+foreign import ccall "HROOT.h TH2C_Smooth" c_th2c_smooth +  :: (Ptr RawTH2C) -> CInt -> CString -> IO () 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 @@ -2557,6 +2645,48 @@  foreign import ccall "HROOT.h TH2D_fill2" c_th2d_fill2    :: (Ptr RawTH2D) -> CDouble -> CDouble -> IO CInt+foreign import ccall "HROOT.h TH2D_fillRandom2" c_th2d_fillrandom2 +  :: (Ptr RawTH2D) -> (Ptr RawTH1) -> CInt -> IO ()+foreign import ccall "HROOT.h TH2D_findFirstBinAbove2" c_th2d_findfirstbinabove2 +  :: (Ptr RawTH2D) -> CDouble -> CInt -> IO CInt+foreign import ccall "HROOT.h TH2D_findLastBinAbove2" c_th2d_findlastbinabove2 +  :: (Ptr RawTH2D) -> CDouble -> CInt -> IO CInt+foreign import ccall "HROOT.h TH2D_FitSlicesX" c_th2d_fitslicesx +  :: (Ptr RawTH2D) -> (Ptr RawTF1) -> CInt -> CInt -> CInt -> CString -> (Ptr RawTObjArray) -> IO ()+foreign import ccall "HROOT.h TH2D_FitSlicesY" c_th2d_fitslicesy +  :: (Ptr RawTH2D) -> (Ptr RawTF1) -> CInt -> CInt -> CInt -> CString -> (Ptr RawTObjArray) -> IO ()+foreign import ccall "HROOT.h TH2D_GetCorrelationFactor" c_th2d_getcorrelationfactor +  :: (Ptr RawTH2D) -> CInt -> CInt -> IO CDouble+foreign import ccall "HROOT.h TH2D_GetCovariance" c_th2d_getcovariance +  :: (Ptr RawTH2D) -> CInt -> CInt -> IO CDouble+foreign import ccall "HROOT.h TH2D_GetStats" c_th2d_getstats +  :: (Ptr RawTH2D) -> (Ptr CDouble) -> IO ()+foreign import ccall "HROOT.h TH2D_Integral" c_th2d_integral +  :: (Ptr RawTH2D) -> CInt -> CInt -> CInt -> CInt -> CString -> IO CDouble+foreign import ccall "HROOT.h TH2D_Interpolate" c_th2d_interpolate +  :: (Ptr RawTH2D) -> CDouble -> CDouble -> CDouble -> IO CDouble+foreign import ccall "HROOT.h TH2D_KolmogorovTest" c_th2d_kolmogorovtest +  :: (Ptr RawTH2D) -> (Ptr RawTH1) -> CString -> IO CDouble+foreign import ccall "HROOT.h TH2D_RebinX" c_th2d_rebinx +  :: (Ptr RawTH2D) -> CInt -> CString -> IO (Ptr RawTH2)+foreign import ccall "HROOT.h TH2D_RebinY" c_th2d_rebiny +  :: (Ptr RawTH2D) -> CInt -> CString -> IO (Ptr RawTH2)+foreign import ccall "HROOT.h TH2D_Rebin2D" c_th2d_rebin2d +  :: (Ptr RawTH2D) -> CInt -> CInt -> CString -> IO (Ptr RawTH2)+foreign import ccall "HROOT.h TH2D_PutStats" c_th2d_putstats +  :: (Ptr RawTH2D) -> (Ptr CDouble) -> IO ()+foreign import ccall "HROOT.h TH2D_Reset" c_th2d_reset +  :: (Ptr RawTH2D) -> CString -> IO ()+foreign import ccall "HROOT.h TH2D_SetShowProjectionX" c_th2d_setshowprojectionx +  :: (Ptr RawTH2D) -> CInt -> IO ()+foreign import ccall "HROOT.h TH2D_SetShowProjectionY" c_th2d_setshowprojectiony +  :: (Ptr RawTH2D) -> CInt -> IO ()+foreign import ccall "HROOT.h TH2D_ShowBackground" c_th2d_showbackground +  :: (Ptr RawTH2D) -> CInt -> CString -> IO (Ptr RawTH1)+foreign import ccall "HROOT.h TH2D_ShowPeaks" c_th2d_showpeaks +  :: (Ptr RawTH2D) -> CDouble -> CString -> CDouble -> IO CInt+foreign import ccall "HROOT.h TH2D_Smooth" c_th2d_smooth +  :: (Ptr RawTH2D) -> CInt -> CString -> IO () 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 @@ -2677,9 +2807,53 @@   :: (Ptr RawTH2D) -> IO (Ptr RawTClass) foreign import ccall "HROOT.h TH2D_delete" c_th2d_delete    :: (Ptr RawTH2D) -> IO ()+foreign import ccall "HROOT.h TH2D_newTH2D" c_th2d_newth2d +  :: CString -> CString -> CInt -> CDouble -> CDouble -> CInt -> CDouble -> CDouble -> IO (Ptr RawTH2D)  foreign import ccall "HROOT.h TH2F_fill2" c_th2f_fill2    :: (Ptr RawTH2F) -> CDouble -> CDouble -> IO CInt+foreign import ccall "HROOT.h TH2F_fillRandom2" c_th2f_fillrandom2 +  :: (Ptr RawTH2F) -> (Ptr RawTH1) -> CInt -> IO ()+foreign import ccall "HROOT.h TH2F_findFirstBinAbove2" c_th2f_findfirstbinabove2 +  :: (Ptr RawTH2F) -> CDouble -> CInt -> IO CInt+foreign import ccall "HROOT.h TH2F_findLastBinAbove2" c_th2f_findlastbinabove2 +  :: (Ptr RawTH2F) -> CDouble -> CInt -> IO CInt+foreign import ccall "HROOT.h TH2F_FitSlicesX" c_th2f_fitslicesx +  :: (Ptr RawTH2F) -> (Ptr RawTF1) -> CInt -> CInt -> CInt -> CString -> (Ptr RawTObjArray) -> IO ()+foreign import ccall "HROOT.h TH2F_FitSlicesY" c_th2f_fitslicesy +  :: (Ptr RawTH2F) -> (Ptr RawTF1) -> CInt -> CInt -> CInt -> CString -> (Ptr RawTObjArray) -> IO ()+foreign import ccall "HROOT.h TH2F_GetCorrelationFactor" c_th2f_getcorrelationfactor +  :: (Ptr RawTH2F) -> CInt -> CInt -> IO CDouble+foreign import ccall "HROOT.h TH2F_GetCovariance" c_th2f_getcovariance +  :: (Ptr RawTH2F) -> CInt -> CInt -> IO CDouble+foreign import ccall "HROOT.h TH2F_GetStats" c_th2f_getstats +  :: (Ptr RawTH2F) -> (Ptr CDouble) -> IO ()+foreign import ccall "HROOT.h TH2F_Integral" c_th2f_integral +  :: (Ptr RawTH2F) -> CInt -> CInt -> CInt -> CInt -> CString -> IO CDouble+foreign import ccall "HROOT.h TH2F_Interpolate" c_th2f_interpolate +  :: (Ptr RawTH2F) -> CDouble -> CDouble -> CDouble -> IO CDouble+foreign import ccall "HROOT.h TH2F_KolmogorovTest" c_th2f_kolmogorovtest +  :: (Ptr RawTH2F) -> (Ptr RawTH1) -> CString -> IO CDouble+foreign import ccall "HROOT.h TH2F_RebinX" c_th2f_rebinx +  :: (Ptr RawTH2F) -> CInt -> CString -> IO (Ptr RawTH2)+foreign import ccall "HROOT.h TH2F_RebinY" c_th2f_rebiny +  :: (Ptr RawTH2F) -> CInt -> CString -> IO (Ptr RawTH2)+foreign import ccall "HROOT.h TH2F_Rebin2D" c_th2f_rebin2d +  :: (Ptr RawTH2F) -> CInt -> CInt -> CString -> IO (Ptr RawTH2)+foreign import ccall "HROOT.h TH2F_PutStats" c_th2f_putstats +  :: (Ptr RawTH2F) -> (Ptr CDouble) -> IO ()+foreign import ccall "HROOT.h TH2F_Reset" c_th2f_reset +  :: (Ptr RawTH2F) -> CString -> IO ()+foreign import ccall "HROOT.h TH2F_SetShowProjectionX" c_th2f_setshowprojectionx +  :: (Ptr RawTH2F) -> CInt -> IO ()+foreign import ccall "HROOT.h TH2F_SetShowProjectionY" c_th2f_setshowprojectiony +  :: (Ptr RawTH2F) -> CInt -> IO ()+foreign import ccall "HROOT.h TH2F_ShowBackground" c_th2f_showbackground +  :: (Ptr RawTH2F) -> CInt -> CString -> IO (Ptr RawTH1)+foreign import ccall "HROOT.h TH2F_ShowPeaks" c_th2f_showpeaks +  :: (Ptr RawTH2F) -> CDouble -> CString -> CDouble -> IO CInt+foreign import ccall "HROOT.h TH2F_Smooth" c_th2f_smooth +  :: (Ptr RawTH2F) -> CInt -> CString -> IO () 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 @@ -2805,6 +2979,48 @@  foreign import ccall "HROOT.h TH2I_fill2" c_th2i_fill2    :: (Ptr RawTH2I) -> CDouble -> CDouble -> IO CInt+foreign import ccall "HROOT.h TH2I_fillRandom2" c_th2i_fillrandom2 +  :: (Ptr RawTH2I) -> (Ptr RawTH1) -> CInt -> IO ()+foreign import ccall "HROOT.h TH2I_findFirstBinAbove2" c_th2i_findfirstbinabove2 +  :: (Ptr RawTH2I) -> CDouble -> CInt -> IO CInt+foreign import ccall "HROOT.h TH2I_findLastBinAbove2" c_th2i_findlastbinabove2 +  :: (Ptr RawTH2I) -> CDouble -> CInt -> IO CInt+foreign import ccall "HROOT.h TH2I_FitSlicesX" c_th2i_fitslicesx +  :: (Ptr RawTH2I) -> (Ptr RawTF1) -> CInt -> CInt -> CInt -> CString -> (Ptr RawTObjArray) -> IO ()+foreign import ccall "HROOT.h TH2I_FitSlicesY" c_th2i_fitslicesy +  :: (Ptr RawTH2I) -> (Ptr RawTF1) -> CInt -> CInt -> CInt -> CString -> (Ptr RawTObjArray) -> IO ()+foreign import ccall "HROOT.h TH2I_GetCorrelationFactor" c_th2i_getcorrelationfactor +  :: (Ptr RawTH2I) -> CInt -> CInt -> IO CDouble+foreign import ccall "HROOT.h TH2I_GetCovariance" c_th2i_getcovariance +  :: (Ptr RawTH2I) -> CInt -> CInt -> IO CDouble+foreign import ccall "HROOT.h TH2I_GetStats" c_th2i_getstats +  :: (Ptr RawTH2I) -> (Ptr CDouble) -> IO ()+foreign import ccall "HROOT.h TH2I_Integral" c_th2i_integral +  :: (Ptr RawTH2I) -> CInt -> CInt -> CInt -> CInt -> CString -> IO CDouble+foreign import ccall "HROOT.h TH2I_Interpolate" c_th2i_interpolate +  :: (Ptr RawTH2I) -> CDouble -> CDouble -> CDouble -> IO CDouble+foreign import ccall "HROOT.h TH2I_KolmogorovTest" c_th2i_kolmogorovtest +  :: (Ptr RawTH2I) -> (Ptr RawTH1) -> CString -> IO CDouble+foreign import ccall "HROOT.h TH2I_RebinX" c_th2i_rebinx +  :: (Ptr RawTH2I) -> CInt -> CString -> IO (Ptr RawTH2)+foreign import ccall "HROOT.h TH2I_RebinY" c_th2i_rebiny +  :: (Ptr RawTH2I) -> CInt -> CString -> IO (Ptr RawTH2)+foreign import ccall "HROOT.h TH2I_Rebin2D" c_th2i_rebin2d +  :: (Ptr RawTH2I) -> CInt -> CInt -> CString -> IO (Ptr RawTH2)+foreign import ccall "HROOT.h TH2I_PutStats" c_th2i_putstats +  :: (Ptr RawTH2I) -> (Ptr CDouble) -> IO ()+foreign import ccall "HROOT.h TH2I_Reset" c_th2i_reset +  :: (Ptr RawTH2I) -> CString -> IO ()+foreign import ccall "HROOT.h TH2I_SetShowProjectionX" c_th2i_setshowprojectionx +  :: (Ptr RawTH2I) -> CInt -> IO ()+foreign import ccall "HROOT.h TH2I_SetShowProjectionY" c_th2i_setshowprojectiony +  :: (Ptr RawTH2I) -> CInt -> IO ()+foreign import ccall "HROOT.h TH2I_ShowBackground" c_th2i_showbackground +  :: (Ptr RawTH2I) -> CInt -> CString -> IO (Ptr RawTH1)+foreign import ccall "HROOT.h TH2I_ShowPeaks" c_th2i_showpeaks +  :: (Ptr RawTH2I) -> CDouble -> CString -> CDouble -> IO CInt+foreign import ccall "HROOT.h TH2I_Smooth" c_th2i_smooth +  :: (Ptr RawTH2I) -> CInt -> CString -> IO () 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 @@ -2928,6 +3144,48 @@  foreign import ccall "HROOT.h TH2Poly_fill2" c_th2poly_fill2    :: (Ptr RawTH2Poly) -> CDouble -> CDouble -> IO CInt+foreign import ccall "HROOT.h TH2Poly_fillRandom2" c_th2poly_fillrandom2 +  :: (Ptr RawTH2Poly) -> (Ptr RawTH1) -> CInt -> IO ()+foreign import ccall "HROOT.h TH2Poly_findFirstBinAbove2" c_th2poly_findfirstbinabove2 +  :: (Ptr RawTH2Poly) -> CDouble -> CInt -> IO CInt+foreign import ccall "HROOT.h TH2Poly_findLastBinAbove2" c_th2poly_findlastbinabove2 +  :: (Ptr RawTH2Poly) -> CDouble -> CInt -> IO CInt+foreign import ccall "HROOT.h TH2Poly_FitSlicesX" c_th2poly_fitslicesx +  :: (Ptr RawTH2Poly) -> (Ptr RawTF1) -> CInt -> CInt -> CInt -> CString -> (Ptr RawTObjArray) -> IO ()+foreign import ccall "HROOT.h TH2Poly_FitSlicesY" c_th2poly_fitslicesy +  :: (Ptr RawTH2Poly) -> (Ptr RawTF1) -> CInt -> CInt -> CInt -> CString -> (Ptr RawTObjArray) -> IO ()+foreign import ccall "HROOT.h TH2Poly_GetCorrelationFactor" c_th2poly_getcorrelationfactor +  :: (Ptr RawTH2Poly) -> CInt -> CInt -> IO CDouble+foreign import ccall "HROOT.h TH2Poly_GetCovariance" c_th2poly_getcovariance +  :: (Ptr RawTH2Poly) -> CInt -> CInt -> IO CDouble+foreign import ccall "HROOT.h TH2Poly_GetStats" c_th2poly_getstats +  :: (Ptr RawTH2Poly) -> (Ptr CDouble) -> IO ()+foreign import ccall "HROOT.h TH2Poly_Integral" c_th2poly_integral +  :: (Ptr RawTH2Poly) -> CInt -> CInt -> CInt -> CInt -> CString -> IO CDouble+foreign import ccall "HROOT.h TH2Poly_Interpolate" c_th2poly_interpolate +  :: (Ptr RawTH2Poly) -> CDouble -> CDouble -> CDouble -> IO CDouble+foreign import ccall "HROOT.h TH2Poly_KolmogorovTest" c_th2poly_kolmogorovtest +  :: (Ptr RawTH2Poly) -> (Ptr RawTH1) -> CString -> IO CDouble+foreign import ccall "HROOT.h TH2Poly_RebinX" c_th2poly_rebinx +  :: (Ptr RawTH2Poly) -> CInt -> CString -> IO (Ptr RawTH2)+foreign import ccall "HROOT.h TH2Poly_RebinY" c_th2poly_rebiny +  :: (Ptr RawTH2Poly) -> CInt -> CString -> IO (Ptr RawTH2)+foreign import ccall "HROOT.h TH2Poly_Rebin2D" c_th2poly_rebin2d +  :: (Ptr RawTH2Poly) -> CInt -> CInt -> CString -> IO (Ptr RawTH2)+foreign import ccall "HROOT.h TH2Poly_PutStats" c_th2poly_putstats +  :: (Ptr RawTH2Poly) -> (Ptr CDouble) -> IO ()+foreign import ccall "HROOT.h TH2Poly_Reset" c_th2poly_reset +  :: (Ptr RawTH2Poly) -> CString -> IO ()+foreign import ccall "HROOT.h TH2Poly_SetShowProjectionX" c_th2poly_setshowprojectionx +  :: (Ptr RawTH2Poly) -> CInt -> IO ()+foreign import ccall "HROOT.h TH2Poly_SetShowProjectionY" c_th2poly_setshowprojectiony +  :: (Ptr RawTH2Poly) -> CInt -> IO ()+foreign import ccall "HROOT.h TH2Poly_ShowBackground" c_th2poly_showbackground +  :: (Ptr RawTH2Poly) -> CInt -> CString -> IO (Ptr RawTH1)+foreign import ccall "HROOT.h TH2Poly_ShowPeaks" c_th2poly_showpeaks +  :: (Ptr RawTH2Poly) -> CDouble -> CString -> CDouble -> IO CInt+foreign import ccall "HROOT.h TH2Poly_Smooth" c_th2poly_smooth +  :: (Ptr RawTH2Poly) -> CInt -> CString -> IO () 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 @@ -3051,6 +3309,48 @@  foreign import ccall "HROOT.h TH2S_fill2" c_th2s_fill2    :: (Ptr RawTH2S) -> CDouble -> CDouble -> IO CInt+foreign import ccall "HROOT.h TH2S_fillRandom2" c_th2s_fillrandom2 +  :: (Ptr RawTH2S) -> (Ptr RawTH1) -> CInt -> IO ()+foreign import ccall "HROOT.h TH2S_findFirstBinAbove2" c_th2s_findfirstbinabove2 +  :: (Ptr RawTH2S) -> CDouble -> CInt -> IO CInt+foreign import ccall "HROOT.h TH2S_findLastBinAbove2" c_th2s_findlastbinabove2 +  :: (Ptr RawTH2S) -> CDouble -> CInt -> IO CInt+foreign import ccall "HROOT.h TH2S_FitSlicesX" c_th2s_fitslicesx +  :: (Ptr RawTH2S) -> (Ptr RawTF1) -> CInt -> CInt -> CInt -> CString -> (Ptr RawTObjArray) -> IO ()+foreign import ccall "HROOT.h TH2S_FitSlicesY" c_th2s_fitslicesy +  :: (Ptr RawTH2S) -> (Ptr RawTF1) -> CInt -> CInt -> CInt -> CString -> (Ptr RawTObjArray) -> IO ()+foreign import ccall "HROOT.h TH2S_GetCorrelationFactor" c_th2s_getcorrelationfactor +  :: (Ptr RawTH2S) -> CInt -> CInt -> IO CDouble+foreign import ccall "HROOT.h TH2S_GetCovariance" c_th2s_getcovariance +  :: (Ptr RawTH2S) -> CInt -> CInt -> IO CDouble+foreign import ccall "HROOT.h TH2S_GetStats" c_th2s_getstats +  :: (Ptr RawTH2S) -> (Ptr CDouble) -> IO ()+foreign import ccall "HROOT.h TH2S_Integral" c_th2s_integral +  :: (Ptr RawTH2S) -> CInt -> CInt -> CInt -> CInt -> CString -> IO CDouble+foreign import ccall "HROOT.h TH2S_Interpolate" c_th2s_interpolate +  :: (Ptr RawTH2S) -> CDouble -> CDouble -> CDouble -> IO CDouble+foreign import ccall "HROOT.h TH2S_KolmogorovTest" c_th2s_kolmogorovtest +  :: (Ptr RawTH2S) -> (Ptr RawTH1) -> CString -> IO CDouble+foreign import ccall "HROOT.h TH2S_RebinX" c_th2s_rebinx +  :: (Ptr RawTH2S) -> CInt -> CString -> IO (Ptr RawTH2)+foreign import ccall "HROOT.h TH2S_RebinY" c_th2s_rebiny +  :: (Ptr RawTH2S) -> CInt -> CString -> IO (Ptr RawTH2)+foreign import ccall "HROOT.h TH2S_Rebin2D" c_th2s_rebin2d +  :: (Ptr RawTH2S) -> CInt -> CInt -> CString -> IO (Ptr RawTH2)+foreign import ccall "HROOT.h TH2S_PutStats" c_th2s_putstats +  :: (Ptr RawTH2S) -> (Ptr CDouble) -> IO ()+foreign import ccall "HROOT.h TH2S_Reset" c_th2s_reset +  :: (Ptr RawTH2S) -> CString -> IO ()+foreign import ccall "HROOT.h TH2S_SetShowProjectionX" c_th2s_setshowprojectionx +  :: (Ptr RawTH2S) -> CInt -> IO ()+foreign import ccall "HROOT.h TH2S_SetShowProjectionY" c_th2s_setshowprojectiony +  :: (Ptr RawTH2S) -> CInt -> IO ()+foreign import ccall "HROOT.h TH2S_ShowBackground" c_th2s_showbackground +  :: (Ptr RawTH2S) -> CInt -> CString -> IO (Ptr RawTH1)+foreign import ccall "HROOT.h TH2S_ShowPeaks" c_th2s_showpeaks +  :: (Ptr RawTH2S) -> CDouble -> CString -> CDouble -> IO CInt+foreign import ccall "HROOT.h TH2S_Smooth" c_th2s_smooth +  :: (Ptr RawTH2S) -> CInt -> CString -> IO () 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 @@ -4091,4 +4391,49 @@   :: (Ptr RawTRandom) -> CDouble -> CDouble -> IO CDouble foreign import ccall "HROOT.h TRandom_Uniform" c_trandom_uniform    :: (Ptr RawTRandom) -> CDouble -> CDouble -> IO CDouble++foreign import ccall "HROOT.h TCollection_GetName" c_tcollection_getname +  :: (Ptr RawTCollection) -> IO CString+foreign import ccall "HROOT.h TCollection_Draw" c_tcollection_draw +  :: (Ptr RawTCollection) -> CString -> IO ()+foreign import ccall "HROOT.h TCollection_FindObject" c_tcollection_findobject +  :: (Ptr RawTCollection) -> CString -> IO (Ptr RawTObject)+foreign import ccall "HROOT.h TCollection_SaveAs" c_tcollection_saveas +  :: (Ptr RawTCollection) -> CString -> CString -> IO ()+foreign import ccall "HROOT.h TCollection_Write" c_tcollection_write +  :: (Ptr RawTCollection) -> CString -> CInt -> CInt -> IO CInt+foreign import ccall "HROOT.h TCollection_IsA" c_tcollection_isa +  :: (Ptr RawTCollection) -> IO (Ptr RawTClass)+foreign import ccall "HROOT.h TCollection_delete" c_tcollection_delete +  :: (Ptr RawTCollection) -> IO ()++foreign import ccall "HROOT.h TSeqCollection_GetName" c_tseqcollection_getname +  :: (Ptr RawTSeqCollection) -> IO CString+foreign import ccall "HROOT.h TSeqCollection_Draw" c_tseqcollection_draw +  :: (Ptr RawTSeqCollection) -> CString -> IO ()+foreign import ccall "HROOT.h TSeqCollection_FindObject" c_tseqcollection_findobject +  :: (Ptr RawTSeqCollection) -> CString -> IO (Ptr RawTObject)+foreign import ccall "HROOT.h TSeqCollection_SaveAs" c_tseqcollection_saveas +  :: (Ptr RawTSeqCollection) -> CString -> CString -> IO ()+foreign import ccall "HROOT.h TSeqCollection_Write" c_tseqcollection_write +  :: (Ptr RawTSeqCollection) -> CString -> CInt -> CInt -> IO CInt+foreign import ccall "HROOT.h TSeqCollection_IsA" c_tseqcollection_isa +  :: (Ptr RawTSeqCollection) -> IO (Ptr RawTClass)+foreign import ccall "HROOT.h TSeqCollection_delete" c_tseqcollection_delete +  :: (Ptr RawTSeqCollection) -> IO ()++foreign import ccall "HROOT.h TObjArray_GetName" c_tobjarray_getname +  :: (Ptr RawTObjArray) -> IO CString+foreign import ccall "HROOT.h TObjArray_Draw" c_tobjarray_draw +  :: (Ptr RawTObjArray) -> CString -> IO ()+foreign import ccall "HROOT.h TObjArray_FindObject" c_tobjarray_findobject +  :: (Ptr RawTObjArray) -> CString -> IO (Ptr RawTObject)+foreign import ccall "HROOT.h TObjArray_SaveAs" c_tobjarray_saveas +  :: (Ptr RawTObjArray) -> CString -> CString -> IO ()+foreign import ccall "HROOT.h TObjArray_Write" c_tobjarray_write +  :: (Ptr RawTObjArray) -> CString -> CInt -> CInt -> IO CInt+foreign import ccall "HROOT.h TObjArray_IsA" c_tobjarray_isa +  :: (Ptr RawTObjArray) -> IO (Ptr RawTClass)+foreign import ccall "HROOT.h TObjArray_delete" c_tobjarray_delete +  :: (Ptr RawTObjArray) -> IO () 
src/HROOT/Class/Implementation.hs view
@@ -442,6 +442,18 @@   cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr   uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_  +instance (ITCollection a, FPtr a) => Castable a (Ptr RawTCollection) where+  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr+  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ ++instance (ITSeqCollection a, FPtr a) => Castable a (Ptr RawTSeqCollection) where+  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr+  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ ++instance (ITObjArray a, FPtr a) => Castable a (Ptr RawTObjArray) where+  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr+  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ + instance FPtr (Exist TObject) where   type Raw (Exist TObject) = RawTObject   get_fptr (ETObject obj) = castForeignPtr (get_fptr obj)@@ -1396,8 +1408,35 @@   cast = unsafeForeignPtrToPtr . get_fptr   uncast = cast_fptr_to_obj . unsafePerformIO . newForeignPtr_ +instance FPtr (Exist TCollection) where+  type Raw (Exist TCollection) = RawTCollection+  get_fptr (ETCollection obj) = castForeignPtr (get_fptr obj)+  cast_fptr_to_obj fptr = ETCollection (cast_fptr_to_obj (fptr :: ForeignPtr RawTCollection) :: TCollection) +instance Castable (Exist TCollection) (Ptr RawTCollection) where+  cast = unsafeForeignPtrToPtr . get_fptr+  uncast = cast_fptr_to_obj . unsafePerformIO . newForeignPtr_ +instance FPtr (Exist TSeqCollection) where+  type Raw (Exist TSeqCollection) = RawTSeqCollection+  get_fptr (ETSeqCollection obj) = castForeignPtr (get_fptr obj)+  cast_fptr_to_obj fptr = ETSeqCollection (cast_fptr_to_obj (fptr :: ForeignPtr RawTSeqCollection) :: TSeqCollection)++instance Castable (Exist TSeqCollection) (Ptr RawTSeqCollection) where+  cast = unsafeForeignPtrToPtr . get_fptr+  uncast = cast_fptr_to_obj . unsafePerformIO . newForeignPtr_++instance FPtr (Exist TObjArray) where+  type Raw (Exist TObjArray) = RawTObjArray+  get_fptr (ETObjArray obj) = castForeignPtr (get_fptr obj)+  cast_fptr_to_obj fptr = ETObjArray (cast_fptr_to_obj (fptr :: ForeignPtr RawTObjArray) :: TObjArray)++instance Castable (Exist TObjArray) (Ptr RawTObjArray) where+  cast = unsafeForeignPtrToPtr . get_fptr+  uncast = cast_fptr_to_obj . unsafePerformIO . newForeignPtr_+++ instance ITObject TObject where   getName = xform0 c_tobject_getname   draw = xform1 c_tobject_draw@@ -1624,6 +1663,27 @@  instance ITH2 TH2 where   fill2 = xform2 c_th2_fill2+  fillRandom2 = xform2 c_th2_fillrandom2+  findFirstBinAbove2 = xform2 c_th2_findfirstbinabove2+  findLastBinAbove2 = xform2 c_th2_findlastbinabove2+  fitSlicesX = xform6 c_th2_fitslicesx+  fitSlicesY = xform6 c_th2_fitslicesy+  getCorrelationFactor = xform2 c_th2_getcorrelationfactor+  getCovariance = xform2 c_th2_getcovariance+  getStats = xform1 c_th2_getstats+  integral = xform5 c_th2_integral+  interpolate = xform3 c_th2_interpolate+  kolmogorovTest = xform2 c_th2_kolmogorovtest+  rebinX = xform2 c_th2_rebinx+  rebinY = xform2 c_th2_rebiny+  rebin2D = xform3 c_th2_rebin2d+  putStats = xform1 c_th2_putstats+  reset = xform1 c_th2_reset+  setShowProjectionX = xform1 c_th2_setshowprojectionx+  setShowProjectionY = xform1 c_th2_setshowprojectiony+  showBackground = xform2 c_th2_showbackground+  showPeaks = xform3 c_th2_showpeaks+  smooth = xform2 c_th2_smooth  instance ITH3 TH3 where @@ -1690,6 +1750,21 @@   gaus = xform2 c_trandom_gaus   uniform = xform2 c_trandom_uniform +instance ITCollection TCollection where++instance ITSeqCollection TSeqCollection where++instance ITObjArray TObjArray where++instance IDeletable TObjArray where+  delete = xform0 c_tobjarray_delete++instance IDeletable TSeqCollection where+  delete = xform0 c_tseqcollection_delete++instance IDeletable TCollection where+  delete = xform0 c_tcollection_delete+ instance IDeletable TRandom where   delete = xform0 c_trandom_delete @@ -2780,6 +2855,10 @@  instance ITCanvas TDialogCanvas where +instance ITCollection TObjArray where++instance ITCollection TSeqCollection where+ instance ITCurlyLine TCurlyArc where  instance ITDictionary TClass where@@ -3736,21 +3815,147 @@  instance ITH2 TH2S where   fill2 = xform2 c_th2s_fill2+  fillRandom2 = xform2 c_th2s_fillrandom2+  findFirstBinAbove2 = xform2 c_th2s_findfirstbinabove2+  findLastBinAbove2 = xform2 c_th2s_findlastbinabove2+  fitSlicesX = xform6 c_th2s_fitslicesx+  fitSlicesY = xform6 c_th2s_fitslicesy+  getCorrelationFactor = xform2 c_th2s_getcorrelationfactor+  getCovariance = xform2 c_th2s_getcovariance+  getStats = xform1 c_th2s_getstats+  integral = xform5 c_th2s_integral+  interpolate = xform3 c_th2s_interpolate+  kolmogorovTest = xform2 c_th2s_kolmogorovtest+  rebinX = xform2 c_th2s_rebinx+  rebinY = xform2 c_th2s_rebiny+  rebin2D = xform3 c_th2s_rebin2d+  putStats = xform1 c_th2s_putstats+  reset = xform1 c_th2s_reset+  setShowProjectionX = xform1 c_th2s_setshowprojectionx+  setShowProjectionY = xform1 c_th2s_setshowprojectiony+  showBackground = xform2 c_th2s_showbackground+  showPeaks = xform3 c_th2s_showpeaks+  smooth = xform2 c_th2s_smooth  instance ITH2 TH2Poly where   fill2 = xform2 c_th2poly_fill2+  fillRandom2 = xform2 c_th2poly_fillrandom2+  findFirstBinAbove2 = xform2 c_th2poly_findfirstbinabove2+  findLastBinAbove2 = xform2 c_th2poly_findlastbinabove2+  fitSlicesX = xform6 c_th2poly_fitslicesx+  fitSlicesY = xform6 c_th2poly_fitslicesy+  getCorrelationFactor = xform2 c_th2poly_getcorrelationfactor+  getCovariance = xform2 c_th2poly_getcovariance+  getStats = xform1 c_th2poly_getstats+  integral = xform5 c_th2poly_integral+  interpolate = xform3 c_th2poly_interpolate+  kolmogorovTest = xform2 c_th2poly_kolmogorovtest+  rebinX = xform2 c_th2poly_rebinx+  rebinY = xform2 c_th2poly_rebiny+  rebin2D = xform3 c_th2poly_rebin2d+  putStats = xform1 c_th2poly_putstats+  reset = xform1 c_th2poly_reset+  setShowProjectionX = xform1 c_th2poly_setshowprojectionx+  setShowProjectionY = xform1 c_th2poly_setshowprojectiony+  showBackground = xform2 c_th2poly_showbackground+  showPeaks = xform3 c_th2poly_showpeaks+  smooth = xform2 c_th2poly_smooth  instance ITH2 TH2I where   fill2 = xform2 c_th2i_fill2+  fillRandom2 = xform2 c_th2i_fillrandom2+  findFirstBinAbove2 = xform2 c_th2i_findfirstbinabove2+  findLastBinAbove2 = xform2 c_th2i_findlastbinabove2+  fitSlicesX = xform6 c_th2i_fitslicesx+  fitSlicesY = xform6 c_th2i_fitslicesy+  getCorrelationFactor = xform2 c_th2i_getcorrelationfactor+  getCovariance = xform2 c_th2i_getcovariance+  getStats = xform1 c_th2i_getstats+  integral = xform5 c_th2i_integral+  interpolate = xform3 c_th2i_interpolate+  kolmogorovTest = xform2 c_th2i_kolmogorovtest+  rebinX = xform2 c_th2i_rebinx+  rebinY = xform2 c_th2i_rebiny+  rebin2D = xform3 c_th2i_rebin2d+  putStats = xform1 c_th2i_putstats+  reset = xform1 c_th2i_reset+  setShowProjectionX = xform1 c_th2i_setshowprojectionx+  setShowProjectionY = xform1 c_th2i_setshowprojectiony+  showBackground = xform2 c_th2i_showbackground+  showPeaks = xform3 c_th2i_showpeaks+  smooth = xform2 c_th2i_smooth  instance ITH2 TH2F where   fill2 = xform2 c_th2f_fill2+  fillRandom2 = xform2 c_th2f_fillrandom2+  findFirstBinAbove2 = xform2 c_th2f_findfirstbinabove2+  findLastBinAbove2 = xform2 c_th2f_findlastbinabove2+  fitSlicesX = xform6 c_th2f_fitslicesx+  fitSlicesY = xform6 c_th2f_fitslicesy+  getCorrelationFactor = xform2 c_th2f_getcorrelationfactor+  getCovariance = xform2 c_th2f_getcovariance+  getStats = xform1 c_th2f_getstats+  integral = xform5 c_th2f_integral+  interpolate = xform3 c_th2f_interpolate+  kolmogorovTest = xform2 c_th2f_kolmogorovtest+  rebinX = xform2 c_th2f_rebinx+  rebinY = xform2 c_th2f_rebiny+  rebin2D = xform3 c_th2f_rebin2d+  putStats = xform1 c_th2f_putstats+  reset = xform1 c_th2f_reset+  setShowProjectionX = xform1 c_th2f_setshowprojectionx+  setShowProjectionY = xform1 c_th2f_setshowprojectiony+  showBackground = xform2 c_th2f_showbackground+  showPeaks = xform3 c_th2f_showpeaks+  smooth = xform2 c_th2f_smooth  instance ITH2 TH2D where   fill2 = xform2 c_th2d_fill2+  fillRandom2 = xform2 c_th2d_fillrandom2+  findFirstBinAbove2 = xform2 c_th2d_findfirstbinabove2+  findLastBinAbove2 = xform2 c_th2d_findlastbinabove2+  fitSlicesX = xform6 c_th2d_fitslicesx+  fitSlicesY = xform6 c_th2d_fitslicesy+  getCorrelationFactor = xform2 c_th2d_getcorrelationfactor+  getCovariance = xform2 c_th2d_getcovariance+  getStats = xform1 c_th2d_getstats+  integral = xform5 c_th2d_integral+  interpolate = xform3 c_th2d_interpolate+  kolmogorovTest = xform2 c_th2d_kolmogorovtest+  rebinX = xform2 c_th2d_rebinx+  rebinY = xform2 c_th2d_rebiny+  rebin2D = xform3 c_th2d_rebin2d+  putStats = xform1 c_th2d_putstats+  reset = xform1 c_th2d_reset+  setShowProjectionX = xform1 c_th2d_setshowprojectionx+  setShowProjectionY = xform1 c_th2d_setshowprojectiony+  showBackground = xform2 c_th2d_showbackground+  showPeaks = xform3 c_th2d_showpeaks+  smooth = xform2 c_th2d_smooth  instance ITH2 TH2C where   fill2 = xform2 c_th2c_fill2+  fillRandom2 = xform2 c_th2c_fillrandom2+  findFirstBinAbove2 = xform2 c_th2c_findfirstbinabove2+  findLastBinAbove2 = xform2 c_th2c_findlastbinabove2+  fitSlicesX = xform6 c_th2c_fitslicesx+  fitSlicesY = xform6 c_th2c_fitslicesy+  getCorrelationFactor = xform2 c_th2c_getcorrelationfactor+  getCovariance = xform2 c_th2c_getcovariance+  getStats = xform1 c_th2c_getstats+  integral = xform5 c_th2c_integral+  interpolate = xform3 c_th2c_interpolate+  kolmogorovTest = xform2 c_th2c_kolmogorovtest+  rebinX = xform2 c_th2c_rebinx+  rebinY = xform2 c_th2c_rebiny+  rebin2D = xform3 c_th2c_rebin2d+  putStats = xform1 c_th2c_putstats+  reset = xform1 c_th2c_reset+  setShowProjectionX = xform1 c_th2c_setshowprojectionx+  setShowProjectionY = xform1 c_th2c_setshowprojectiony+  showBackground = xform2 c_th2c_showbackground+  showPeaks = xform3 c_th2c_showpeaks+  smooth = xform2 c_th2c_smooth  instance ITH3 TH3S where @@ -3921,6 +4126,30 @@   +instance ITObject TObjArray where+  getName = xform0 c_tobjarray_getname+  draw = xform1 c_tobjarray_draw+  findObject = xform1 c_tobjarray_findobject+  saveAs = xform2 c_tobjarray_saveas+  write = xform3 c_tobjarray_write+  isA = xform0 c_tobjarray_isa++instance ITObject TSeqCollection where+  getName = xform0 c_tseqcollection_getname+  draw = xform1 c_tseqcollection_draw+  findObject = xform1 c_tseqcollection_findobject+  saveAs = xform2 c_tseqcollection_saveas+  write = xform3 c_tseqcollection_write+  isA = xform0 c_tseqcollection_isa++instance ITObject TCollection where+  getName = xform0 c_tcollection_getname+  draw = xform1 c_tcollection_draw+  findObject = xform1 c_tcollection_findobject+  saveAs = xform2 c_tcollection_saveas+  write = xform3 c_tcollection_write+  isA = xform0 c_tcollection_isa+ instance ITObject TRandom where   getName = xform0 c_trandom_getname   draw = xform1 c_trandom_draw@@ -4673,6 +4902,8 @@  instance ITQObject TVirtualPad where +instance ITSeqCollection TObjArray where+ instance ITShape TXTRU where  instance ITShape TSPHE where@@ -4950,6 +5181,10 @@ newTH1F = xform4 c_th1f_newth1f  +newTH2D :: String -> String -> Int -> Double -> Double -> Int -> Double -> Double -> IO TH2D+newTH2D = xform7 c_th2d_newth2d++ newTH2F :: String -> String -> Int -> Double -> Double -> Int -> Double -> Double -> IO TH2F newTH2F = xform7 c_th2f_newth2f @@ -4992,3 +5227,9 @@  tH1GetZaxis :: TH1 -> IO TAxis tH1GetZaxis = xform0 c_th1_th1getzaxis++tH2ProjectionX :: TH2 -> String -> Int -> Int -> String -> IO TH1D+tH2ProjectionX = xform4 c_th2_th2projectionx++tH2ProjectionY :: TH2 -> String -> Int -> Int -> String -> IO TH1D+tH2ProjectionY = xform4 c_th2_th2projectiony
src/HROOT/Class/Interface.hs view
@@ -1,6 +1,7 @@ {-# LANGUAGE ForeignFunctionInterface, TypeFamilies, MultiParamTypeClasses,               FlexibleInstances, TypeSynonymInstances, UndecidableInstances, -             EmptyDataDecls, IncoherentInstances, ExistentialQuantification #-}+             EmptyDataDecls, IncoherentInstances, ExistentialQuantification, +             ScopedTypeVariables #-}  -- module HROOT.Class.Interface where @@ -1084,7 +1085,34 @@ instance Existable TRandom where   data Exist TRandom = forall a. (FPtr a, ITRandom a) => ETRandom a +data RawTCollection+newtype TCollection = TCollection (ForeignPtr RawTCollection) deriving (Eq, Ord, Show)+instance FPtr TCollection where+   type Raw TCollection = RawTCollection+   get_fptr (TCollection fptr) = fptr+   cast_fptr_to_obj = TCollection+instance Existable TCollection where+  data Exist TCollection = forall a. (FPtr a, ITCollection a) => ETCollection a +data RawTSeqCollection+newtype TSeqCollection = TSeqCollection (ForeignPtr RawTSeqCollection) deriving (Eq, Ord, Show)+instance FPtr TSeqCollection where+   type Raw TSeqCollection = RawTSeqCollection+   get_fptr (TSeqCollection fptr) = fptr+   cast_fptr_to_obj = TSeqCollection+instance Existable TSeqCollection where+  data Exist TSeqCollection = forall a. (FPtr a, ITSeqCollection a) => ETSeqCollection a++data RawTObjArray+newtype TObjArray = TObjArray (ForeignPtr RawTObjArray) deriving (Eq, Ord, Show)+instance FPtr TObjArray where+   type Raw TObjArray = RawTObjArray+   get_fptr (TObjArray fptr) = fptr+   cast_fptr_to_obj = TObjArray+instance Existable TObjArray where+  data Exist TObjArray = forall a. (FPtr a, ITObjArray a) => ETObjArray a++ class IDeletable a where      delete :: a -> IO () @@ -1513,10 +1541,117 @@   class (ITH1 a) => ITH2 a where+    -- | +    --   > Int_t    Fill(Double_t x, Double_t y);      fill2 :: a -> Double -> Double -> IO Int +    -- | +    --   > void     FillRandom(TH1 *h, Int_t ntimes=5000);+    --    +    fillRandom2 :: (ITH1 c0, FPtr c0) => a -> c0 -> Int -> IO () +    -- | +    --   > Int_t    FindFirstBinAbove(Double_t threshold=0, Int_t axis=1) const;+    --    +    findFirstBinAbove2 :: a -> Double -> Int -> IO Int +    -- | +    --   > Int_t    FindLastBinAbove (Double_t threshold=0, Int_t axis=1) const;+    --   ++    findLastBinAbove2 :: a -> Double -> Int -> IO Int +    -- | +    --   > void     FitSlicesX(TF1 *f1=0,Int_t firstybin=0, Int_t lastybin=-1, Int_t cut=0, Option_t *option="QNR", TObjArray* arr = 0); // *MENU*+    --   ++    fitSlicesX :: (ITObjArray c1, FPtr c1, ITF1 c0, FPtr c0) => a -> c0 -> Int -> Int -> Int -> String -> c1 -> IO () +    -- | +    --   > void     FitSlicesY(TF1 *f1=0,Int_t firstxbin=0, Int_t lastxbin=-1, Int_t cut=0, Option_t *option="QNR", TObjArray* arr = 0); // *MENU*+    --   ++    fitSlicesY :: (ITObjArray c1, FPtr c1, ITF1 c0, FPtr c0) => a -> c0 -> Int -> Int -> Int -> String -> c1 -> IO () +    -- | +    --   > Double_t GetCorrelationFactor(Int_t axis1=1,Int_t axis2=2) const;+    --   ++    getCorrelationFactor :: a -> Int -> Int -> IO Double +    -- | +    --   > Double_t GetCovariance(Int_t axis1=1,Int_t axis2=2) const;+    --   ++    getCovariance :: a -> Int -> Int -> IO Double +    -- | +    --   > void     GetStats(Double_t *stats) const;+    --   ++    getStats :: a -> [Double] -> IO () +    -- | +    --   > Double_t Integral(Int_t binx1, Int_t binx2, Int_t biny1, Int_t biny2, Option_t *option="") const;+    --   ++    integral :: a -> Int -> Int -> Int -> Int -> String -> IO Double +    -- | +    --   > Double_t Interpolate(Double_t x, Double_t y, Double_t z);+    --   ++    interpolate :: a -> Double -> Double -> Double -> IO Double +    -- | +    --   > Double_t KolmogorovTest(const TH1 *h2, Option_t *option="") const;+    --   ++    kolmogorovTest :: (ITH1 c0, FPtr c0) => a -> c0 -> String -> IO Double +    -- | +    --   > TH2     *RebinX(Int_t ngroup=2, const char *newname="");+    --   ++    rebinX :: a -> Int -> String -> IO (Exist TH2) +    -- | +    --   > TH2     *RebinY(Int_t ngroup=2, const char *newname="");  +    --   ++    rebinY :: a -> Int -> String -> IO (Exist TH2) +    -- | +    --   > TH2     *Rebin2D(Int_t nxgroup=2, Int_t nygroup=2, const char *newname="");     +    --   ++    rebin2D :: a -> Int -> Int -> String -> IO (Exist TH2) +    -- | +    --   > void     PutStats(Double_t *stats);+    --   ++    putStats :: a -> [Double] -> IO () +    -- | +    --   > void     Reset(Option_t *option="");+    --   ++    reset :: a -> String -> IO () +    -- | +    --   > void     SetShowProjectionX(Int_t nbins);  // *MENU*+    --   ++    setShowProjectionX :: a -> Int -> IO () +    -- | +    --   > void     SetShowProjectionY(Int_t nbins);  // *MENU*+    --   ++    setShowProjectionY :: a -> Int -> IO () +    -- | +    --   > TH1     *ShowBackground(Int_t niter=20, Option_t *option="same");+    --   ++    showBackground :: a -> Int -> String -> IO (Exist TH1) +    -- | +    --   > Int_t    ShowPeaks(Double_t sigma=2, Option_t *option="", Double_t threshold=0.05); // *MENU*+    --   ++    showPeaks :: a -> Double -> String -> Double -> IO Int +    -- | +    --   > void     Smooth(Int_t ntimes=1, Option_t *option=""); // *MENU*+    --   ++    smooth :: a -> Int -> String -> IO () ++ class (ITH1 a,ITAtt3D a) => ITH3 a where  @@ -1615,3 +1750,557 @@     gaus :: a -> Double -> Double -> IO Double       uniform :: a -> Double -> Double -> IO Double +++class (ITObject a) => ITCollection a where+++class (ITCollection a) => ITSeqCollection a where+++class (ITSeqCollection a) => ITObjArray a where++upcastTObject :: (FPtr a, ITObject a) => a -> TObject+upcastTObject h = let fh = get_fptr h+                      fh2 :: ForeignPtr RawTObject = castForeignPtr fh+                  in cast_fptr_to_obj fh2++upcastTNamed :: (FPtr a, ITNamed a) => a -> TNamed+upcastTNamed h = let fh = get_fptr h+                     fh2 :: ForeignPtr RawTNamed = castForeignPtr fh+                 in cast_fptr_to_obj fh2++upcastTClass :: (FPtr a, ITClass a) => a -> TClass+upcastTClass h = let fh = get_fptr h+                     fh2 :: ForeignPtr RawTClass = castForeignPtr fh+                 in cast_fptr_to_obj fh2++upcastTFormula :: (FPtr a, ITFormula a) => a -> TFormula+upcastTFormula h = let fh = get_fptr h+                       fh2 :: ForeignPtr RawTFormula = castForeignPtr fh+                   in cast_fptr_to_obj fh2++upcastTAtt3D :: (FPtr a, ITAtt3D a) => a -> TAtt3D+upcastTAtt3D h = let fh = get_fptr h+                     fh2 :: ForeignPtr RawTAtt3D = castForeignPtr fh+                 in cast_fptr_to_obj fh2++upcastTAttAxis :: (FPtr a, ITAttAxis a) => a -> TAttAxis+upcastTAttAxis h = let fh = get_fptr h+                       fh2 :: ForeignPtr RawTAttAxis = castForeignPtr fh+                   in cast_fptr_to_obj fh2++upcastTAttBBox :: (FPtr a, ITAttBBox a) => a -> TAttBBox+upcastTAttBBox h = let fh = get_fptr h+                       fh2 :: ForeignPtr RawTAttBBox = castForeignPtr fh+                   in cast_fptr_to_obj fh2++upcastTAttCanvas :: (FPtr a, ITAttCanvas a) => a -> TAttCanvas+upcastTAttCanvas h = let fh = get_fptr h+                         fh2 :: ForeignPtr RawTAttCanvas = castForeignPtr fh+                     in cast_fptr_to_obj fh2++upcastTAttFill :: (FPtr a, ITAttFill a) => a -> TAttFill+upcastTAttFill h = let fh = get_fptr h+                       fh2 :: ForeignPtr RawTAttFill = castForeignPtr fh+                   in cast_fptr_to_obj fh2++upcastTAttImage :: (FPtr a, ITAttImage a) => a -> TAttImage+upcastTAttImage h = let fh = get_fptr h+                        fh2 :: ForeignPtr RawTAttImage = castForeignPtr fh+                    in cast_fptr_to_obj fh2++upcastTAttLine :: (FPtr a, ITAttLine a) => a -> TAttLine+upcastTAttLine h = let fh = get_fptr h+                       fh2 :: ForeignPtr RawTAttLine = castForeignPtr fh+                   in cast_fptr_to_obj fh2++upcastTAttMarker :: (FPtr a, ITAttMarker a) => a -> TAttMarker+upcastTAttMarker h = let fh = get_fptr h+                         fh2 :: ForeignPtr RawTAttMarker = castForeignPtr fh+                     in cast_fptr_to_obj fh2++upcastTAttPad :: (FPtr a, ITAttPad a) => a -> TAttPad+upcastTAttPad h = let fh = get_fptr h+                      fh2 :: ForeignPtr RawTAttPad = castForeignPtr fh+                  in cast_fptr_to_obj fh2++upcastTAttParticle :: (FPtr a, ITAttParticle a) => a -> TAttParticle+upcastTAttParticle h = let fh = get_fptr h+                           fh2 :: ForeignPtr RawTAttParticle = castForeignPtr fh+                       in cast_fptr_to_obj fh2++upcastTAttText :: (FPtr a, ITAttText a) => a -> TAttText+upcastTAttText h = let fh = get_fptr h+                       fh2 :: ForeignPtr RawTAttText = castForeignPtr fh+                   in cast_fptr_to_obj fh2++upcastTHStack :: (FPtr a, ITHStack a) => a -> THStack+upcastTHStack h = let fh = get_fptr h+                      fh2 :: ForeignPtr RawTHStack = castForeignPtr fh+                  in cast_fptr_to_obj fh2++upcastTF1 :: (FPtr a, ITF1 a) => a -> TF1+upcastTF1 h = let fh = get_fptr h+                  fh2 :: ForeignPtr RawTF1 = castForeignPtr fh+              in cast_fptr_to_obj fh2++upcastTGraph :: (FPtr a, ITGraph a) => a -> TGraph+upcastTGraph h = let fh = get_fptr h+                     fh2 :: ForeignPtr RawTGraph = castForeignPtr fh+                 in cast_fptr_to_obj fh2++upcastTGraphAsymmErrors :: (FPtr a, ITGraphAsymmErrors a) => a -> TGraphAsymmErrors+upcastTGraphAsymmErrors h = let fh = get_fptr h+                                fh2 :: ForeignPtr RawTGraphAsymmErrors = castForeignPtr fh+                            in cast_fptr_to_obj fh2++upcastTCutG :: (FPtr a, ITCutG a) => a -> TCutG+upcastTCutG h = let fh = get_fptr h+                    fh2 :: ForeignPtr RawTCutG = castForeignPtr fh+                in cast_fptr_to_obj fh2++upcastTGraphBentErrors :: (FPtr a, ITGraphBentErrors a) => a -> TGraphBentErrors+upcastTGraphBentErrors h = let fh = get_fptr h+                               fh2 :: ForeignPtr RawTGraphBentErrors = castForeignPtr fh+                           in cast_fptr_to_obj fh2++upcastTGraphErrors :: (FPtr a, ITGraphErrors a) => a -> TGraphErrors+upcastTGraphErrors h = let fh = get_fptr h+                           fh2 :: ForeignPtr RawTGraphErrors = castForeignPtr fh+                       in cast_fptr_to_obj fh2++upcastTGraphPolar :: (FPtr a, ITGraphPolar a) => a -> TGraphPolar+upcastTGraphPolar h = let fh = get_fptr h+                          fh2 :: ForeignPtr RawTGraphPolar = castForeignPtr fh+                      in cast_fptr_to_obj fh2++upcastTGraphQQ :: (FPtr a, ITGraphQQ a) => a -> TGraphQQ+upcastTGraphQQ h = let fh = get_fptr h+                       fh2 :: ForeignPtr RawTGraphQQ = castForeignPtr fh+                   in cast_fptr_to_obj fh2++upcastTEllipse :: (FPtr a, ITEllipse a) => a -> TEllipse+upcastTEllipse h = let fh = get_fptr h+                       fh2 :: ForeignPtr RawTEllipse = castForeignPtr fh+                   in cast_fptr_to_obj fh2++upcastTArc :: (FPtr a, ITArc a) => a -> TArc+upcastTArc h = let fh = get_fptr h+                   fh2 :: ForeignPtr RawTArc = castForeignPtr fh+               in cast_fptr_to_obj fh2++upcastTCrown :: (FPtr a, ITCrown a) => a -> TCrown+upcastTCrown h = let fh = get_fptr h+                     fh2 :: ForeignPtr RawTCrown = castForeignPtr fh+                 in cast_fptr_to_obj fh2++upcastTLine :: (FPtr a, ITLine a) => a -> TLine+upcastTLine h = let fh = get_fptr h+                    fh2 :: ForeignPtr RawTLine = castForeignPtr fh+                in cast_fptr_to_obj fh2++upcastTArrow :: (FPtr a, ITArrow a) => a -> TArrow+upcastTArrow h = let fh = get_fptr h+                     fh2 :: ForeignPtr RawTArrow = castForeignPtr fh+                 in cast_fptr_to_obj fh2++upcastTGaxis :: (FPtr a, ITGaxis a) => a -> TGaxis+upcastTGaxis h = let fh = get_fptr h+                     fh2 :: ForeignPtr RawTGaxis = castForeignPtr fh+                 in cast_fptr_to_obj fh2++upcastTShape :: (FPtr a, ITShape a) => a -> TShape+upcastTShape h = let fh = get_fptr h+                     fh2 :: ForeignPtr RawTShape = castForeignPtr fh+                 in cast_fptr_to_obj fh2++upcastTBRIK :: (FPtr a, ITBRIK a) => a -> TBRIK+upcastTBRIK h = let fh = get_fptr h+                    fh2 :: ForeignPtr RawTBRIK = castForeignPtr fh+                in cast_fptr_to_obj fh2++upcastTTUBE :: (FPtr a, ITTUBE a) => a -> TTUBE+upcastTTUBE h = let fh = get_fptr h+                    fh2 :: ForeignPtr RawTTUBE = castForeignPtr fh+                in cast_fptr_to_obj fh2++upcastTPCON :: (FPtr a, ITPCON a) => a -> TPCON+upcastTPCON h = let fh = get_fptr h+                    fh2 :: ForeignPtr RawTPCON = castForeignPtr fh+                in cast_fptr_to_obj fh2++upcastTSPHE :: (FPtr a, ITSPHE a) => a -> TSPHE+upcastTSPHE h = let fh = get_fptr h+                    fh2 :: ForeignPtr RawTSPHE = castForeignPtr fh+                in cast_fptr_to_obj fh2++upcastTXTRU :: (FPtr a, ITXTRU a) => a -> TXTRU+upcastTXTRU h = let fh = get_fptr h+                    fh2 :: ForeignPtr RawTXTRU = castForeignPtr fh+                in cast_fptr_to_obj fh2++upcastTBox :: (FPtr a, ITBox a) => a -> TBox+upcastTBox h = let fh = get_fptr h+                   fh2 :: ForeignPtr RawTBox = castForeignPtr fh+               in cast_fptr_to_obj fh2++upcastTPave :: (FPtr a, ITPave a) => a -> TPave+upcastTPave h = let fh = get_fptr h+                    fh2 :: ForeignPtr RawTPave = castForeignPtr fh+                in cast_fptr_to_obj fh2++upcastTPaveText :: (FPtr a, ITPaveText a) => a -> TPaveText+upcastTPaveText h = let fh = get_fptr h+                        fh2 :: ForeignPtr RawTPaveText = castForeignPtr fh+                    in cast_fptr_to_obj fh2++upcastTDiamond :: (FPtr a, ITDiamond a) => a -> TDiamond+upcastTDiamond h = let fh = get_fptr h+                       fh2 :: ForeignPtr RawTDiamond = castForeignPtr fh+                   in cast_fptr_to_obj fh2++upcastTPaveStats :: (FPtr a, ITPaveStats a) => a -> TPaveStats+upcastTPaveStats h = let fh = get_fptr h+                         fh2 :: ForeignPtr RawTPaveStats = castForeignPtr fh+                     in cast_fptr_to_obj fh2++upcastTPavesText :: (FPtr a, ITPavesText a) => a -> TPavesText+upcastTPavesText h = let fh = get_fptr h+                         fh2 :: ForeignPtr RawTPavesText = castForeignPtr fh+                     in cast_fptr_to_obj fh2++upcastTLegend :: (FPtr a, ITLegend a) => a -> TLegend+upcastTLegend h = let fh = get_fptr h+                      fh2 :: ForeignPtr RawTLegend = castForeignPtr fh+                  in cast_fptr_to_obj fh2++upcastTPaveLabel :: (FPtr a, ITPaveLabel a) => a -> TPaveLabel+upcastTPaveLabel h = let fh = get_fptr h+                         fh2 :: ForeignPtr RawTPaveLabel = castForeignPtr fh+                     in cast_fptr_to_obj fh2++upcastTPaveClass :: (FPtr a, ITPaveClass a) => a -> TPaveClass+upcastTPaveClass h = let fh = get_fptr h+                         fh2 :: ForeignPtr RawTPaveClass = castForeignPtr fh+                     in cast_fptr_to_obj fh2++upcastTWbox :: (FPtr a, ITWbox a) => a -> TWbox+upcastTWbox h = let fh = get_fptr h+                    fh2 :: ForeignPtr RawTWbox = castForeignPtr fh+                in cast_fptr_to_obj fh2++upcastTFrame :: (FPtr a, ITFrame a) => a -> TFrame+upcastTFrame h = let fh = get_fptr h+                     fh2 :: ForeignPtr RawTFrame = castForeignPtr fh+                 in cast_fptr_to_obj fh2++upcastTSliderBox :: (FPtr a, ITSliderBox a) => a -> TSliderBox+upcastTSliderBox h = let fh = get_fptr h+                         fh2 :: ForeignPtr RawTSliderBox = castForeignPtr fh+                     in cast_fptr_to_obj fh2++upcastTTree :: (FPtr a, ITTree a) => a -> TTree+upcastTTree h = let fh = get_fptr h+                    fh2 :: ForeignPtr RawTTree = castForeignPtr fh+                in cast_fptr_to_obj fh2++upcastTChain :: (FPtr a, ITChain a) => a -> TChain+upcastTChain h = let fh = get_fptr h+                     fh2 :: ForeignPtr RawTChain = castForeignPtr fh+                 in cast_fptr_to_obj fh2++upcastTNtuple :: (FPtr a, ITNtuple a) => a -> TNtuple+upcastTNtuple h = let fh = get_fptr h+                      fh2 :: ForeignPtr RawTNtuple = castForeignPtr fh+                  in cast_fptr_to_obj fh2++upcastTNtupleD :: (FPtr a, ITNtupleD a) => a -> TNtupleD+upcastTNtupleD h = let fh = get_fptr h+                       fh2 :: ForeignPtr RawTNtupleD = castForeignPtr fh+                   in cast_fptr_to_obj fh2++upcastTTreeSQL :: (FPtr a, ITTreeSQL a) => a -> TTreeSQL+upcastTTreeSQL h = let fh = get_fptr h+                       fh2 :: ForeignPtr RawTTreeSQL = castForeignPtr fh+                   in cast_fptr_to_obj fh2++upcastTPolyLine :: (FPtr a, ITPolyLine a) => a -> TPolyLine+upcastTPolyLine h = let fh = get_fptr h+                        fh2 :: ForeignPtr RawTPolyLine = castForeignPtr fh+                    in cast_fptr_to_obj fh2++upcastTCurlyLine :: (FPtr a, ITCurlyLine a) => a -> TCurlyLine+upcastTCurlyLine h = let fh = get_fptr h+                         fh2 :: ForeignPtr RawTCurlyLine = castForeignPtr fh+                     in cast_fptr_to_obj fh2++upcastTCurlyArc :: (FPtr a, ITCurlyArc a) => a -> TCurlyArc+upcastTCurlyArc h = let fh = get_fptr h+                        fh2 :: ForeignPtr RawTCurlyArc = castForeignPtr fh+                    in cast_fptr_to_obj fh2++upcastTEfficiency :: (FPtr a, ITEfficiency a) => a -> TEfficiency+upcastTEfficiency h = let fh = get_fptr h+                          fh2 :: ForeignPtr RawTEfficiency = castForeignPtr fh+                      in cast_fptr_to_obj fh2++upcastTAxis :: (FPtr a, ITAxis a) => a -> TAxis+upcastTAxis h = let fh = get_fptr h+                    fh2 :: ForeignPtr RawTAxis = castForeignPtr fh+                in cast_fptr_to_obj fh2++upcastTLatex :: (FPtr a, ITLatex a) => a -> TLatex+upcastTLatex h = let fh = get_fptr h+                     fh2 :: ForeignPtr RawTLatex = castForeignPtr fh+                 in cast_fptr_to_obj fh2++upcastTText :: (FPtr a, ITText a) => a -> TText+upcastTText h = let fh = get_fptr h+                    fh2 :: ForeignPtr RawTText = castForeignPtr fh+                in cast_fptr_to_obj fh2++upcastTDirectory :: (FPtr a, ITDirectory a) => a -> TDirectory+upcastTDirectory h = let fh = get_fptr h+                         fh2 :: ForeignPtr RawTDirectory = castForeignPtr fh+                     in cast_fptr_to_obj fh2++upcastTDirectoryFile :: (FPtr a, ITDirectoryFile a) => a -> TDirectoryFile+upcastTDirectoryFile h = let fh = get_fptr h+                             fh2 :: ForeignPtr RawTDirectoryFile = castForeignPtr fh+                         in cast_fptr_to_obj fh2++upcastTFile :: (FPtr a, ITFile a) => a -> TFile+upcastTFile h = let fh = get_fptr h+                    fh2 :: ForeignPtr RawTFile = castForeignPtr fh+                in cast_fptr_to_obj fh2++upcastTBranch :: (FPtr a, ITBranch a) => a -> TBranch+upcastTBranch h = let fh = get_fptr h+                      fh2 :: ForeignPtr RawTBranch = castForeignPtr fh+                  in cast_fptr_to_obj fh2++upcastTVirtualTreePlayer :: (FPtr a, ITVirtualTreePlayer a) => a -> TVirtualTreePlayer+upcastTVirtualTreePlayer h = let fh = get_fptr h+                                 fh2 :: ForeignPtr RawTVirtualTreePlayer = castForeignPtr fh+                             in cast_fptr_to_obj fh2++upcastTTreePlayer :: (FPtr a, ITTreePlayer a) => a -> TTreePlayer+upcastTTreePlayer h = let fh = get_fptr h+                          fh2 :: ForeignPtr RawTTreePlayer = castForeignPtr fh+                      in cast_fptr_to_obj fh2++upcastTArray :: (FPtr a, ITArray a) => a -> TArray+upcastTArray h = let fh = get_fptr h+                     fh2 :: ForeignPtr RawTArray = castForeignPtr fh+                 in cast_fptr_to_obj fh2++upcastTArrayC :: (FPtr a, ITArrayC a) => a -> TArrayC+upcastTArrayC h = let fh = get_fptr h+                      fh2 :: ForeignPtr RawTArrayC = castForeignPtr fh+                  in cast_fptr_to_obj fh2++upcastTArrayD :: (FPtr a, ITArrayD a) => a -> TArrayD+upcastTArrayD h = let fh = get_fptr h+                      fh2 :: ForeignPtr RawTArrayD = castForeignPtr fh+                  in cast_fptr_to_obj fh2++upcastTArrayF :: (FPtr a, ITArrayF a) => a -> TArrayF+upcastTArrayF h = let fh = get_fptr h+                      fh2 :: ForeignPtr RawTArrayF = castForeignPtr fh+                  in cast_fptr_to_obj fh2++upcastTArrayI :: (FPtr a, ITArrayI a) => a -> TArrayI+upcastTArrayI h = let fh = get_fptr h+                      fh2 :: ForeignPtr RawTArrayI = castForeignPtr fh+                  in cast_fptr_to_obj fh2++upcastTArrayL :: (FPtr a, ITArrayL a) => a -> TArrayL+upcastTArrayL h = let fh = get_fptr h+                      fh2 :: ForeignPtr RawTArrayL = castForeignPtr fh+                  in cast_fptr_to_obj fh2++upcastTArrayL64 :: (FPtr a, ITArrayL64 a) => a -> TArrayL64+upcastTArrayL64 h = let fh = get_fptr h+                        fh2 :: ForeignPtr RawTArrayL64 = castForeignPtr fh+                    in cast_fptr_to_obj fh2++upcastTArrayS :: (FPtr a, ITArrayS a) => a -> TArrayS+upcastTArrayS h = let fh = get_fptr h+                      fh2 :: ForeignPtr RawTArrayS = castForeignPtr fh+                  in cast_fptr_to_obj fh2++upcastTH1 :: (FPtr a, ITH1 a) => a -> TH1+upcastTH1 h = let fh = get_fptr h+                  fh2 :: ForeignPtr RawTH1 = castForeignPtr fh+              in cast_fptr_to_obj fh2++upcastTH2 :: (FPtr a, ITH2 a) => a -> TH2+upcastTH2 h = let fh = get_fptr h+                  fh2 :: ForeignPtr RawTH2 = castForeignPtr fh+              in cast_fptr_to_obj fh2++upcastTH3 :: (FPtr a, ITH3 a) => a -> TH3+upcastTH3 h = let fh = get_fptr h+                  fh2 :: ForeignPtr RawTH3 = castForeignPtr fh+              in cast_fptr_to_obj fh2++upcastTH1C :: (FPtr a, ITH1C a) => a -> TH1C+upcastTH1C h = let fh = get_fptr h+                   fh2 :: ForeignPtr RawTH1C = castForeignPtr fh+               in cast_fptr_to_obj fh2++upcastTH1D :: (FPtr a, ITH1D a) => a -> TH1D+upcastTH1D h = let fh = get_fptr h+                   fh2 :: ForeignPtr RawTH1D = castForeignPtr fh+               in cast_fptr_to_obj fh2++upcastTH1F :: (FPtr a, ITH1F a) => a -> TH1F+upcastTH1F h = let fh = get_fptr h+                   fh2 :: ForeignPtr RawTH1F = castForeignPtr fh+               in cast_fptr_to_obj fh2++upcastTH1I :: (FPtr a, ITH1I a) => a -> TH1I+upcastTH1I h = let fh = get_fptr h+                   fh2 :: ForeignPtr RawTH1I = castForeignPtr fh+               in cast_fptr_to_obj fh2++upcastTH1S :: (FPtr a, ITH1S a) => a -> TH1S+upcastTH1S h = let fh = get_fptr h+                   fh2 :: ForeignPtr RawTH1S = castForeignPtr fh+               in cast_fptr_to_obj fh2++upcastTH2C :: (FPtr a, ITH2C a) => a -> TH2C+upcastTH2C h = let fh = get_fptr h+                   fh2 :: ForeignPtr RawTH2C = castForeignPtr fh+               in cast_fptr_to_obj fh2++upcastTH2D :: (FPtr a, ITH2D a) => a -> TH2D+upcastTH2D h = let fh = get_fptr h+                   fh2 :: ForeignPtr RawTH2D = castForeignPtr fh+               in cast_fptr_to_obj fh2++upcastTH2F :: (FPtr a, ITH2F a) => a -> TH2F+upcastTH2F h = let fh = get_fptr h+                   fh2 :: ForeignPtr RawTH2F = castForeignPtr fh+               in cast_fptr_to_obj fh2++upcastTH2I :: (FPtr a, ITH2I a) => a -> TH2I+upcastTH2I h = let fh = get_fptr h+                   fh2 :: ForeignPtr RawTH2I = castForeignPtr fh+               in cast_fptr_to_obj fh2++upcastTH2Poly :: (FPtr a, ITH2Poly a) => a -> TH2Poly+upcastTH2Poly h = let fh = get_fptr h+                      fh2 :: ForeignPtr RawTH2Poly = castForeignPtr fh+                  in cast_fptr_to_obj fh2++upcastTH2S :: (FPtr a, ITH2S a) => a -> TH2S+upcastTH2S h = let fh = get_fptr h+                   fh2 :: ForeignPtr RawTH2S = castForeignPtr fh+               in cast_fptr_to_obj fh2++upcastTH3C :: (FPtr a, ITH3C a) => a -> TH3C+upcastTH3C h = let fh = get_fptr h+                   fh2 :: ForeignPtr RawTH3C = castForeignPtr fh+               in cast_fptr_to_obj fh2++upcastTH3D :: (FPtr a, ITH3D a) => a -> TH3D+upcastTH3D h = let fh = get_fptr h+                   fh2 :: ForeignPtr RawTH3D = castForeignPtr fh+               in cast_fptr_to_obj fh2++upcastTH3F :: (FPtr a, ITH3F a) => a -> TH3F+upcastTH3F h = let fh = get_fptr h+                   fh2 :: ForeignPtr RawTH3F = castForeignPtr fh+               in cast_fptr_to_obj fh2++upcastTH3I :: (FPtr a, ITH3I a) => a -> TH3I+upcastTH3I h = let fh = get_fptr h+                   fh2 :: ForeignPtr RawTH3I = castForeignPtr fh+               in cast_fptr_to_obj fh2++upcastTH3S :: (FPtr a, ITH3S a) => a -> TH3S+upcastTH3S h = let fh = get_fptr h+                   fh2 :: ForeignPtr RawTH3S = castForeignPtr fh+               in cast_fptr_to_obj fh2++upcastTQObject :: (FPtr a, ITQObject a) => a -> TQObject+upcastTQObject h = let fh = get_fptr h+                       fh2 :: ForeignPtr RawTQObject = castForeignPtr fh+                   in cast_fptr_to_obj fh2++upcastTVirtualPad :: (FPtr a, ITVirtualPad a) => a -> TVirtualPad+upcastTVirtualPad h = let fh = get_fptr h+                          fh2 :: ForeignPtr RawTVirtualPad = castForeignPtr fh+                      in cast_fptr_to_obj fh2++upcastTPad :: (FPtr a, ITPad a) => a -> TPad+upcastTPad h = let fh = get_fptr h+                   fh2 :: ForeignPtr RawTPad = castForeignPtr fh+               in cast_fptr_to_obj fh2++upcastTButton :: (FPtr a, ITButton a) => a -> TButton+upcastTButton h = let fh = get_fptr h+                      fh2 :: ForeignPtr RawTButton = castForeignPtr fh+                  in cast_fptr_to_obj fh2++upcastTGroupButton :: (FPtr a, ITGroupButton a) => a -> TGroupButton+upcastTGroupButton h = let fh = get_fptr h+                           fh2 :: ForeignPtr RawTGroupButton = castForeignPtr fh+                       in cast_fptr_to_obj fh2++upcastTCanvas :: (FPtr a, ITCanvas a) => a -> TCanvas+upcastTCanvas h = let fh = get_fptr h+                      fh2 :: ForeignPtr RawTCanvas = castForeignPtr fh+                  in cast_fptr_to_obj fh2++upcastTDialogCanvas :: (FPtr a, ITDialogCanvas a) => a -> TDialogCanvas+upcastTDialogCanvas h = let fh = get_fptr h+                            fh2 :: ForeignPtr RawTDialogCanvas = castForeignPtr fh+                        in cast_fptr_to_obj fh2++upcastTInspectCanvas :: (FPtr a, ITInspectCanvas a) => a -> TInspectCanvas+upcastTInspectCanvas h = let fh = get_fptr h+                             fh2 :: ForeignPtr RawTInspectCanvas = castForeignPtr fh+                         in cast_fptr_to_obj fh2++upcastTEvePad :: (FPtr a, ITEvePad a) => a -> TEvePad+upcastTEvePad h = let fh = get_fptr h+                      fh2 :: ForeignPtr RawTEvePad = castForeignPtr fh+                  in cast_fptr_to_obj fh2++upcastTSlider :: (FPtr a, ITSlider a) => a -> TSlider+upcastTSlider h = let fh = get_fptr h+                      fh2 :: ForeignPtr RawTSlider = castForeignPtr fh+                  in cast_fptr_to_obj fh2++upcastTApplication :: (FPtr a, ITApplication a) => a -> TApplication+upcastTApplication h = let fh = get_fptr h+                           fh2 :: ForeignPtr RawTApplication = castForeignPtr fh+                       in cast_fptr_to_obj fh2++upcastTRint :: (FPtr a, ITRint a) => a -> TRint+upcastTRint h = let fh = get_fptr h+                    fh2 :: ForeignPtr RawTRint = castForeignPtr fh+                in cast_fptr_to_obj fh2++upcastTRandom :: (FPtr a, ITRandom a) => a -> TRandom+upcastTRandom h = let fh = get_fptr h+                      fh2 :: ForeignPtr RawTRandom = castForeignPtr fh+                  in cast_fptr_to_obj fh2++upcastTCollection :: (FPtr a, ITCollection a) => a -> TCollection+upcastTCollection h = let fh = get_fptr h+                          fh2 :: ForeignPtr RawTCollection = castForeignPtr fh+                      in cast_fptr_to_obj fh2++upcastTSeqCollection :: (FPtr a, ITSeqCollection a) => a -> TSeqCollection+upcastTSeqCollection h = let fh = get_fptr h+                             fh2 :: ForeignPtr RawTSeqCollection = castForeignPtr fh+                         in cast_fptr_to_obj fh2++upcastTObjArray :: (FPtr a, ITObjArray a) => a -> TObjArray+upcastTObjArray h = let fh = get_fptr h+                        fh2 :: ForeignPtr RawTObjArray = castForeignPtr fh+                    in cast_fptr_to_obj fh2
+ src/HROOT/Class/TCollection.hs view
@@ -0,0 +1,9 @@+module HROOT.Class.TCollection+  (+    TCollection(..)+  , ITCollection +  ) where++import HROOT.Class.Interface+import HROOT.Class.Implementation ()+
+ src/HROOT/Class/TObjArray.hs view
@@ -0,0 +1,9 @@+module HROOT.Class.TObjArray+  (+    TObjArray(..)+  , ITObjArray +  ) where++import HROOT.Class.Interface+import HROOT.Class.Implementation ()+
+ src/HROOT/Class/TSeqCollection.hs view
@@ -0,0 +1,9 @@+module HROOT.Class.TSeqCollection+  (+    TSeqCollection(..)+  , ITSeqCollection +  ) where++import HROOT.Class.Interface+import HROOT.Class.Implementation ()+
+ test/compiletest.hs view
@@ -0,0 +1,7 @@+module Main where++import HROOT++main :: IO () +main = do +  putStrLn "compile test success"