packages feed

HROOT-hist-0.9: src/HROOT/Hist/TH3/Implementation.hs

{-# LANGUAGE EmptyDataDecls, FlexibleContexts, FlexibleInstances,
  ForeignFunctionInterface, IncoherentInstances,
  MultiParamTypeClasses, OverlappingInstances, TypeFamilies,
  TypeSynonymInstances #-}
module HROOT.Hist.TH3.Implementation where
import FFICXX.Runtime.Cast
import Data.Word
import Foreign.C
import Foreign.Ptr
import System.IO.Unsafe
import HROOT.Hist.TH3.RawType
import HROOT.Hist.TH3.FFI
import HROOT.Hist.TH3.Interface
import HROOT.Hist.TH3.Cast
import HROOT.Core.TDirectory.RawType
import HROOT.Core.TDirectory.Cast
import HROOT.Core.TDirectory.Interface
import HROOT.Hist.TF1.RawType
import HROOT.Hist.TF1.Cast
import HROOT.Hist.TF1.Interface
import HROOT.Core.TArrayD.RawType
import HROOT.Core.TArrayD.Cast
import HROOT.Core.TArrayD.Interface
import HROOT.Hist.TAxis.RawType
import HROOT.Hist.TAxis.Cast
import HROOT.Hist.TAxis.Interface
import HROOT.Core.TClass.RawType
import HROOT.Core.TClass.Cast
import HROOT.Core.TClass.Interface
import HROOT.Hist.TH1D.RawType
import HROOT.Hist.TH1D.Cast
import HROOT.Hist.TH1D.Interface
import HROOT.Hist.TH1.RawType
import HROOT.Hist.TH1.Cast
import HROOT.Hist.TH1.Interface
import HROOT.Core.TAtt3D.RawType
import HROOT.Core.TAtt3D.Cast
import HROOT.Core.TAtt3D.Interface
import HROOT.Core.TNamed.RawType
import HROOT.Core.TNamed.Cast
import HROOT.Core.TNamed.Interface
import HROOT.Core.TAttLine.RawType
import HROOT.Core.TAttLine.Cast
import HROOT.Core.TAttLine.Interface
import HROOT.Core.TAttFill.RawType
import HROOT.Core.TAttFill.Cast
import HROOT.Core.TAttFill.Interface
import HROOT.Core.TAttMarker.RawType
import HROOT.Core.TAttMarker.Cast
import HROOT.Core.TAttMarker.Interface
import HROOT.Core.TObject.RawType
import HROOT.Core.TObject.Cast
import HROOT.Core.TObject.Interface
import HROOT.Core.Deletable.RawType
import HROOT.Core.Deletable.Cast
import HROOT.Core.Deletable.Interface

instance ITH3 TH3 where
        fill3 = xform3 c_th3_fill3
        fill3w = xform4 c_th3_fill3w
        fitSlicesZ = xform7 c_th3_fitslicesz
        getCorrelationFactor3 = xform2 c_th3_getcorrelationfactor3
        getCovariance3 = xform2 c_th3_getcovariance3
        rebinX3 = xform2 c_th3_rebinx3
        rebinY3 = xform2 c_th3_rebiny3
        rebinZ3 = xform2 c_th3_rebinz3
        rebin3D = xform4 c_th3_rebin3d

instance ITH1 TH3 where
        add = xform2 c_th3_add
        addBinContent = xform2 c_th3_addbincontent
        chi2Test = xform3 c_th3_chi2test
        computeIntegral = xform0 c_th3_computeintegral
        directoryAutoAdd = xform1 c_th3_directoryautoadd
        divide = xform5 c_th3_divide
        drawCopyTH1 = xform1 c_th3_drawcopyth1
        drawNormalized = xform2 c_th3_drawnormalized
        drawPanelTH1 = xform0 c_th3_drawpanelth1
        bufferEmpty = xform1 c_th3_bufferempty
        evalF = xform2 c_th3_evalf
        fFT = xform2 c_th3_fft
        fill1 = xform1 c_th3_fill1
        fill1w = xform2 c_th3_fill1w
        fillN1 = xform4 c_th3_filln1
        fillRandom = xform2 c_th3_fillrandom
        findBin = xform3 c_th3_findbin
        findFixBin = xform3 c_th3_findfixbin
        findFirstBinAbove = xform2 c_th3_findfirstbinabove
        findLastBinAbove = xform2 c_th3_findlastbinabove
        fit = xform5 c_th3_fit
        fitPanelTH1 = xform0 c_th3_fitpanelth1
        getNdivisionA = xform1 c_th3_getndivisiona
        getAxisColorA = xform1 c_th3_getaxiscolora
        getLabelColorA = xform1 c_th3_getlabelcolora
        getLabelFontA = xform1 c_th3_getlabelfonta
        getLabelOffsetA = xform1 c_th3_getlabeloffseta
        getLabelSizeA = xform1 c_th3_getlabelsizea
        getTitleFontA = xform1 c_th3_gettitlefonta
        getTitleOffsetA = xform1 c_th3_gettitleoffseta
        getTitleSizeA = xform1 c_th3_gettitlesizea
        getTickLengthA = xform1 c_th3_getticklengtha
        getBarOffset = xform0 c_th3_getbaroffset
        getBarWidth = xform0 c_th3_getbarwidth
        getContour = xform1 c_th3_getcontour
        getContourLevel = xform1 c_th3_getcontourlevel
        getContourLevelPad = xform1 c_th3_getcontourlevelpad
        getBin = xform3 c_th3_getbin
        getBinCenter = xform1 c_th3_getbincenter
        getBinContent1 = xform1 c_th3_getbincontent1
        getBinContent2 = xform2 c_th3_getbincontent2
        getBinContent3 = xform3 c_th3_getbincontent3
        getBinError1 = xform1 c_th3_getbinerror1
        getBinError2 = xform2 c_th3_getbinerror2
        getBinError3 = xform3 c_th3_getbinerror3
        getBinLowEdge = xform1 c_th3_getbinlowedge
        getBinWidth = xform1 c_th3_getbinwidth
        getCellContent = xform2 c_th3_getcellcontent
        getCellError = xform2 c_th3_getcellerror
        getEntries = xform0 c_th3_getentries
        getEffectiveEntries = xform0 c_th3_geteffectiveentries
        getFunction = xform1 c_th3_getfunction
        getDimension = xform0 c_th3_getdimension
        getKurtosis = xform1 c_th3_getkurtosis
        getLowEdge = xform1 c_th3_getlowedge
        getMaximumTH1 = xform1 c_th3_getmaximumth1
        getMaximumBin = xform0 c_th3_getmaximumbin
        getMaximumStored = xform0 c_th3_getmaximumstored
        getMinimumTH1 = xform1 c_th3_getminimumth1
        getMinimumBin = xform0 c_th3_getminimumbin
        getMinimumStored = xform0 c_th3_getminimumstored
        getMean = xform1 c_th3_getmean
        getMeanError = xform1 c_th3_getmeanerror
        getNbinsX = xform0 c_th3_getnbinsx
        getNbinsY = xform0 c_th3_getnbinsy
        getNbinsZ = xform0 c_th3_getnbinsz
        getQuantilesTH1 = xform3 c_th3_getquantilesth1
        getRandom = xform0 c_th3_getrandom
        getStats = xform1 c_th3_getstats
        getSumOfWeights = xform0 c_th3_getsumofweights
        getSumw2 = xform0 c_th3_getsumw2
        getSumw2N = xform0 c_th3_getsumw2n
        getRMS = xform1 c_th3_getrms
        getRMSError = xform1 c_th3_getrmserror
        getSkewness = xform1 c_th3_getskewness
        integral1 = xform3 c_th3_integral1
        interpolate1 = xform1 c_th3_interpolate1
        interpolate2 = xform2 c_th3_interpolate2
        interpolate3 = xform3 c_th3_interpolate3
        kolmogorovTest = xform2 c_th3_kolmogorovtest
        labelsDeflate = xform1 c_th3_labelsdeflate
        labelsInflate = xform1 c_th3_labelsinflate
        labelsOption = xform2 c_th3_labelsoption
        multiflyF = xform2 c_th3_multiflyf
        multiply = xform5 c_th3_multiply
        putStats = xform1 c_th3_putstats
        rebin = xform3 c_th3_rebin
        rebinAxis = xform2 c_th3_rebinaxis
        rebuild = xform1 c_th3_rebuild
        recursiveRemove = xform1 c_th3_recursiveremove
        reset = xform1 c_th3_reset
        resetStats = xform0 c_th3_resetstats
        scale = xform2 c_th3_scale
        setAxisColorA = xform2 c_th3_setaxiscolora
        setAxisRange = xform3 c_th3_setaxisrange
        setBarOffset = xform1 c_th3_setbaroffset
        setBarWidth = xform1 c_th3_setbarwidth
        setBinContent1 = xform2 c_th3_setbincontent1
        setBinContent2 = xform3 c_th3_setbincontent2
        setBinContent3 = xform4 c_th3_setbincontent3
        setBinError1 = xform2 c_th3_setbinerror1
        setBinError2 = xform3 c_th3_setbinerror2
        setBinError3 = xform4 c_th3_setbinerror3
        setBins1 = xform2 c_th3_setbins1
        setBins2 = xform4 c_th3_setbins2
        setBins3 = xform6 c_th3_setbins3
        setBinsLength = xform1 c_th3_setbinslength
        setBuffer = xform2 c_th3_setbuffer
        setCellContent = xform3 c_th3_setcellcontent
        setContent = xform1 c_th3_setcontent
        setContour = xform2 c_th3_setcontour
        setContourLevel = xform2 c_th3_setcontourlevel
        setDirectory = xform1 c_th3_setdirectory
        setEntries = xform1 c_th3_setentries
        setError = xform1 c_th3_seterror
        setLabelColorA = xform2 c_th3_setlabelcolora
        setLabelSizeA = xform2 c_th3_setlabelsizea
        setLabelFontA = xform2 c_th3_setlabelfonta
        setLabelOffsetA = xform2 c_th3_setlabeloffseta
        setMaximum = xform1 c_th3_setmaximum
        setMinimum = xform1 c_th3_setminimum
        setNormFactor = xform1 c_th3_setnormfactor
        setStats = xform1 c_th3_setstats
        setOption = xform1 c_th3_setoption
        setXTitle = xform1 c_th3_setxtitle
        setYTitle = xform1 c_th3_setytitle
        setZTitle = xform1 c_th3_setztitle
        showBackground = xform2 c_th3_showbackground
        showPeaks = xform3 c_th3_showpeaks
        smooth = xform2 c_th3_smooth
        sumw2 = xform0 c_th3_sumw2

instance ITAtt3D TH3

instance ITNamed TH3 where
        setName = xform1 c_th3_setname
        setNameTitle = xform2 c_th3_setnametitle
        setTitle = xform1 c_th3_settitle

instance ITAttLine TH3 where
        getLineColor = xform0 c_th3_getlinecolor
        getLineStyle = xform0 c_th3_getlinestyle
        getLineWidth = xform0 c_th3_getlinewidth
        resetAttLine = xform1 c_th3_resetattline
        setLineAttributes = xform0 c_th3_setlineattributes
        setLineColor = xform1 c_th3_setlinecolor
        setLineStyle = xform1 c_th3_setlinestyle
        setLineWidth = xform1 c_th3_setlinewidth

instance ITAttFill TH3 where
        setFillColor = xform1 c_th3_setfillcolor
        setFillStyle = xform1 c_th3_setfillstyle

instance ITAttMarker TH3 where
        getMarkerColor = xform0 c_th3_getmarkercolor
        getMarkerStyle = xform0 c_th3_getmarkerstyle
        getMarkerSize = xform0 c_th3_getmarkersize
        resetAttMarker = xform1 c_th3_resetattmarker
        setMarkerAttributes = xform0 c_th3_setmarkerattributes
        setMarkerColor = xform1 c_th3_setmarkercolor
        setMarkerStyle = xform1 c_th3_setmarkerstyle
        setMarkerSize = xform1 c_th3_setmarkersize

instance ITObject TH3 where
        draw = xform1 c_th3_draw
        findObject = xform1 c_th3_findobject
        getName = xform0 c_th3_getname
        isA = xform0 c_th3_isa
        paint = xform1 c_th3_paint
        printObj = xform1 c_th3_printobj
        saveAs = xform2 c_th3_saveas
        write = xform3 c_th3_write

instance IDeletable TH3 where
        delete = xform0 c_th3_delete

tH3ProjectionX ::
                 (Castable c1 CString, Castable c0 CString) =>
                 TH3 -> c0 -> CInt -> CInt -> CInt -> CInt -> c1 -> IO TH1D
tH3ProjectionX = xform6 c_th3_th3projectionx

tH3ProjectionY ::
                 (Castable c1 CString, Castable c0 CString) =>
                 TH3 -> c0 -> CInt -> CInt -> CInt -> CInt -> c1 -> IO TH1D
tH3ProjectionY = xform6 c_th3_th3projectiony

tH3ProjectionZ ::
                 (Castable c1 CString, Castable c0 CString) =>
                 TH3 -> c0 -> CInt -> CInt -> CInt -> CInt -> c1 -> IO TH1D
tH3ProjectionZ = xform6 c_th3_th3projectionz

tH3Project3D :: Castable c0 CString => TH3 -> c0 -> IO TH1
tH3Project3D = xform1 c_th3_th3project3d