module HROOT.Class.TH3.Interface where
import Data.Word
import Foreign.ForeignPtr
import HROOT.TypeCast
import HROOT.Class.TH3.RawType
import HROOT.Class.TH1D.RawType
import HROOT.Class.TH1.RawType
import HROOT.Class.TF1.Interface
import HROOT.Class.TH1.Interface
import HROOT.Class.TAtt3D.Interface
class (ITH1 a,ITAtt3D a) => ITH3 a where
fill3 :: a -> Double -> Double -> Double -> IO Int
fill3w :: a -> Double -> Double -> Double -> Double -> IO Int
fitSlicesZ :: (ITF1 c0, FPtr c0) => a -> c0 -> Int -> Int -> Int -> Int -> Int -> String -> IO ()
getCorrelationFactor3 :: a -> Int -> Int -> IO Double
getCovariance3 :: a -> Int -> Int -> IO Double
rebinX3 :: a -> Int -> String -> IO TH3
rebinY3 :: a -> Int -> String -> IO TH3
rebinZ3 :: a -> Int -> String -> IO TH3
rebin3D :: a -> Int -> Int -> Int -> String -> IO TH3
instance Existable TH3 where
data Exist TH3 = forall a. (FPtr a, ITH3 a) => ETH3 a
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