{-# LANGUAGE ForeignFunctionInterface, TypeFamilies, MultiParamTypeClasses, FlexibleInstances, TypeSynonymInstances, EmptyDataDecls, ExistentialQuantification, ScopedTypeVariables #-} -- module HROOT.Class.Interface where module HROOT.Class.TGraph.Interface where import Data.Word import Foreign.ForeignPtr import HROOT.TypeCast import HROOT.Class.TGraph.RawType import HROOT.Class.TF1.RawType import HROOT.Class.TH1F.RawType import HROOT.Class.TList.RawType import HROOT.Class.TAxis.RawType import HROOT.Class.TF1.Interface import HROOT.Class.TH1F.Interface import HROOT.Class.TNamed.Interface import HROOT.Class.TAttLine.Interface import HROOT.Class.TAttFill.Interface import HROOT.Class.TAttMarker.Interface class (ITNamed a,ITAttLine a,ITAttFill a,ITAttMarker a) => ITGraph a where apply :: (ITF1 c0, FPtr c0) => a -> c0 -> IO () chisquare :: (ITF1 c0, FPtr c0) => a -> c0 -> IO Double drawGraph :: a -> Int -> [Double] -> [Double] -> String -> IO () drawPanelTGraph :: a -> IO () expand :: a -> Int -> Int -> IO () fitPanelTGraph :: a -> IO () getCorrelationFactorTGraph :: a -> IO Double getCovarianceTGraph :: a -> IO Double getMeanTGraph :: a -> Int -> IO Double getRMSTGraph :: a -> Int -> IO Double getErrorX :: a -> Int -> IO Double getErrorY :: a -> Int -> IO Double getErrorXhigh :: a -> Int -> IO Double getErrorXlow :: a -> Int -> IO Double getErrorYhigh :: a -> Int -> IO Double getErrorYlow :: a -> Int -> IO Double initExpo :: a -> Double -> Double -> IO () initGaus :: a -> Double -> Double -> IO () initPolynom :: a -> Double -> Double -> IO () insertPoint :: a -> IO Int integralTGraph :: a -> Int -> Int -> IO Double isEditable :: a -> IO Int isInsideTGraph :: a -> Double -> Double -> IO Int leastSquareFit :: a -> Int -> [Double] -> Double -> Double -> IO () paintStats :: (ITF1 c0, FPtr c0) => a -> c0 -> IO () removePoint :: a -> Int -> IO Int setEditable :: a -> Int -> IO () setHistogram :: (ITH1F c0, FPtr c0) => a -> c0 -> IO () setMaximumTGraph :: a -> Double -> IO () setMinimumTGraph :: a -> Double -> IO () set :: a -> Int -> IO () setPoint :: a -> Int -> Double -> Double -> IO () instance Existable TGraph where data Exist TGraph = forall a. (FPtr a, ITGraph a) => ETGraph a 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