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 +14/−3
- csrc/HROOT.cpp +141/−2
- csrc/HROOT.h +67/−3
- src/HROOT/AddOn.hs +5/−35
- src/HROOT/Class/Existential.hs +90/−0
- src/HROOT/Class/FFI.hsc +345/−0
- src/HROOT/Class/Implementation.hs +241/−0
- src/HROOT/Class/Interface.hs +690/−1
- src/HROOT/Class/TCollection.hs +9/−0
- src/HROOT/Class/TObjArray.hs +9/−0
- src/HROOT/Class/TSeqCollection.hs +9/−0
- test/compiletest.hs +7/−0
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"