{-# LANGUAGE ForeignFunctionInterface, TypeFamilies, MultiParamTypeClasses, FlexibleInstances, TypeSynonymInstances, EmptyDataDecls, ExistentialQuantification, ScopedTypeVariables #-} -- module HROOT.Class.Interface where module HROOT.Class.TF1.Interface where import Data.Word import Foreign.ForeignPtr import HROOT.TypeCast import HROOT.Class.TF1.RawType import HROOT.Class.TObject.RawType import HROOT.Class.TH1.RawType import HROOT.Class.TAxis.RawType import HROOT.Class.TObject.Interface import HROOT.Class.TFormula.Interface import HROOT.Class.TAttLine.Interface import HROOT.Class.TAttFill.Interface import HROOT.Class.TAttMarker.Interface class (ITFormula a,ITAttLine a,ITAttFill a,ITAttMarker a) => ITF1 a where derivative :: a -> Double -> [Double] -> Double -> IO Double derivative2 :: a -> Double -> [Double] -> Double -> IO Double derivative3 :: a -> Double -> [Double] -> Double -> IO Double drawCopyTF1 :: a -> String -> IO a drawDerivative :: a -> String -> IO TObject drawIntegral :: a -> String -> IO TObject drawF1 :: a -> String -> Double -> Double -> String -> IO () fixParameter :: a -> Int -> Double -> IO () getMaximumTF1 :: a -> Double -> Double -> Double -> Double -> Int -> IO Double getMinimumTF1 :: a -> Double -> Double -> Double -> Double -> Int -> IO Double getMaximumX :: a -> Double -> Double -> Double -> Double -> Int -> IO Double getMinimumX :: a -> Double -> Double -> Double -> Double -> Int -> IO Double getNDF :: a -> IO Int getNpx :: a -> IO Int getNumberFreeParameters :: a -> IO Int getNumberFitPoints :: a -> IO Int getParError :: a -> Int -> IO Double getProb :: a -> IO Double getQuantilesTF1 :: a -> Int -> [Double] -> [Double] -> IO Int getRandomTF1 :: a -> Double -> Double -> IO Double getSave :: a -> [Double] -> IO Double getX :: a -> Double -> Double -> Double -> Double -> Int -> IO Double getXmin :: a -> IO Double getXmax :: a -> IO Double gradientPar :: a -> Int -> [Double] -> Double -> IO Double initArgs :: a -> [Double] -> [Double] -> IO () integralTF1 :: a -> Double -> Double -> [Double] -> Double -> IO Double integralError :: a -> Double -> Double -> [Double] -> [Double] -> Double -> IO Double integralFast :: a -> Int -> [Double] -> [Double] -> Double -> Double -> [Double] -> Double -> IO Double isInside :: a -> [Double] -> IO Int releaseParameter :: a -> Int -> IO () setChisquare :: a -> Double -> IO () setMaximumTF1 :: a -> Double -> IO () setMinimumTF1 :: a -> Double -> IO () setNDF :: a -> Int -> IO () setNumberFitPoints :: a -> Int -> IO () setNpx :: a -> Int -> IO () setParError :: a -> Int -> Double -> IO () setParErrors :: a -> [Double] -> IO () setParLimits :: a -> Int -> Double -> Double -> IO () setParent :: (ITObject c0, FPtr c0) => a -> c0 -> IO () setRange1 :: a -> Double -> Double -> IO () setRange2 :: a -> Double -> Double -> Double -> Double -> IO () setRange3 :: a -> Double -> Double -> Double -> Double -> Double -> Double -> IO () setSavedPoint :: a -> Int -> Double -> IO () moment :: a -> Double -> Double -> Double -> [Double] -> Double -> IO Double centralMoment :: a -> Double -> Double -> Double -> [Double] -> Double -> IO Double mean :: a -> Double -> Double -> [Double] -> Double -> IO Double variance :: a -> Double -> Double -> [Double] -> Double -> IO Double instance Existable TF1 where data Exist TF1 = forall a. (FPtr a, ITF1 a) => ETF1 a 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