module HROOT.Hist.TH2.Interface where
import Data.Word
import Foreign.C
import Foreign.Ptr
import Foreign.ForeignPtr
import FFICXX.Runtime.Cast
import HROOT.Hist.TH2.RawType
import HROOT.Hist.TH1D.RawType
import HROOT.Hist.TH1.Interface
import HROOT.Core.TObjArray.Interface
import HROOT.Hist.TF1.Interface
class (ITH1 a) => ITH2 a where
fill2 :: a -> CDouble -> CDouble -> IO CInt
fill2w :: a -> CDouble -> CDouble -> CDouble -> IO CInt
fillN2 :: a -> CInt -> (Ptr CDouble) -> (Ptr CDouble) -> (Ptr CDouble) -> CInt -> IO ()
fillRandom2 :: (ITH1 c0, FPtr c0) => a -> c0 -> CInt -> IO ()
findFirstBinAbove2 :: a -> CDouble -> CInt -> IO CInt
findLastBinAbove2 :: a -> CDouble -> CInt -> IO CInt
fitSlicesX :: (ITObjArray c1, FPtr c1, ITF1 c0, FPtr c0) => a -> c0 -> CInt -> CInt -> CInt -> CString -> c1 -> IO ()
fitSlicesY :: (ITObjArray c1, FPtr c1, ITF1 c0, FPtr c0) => a -> c0 -> CInt -> CInt -> CInt -> CString -> c1 -> IO ()
getCorrelationFactor2 :: a -> CInt -> CInt -> IO CDouble
getCovariance2 :: a -> CInt -> CInt -> IO CDouble
integral2 :: a -> CInt -> CInt -> CInt -> CInt -> CString -> IO CDouble
rebinX2 :: a -> CInt -> CString -> IO TH2
rebinY2 :: a -> CInt -> CString -> IO TH2
rebin2D :: a -> CInt -> CInt -> CString -> IO TH2
setShowProjectionX :: a -> CInt -> IO ()
setShowProjectionY :: a -> CInt -> IO ()
instance Existable TH2 where
data Exist TH2 = forall a. (FPtr a, ITH2 a) => ETH2 a
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
downcastTH2 :: (FPtr a, ITH2 a) => TH2 -> a
downcastTH2 h = let fh = get_fptr h
fh2 = castForeignPtr fh
in cast_fptr_to_obj fh2