packages feed

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

{-# LANGUAGE EmptyDataDecls, FlexibleContexts, FlexibleInstances,
  ForeignFunctionInterface, IncoherentInstances,
  MultiParamTypeClasses, OverlappingInstances, TypeFamilies,
  TypeSynonymInstances #-}
module HROOT.Hist.TH2.Implementation where
import FFICXX.Runtime.Cast
import Data.Word
import Foreign.C
import Foreign.Ptr
import System.IO.Unsafe
import HROOT.Hist.TH2.RawType
import HROOT.Hist.TH2.FFI
import HROOT.Hist.TH2.Interface
import HROOT.Hist.TH2.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.Core.TObjArray.RawType
import HROOT.Core.TObjArray.Cast
import HROOT.Core.TObjArray.Interface
import HROOT.Hist.TH1.RawType
import HROOT.Hist.TH1.Cast
import HROOT.Hist.TH1.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 ITH2 TH2 where
        fill2 = xform2 c_th2_fill2
        fill2w = xform3 c_th2_fill2w
        fillN2 = xform5 c_th2_filln2
        fillRandom2 = xform2 c_th2_fillrandom2
        findFirstBinAbove2 = xform2 c_th2_findfirstbinabove2
        findLastBinAbove2 = xform2 c_th2_findlastbinabove2
        fitSlicesX = xform6 c_th2_fitslicesx
        fitSlicesY = xform6 c_th2_fitslicesy
        getCorrelationFactor2 = xform2 c_th2_getcorrelationfactor2
        getCovariance2 = xform2 c_th2_getcovariance2
        integral2 = xform5 c_th2_integral2
        rebinX2 = xform2 c_th2_rebinx2
        rebinY2 = xform2 c_th2_rebiny2
        rebin2D = xform3 c_th2_rebin2d
        setShowProjectionX = xform1 c_th2_setshowprojectionx
        setShowProjectionY = xform1 c_th2_setshowprojectiony

instance ITH1 TH2 where
        add = xform2 c_th2_add
        addBinContent = xform2 c_th2_addbincontent
        chi2Test = xform3 c_th2_chi2test
        computeIntegral = xform0 c_th2_computeintegral
        directoryAutoAdd = xform1 c_th2_directoryautoadd
        divide = xform5 c_th2_divide
        drawCopyTH1 = xform1 c_th2_drawcopyth1
        drawNormalized = xform2 c_th2_drawnormalized
        drawPanelTH1 = xform0 c_th2_drawpanelth1
        bufferEmpty = xform1 c_th2_bufferempty
        evalF = xform2 c_th2_evalf
        fFT = xform2 c_th2_fft
        fill1 = xform1 c_th2_fill1
        fill1w = xform2 c_th2_fill1w
        fillN1 = xform4 c_th2_filln1
        fillRandom = xform2 c_th2_fillrandom
        findBin = xform3 c_th2_findbin
        findFixBin = xform3 c_th2_findfixbin
        findFirstBinAbove = xform2 c_th2_findfirstbinabove
        findLastBinAbove = xform2 c_th2_findlastbinabove
        fit = xform5 c_th2_fit
        fitPanelTH1 = xform0 c_th2_fitpanelth1
        getNdivisionA = xform1 c_th2_getndivisiona
        getAxisColorA = xform1 c_th2_getaxiscolora
        getLabelColorA = xform1 c_th2_getlabelcolora
        getLabelFontA = xform1 c_th2_getlabelfonta
        getLabelOffsetA = xform1 c_th2_getlabeloffseta
        getLabelSizeA = xform1 c_th2_getlabelsizea
        getTitleFontA = xform1 c_th2_gettitlefonta
        getTitleOffsetA = xform1 c_th2_gettitleoffseta
        getTitleSizeA = xform1 c_th2_gettitlesizea
        getTickLengthA = xform1 c_th2_getticklengtha
        getBarOffset = xform0 c_th2_getbaroffset
        getBarWidth = xform0 c_th2_getbarwidth
        getContour = xform1 c_th2_getcontour
        getContourLevel = xform1 c_th2_getcontourlevel
        getContourLevelPad = xform1 c_th2_getcontourlevelpad
        getBin = xform3 c_th2_getbin
        getBinCenter = xform1 c_th2_getbincenter
        getBinContent1 = xform1 c_th2_getbincontent1
        getBinContent2 = xform2 c_th2_getbincontent2
        getBinContent3 = xform3 c_th2_getbincontent3
        getBinError1 = xform1 c_th2_getbinerror1
        getBinError2 = xform2 c_th2_getbinerror2
        getBinError3 = xform3 c_th2_getbinerror3
        getBinLowEdge = xform1 c_th2_getbinlowedge
        getBinWidth = xform1 c_th2_getbinwidth
        getCellContent = xform2 c_th2_getcellcontent
        getCellError = xform2 c_th2_getcellerror
        getEntries = xform0 c_th2_getentries
        getEffectiveEntries = xform0 c_th2_geteffectiveentries
        getFunction = xform1 c_th2_getfunction
        getDimension = xform0 c_th2_getdimension
        getKurtosis = xform1 c_th2_getkurtosis
        getLowEdge = xform1 c_th2_getlowedge
        getMaximumTH1 = xform1 c_th2_getmaximumth1
        getMaximumBin = xform0 c_th2_getmaximumbin
        getMaximumStored = xform0 c_th2_getmaximumstored
        getMinimumTH1 = xform1 c_th2_getminimumth1
        getMinimumBin = xform0 c_th2_getminimumbin
        getMinimumStored = xform0 c_th2_getminimumstored
        getMean = xform1 c_th2_getmean
        getMeanError = xform1 c_th2_getmeanerror
        getNbinsX = xform0 c_th2_getnbinsx
        getNbinsY = xform0 c_th2_getnbinsy
        getNbinsZ = xform0 c_th2_getnbinsz
        getQuantilesTH1 = xform3 c_th2_getquantilesth1
        getRandom = xform0 c_th2_getrandom
        getStats = xform1 c_th2_getstats
        getSumOfWeights = xform0 c_th2_getsumofweights
        getSumw2 = xform0 c_th2_getsumw2
        getSumw2N = xform0 c_th2_getsumw2n
        getRMS = xform1 c_th2_getrms
        getRMSError = xform1 c_th2_getrmserror
        getSkewness = xform1 c_th2_getskewness
        integral1 = xform3 c_th2_integral1
        interpolate1 = xform1 c_th2_interpolate1
        interpolate2 = xform2 c_th2_interpolate2
        interpolate3 = xform3 c_th2_interpolate3
        kolmogorovTest = xform2 c_th2_kolmogorovtest
        labelsDeflate = xform1 c_th2_labelsdeflate
        labelsInflate = xform1 c_th2_labelsinflate
        labelsOption = xform2 c_th2_labelsoption
        multiflyF = xform2 c_th2_multiflyf
        multiply = xform5 c_th2_multiply
        putStats = xform1 c_th2_putstats
        rebin = xform3 c_th2_rebin
        rebinAxis = xform2 c_th2_rebinaxis
        rebuild = xform1 c_th2_rebuild
        recursiveRemove = xform1 c_th2_recursiveremove
        reset = xform1 c_th2_reset
        resetStats = xform0 c_th2_resetstats
        scale = xform2 c_th2_scale
        setAxisColorA = xform2 c_th2_setaxiscolora
        setAxisRange = xform3 c_th2_setaxisrange
        setBarOffset = xform1 c_th2_setbaroffset
        setBarWidth = xform1 c_th2_setbarwidth
        setBinContent1 = xform2 c_th2_setbincontent1
        setBinContent2 = xform3 c_th2_setbincontent2
        setBinContent3 = xform4 c_th2_setbincontent3
        setBinError1 = xform2 c_th2_setbinerror1
        setBinError2 = xform3 c_th2_setbinerror2
        setBinError3 = xform4 c_th2_setbinerror3
        setBins1 = xform2 c_th2_setbins1
        setBins2 = xform4 c_th2_setbins2
        setBins3 = xform6 c_th2_setbins3
        setBinsLength = xform1 c_th2_setbinslength
        setBuffer = xform2 c_th2_setbuffer
        setCellContent = xform3 c_th2_setcellcontent
        setContent = xform1 c_th2_setcontent
        setContour = xform2 c_th2_setcontour
        setContourLevel = xform2 c_th2_setcontourlevel
        setDirectory = xform1 c_th2_setdirectory
        setEntries = xform1 c_th2_setentries
        setError = xform1 c_th2_seterror
        setLabelColorA = xform2 c_th2_setlabelcolora
        setLabelSizeA = xform2 c_th2_setlabelsizea
        setLabelFontA = xform2 c_th2_setlabelfonta
        setLabelOffsetA = xform2 c_th2_setlabeloffseta
        setMaximum = xform1 c_th2_setmaximum
        setMinimum = xform1 c_th2_setminimum
        setNormFactor = xform1 c_th2_setnormfactor
        setStats = xform1 c_th2_setstats
        setOption = xform1 c_th2_setoption
        setXTitle = xform1 c_th2_setxtitle
        setYTitle = xform1 c_th2_setytitle
        setZTitle = xform1 c_th2_setztitle
        showBackground = xform2 c_th2_showbackground
        showPeaks = xform3 c_th2_showpeaks
        smooth = xform2 c_th2_smooth
        sumw2 = xform0 c_th2_sumw2

instance ITNamed TH2 where
        setName = xform1 c_th2_setname
        setNameTitle = xform2 c_th2_setnametitle
        setTitle = xform1 c_th2_settitle

instance ITAttLine TH2 where
        getLineColor = xform0 c_th2_getlinecolor
        getLineStyle = xform0 c_th2_getlinestyle
        getLineWidth = xform0 c_th2_getlinewidth
        resetAttLine = xform1 c_th2_resetattline
        setLineAttributes = xform0 c_th2_setlineattributes
        setLineColor = xform1 c_th2_setlinecolor
        setLineStyle = xform1 c_th2_setlinestyle
        setLineWidth = xform1 c_th2_setlinewidth

instance ITAttFill TH2 where
        setFillColor = xform1 c_th2_setfillcolor
        setFillStyle = xform1 c_th2_setfillstyle

instance ITAttMarker TH2 where
        getMarkerColor = xform0 c_th2_getmarkercolor
        getMarkerStyle = xform0 c_th2_getmarkerstyle
        getMarkerSize = xform0 c_th2_getmarkersize
        resetAttMarker = xform1 c_th2_resetattmarker
        setMarkerAttributes = xform0 c_th2_setmarkerattributes
        setMarkerColor = xform1 c_th2_setmarkercolor
        setMarkerStyle = xform1 c_th2_setmarkerstyle
        setMarkerSize = xform1 c_th2_setmarkersize

instance ITObject TH2 where
        draw = xform1 c_th2_draw
        findObject = xform1 c_th2_findobject
        getName = xform0 c_th2_getname
        isA = xform0 c_th2_isa
        paint = xform1 c_th2_paint
        printObj = xform1 c_th2_printobj
        saveAs = xform2 c_th2_saveas
        write = xform3 c_th2_write

instance IDeletable TH2 where
        delete = xform0 c_th2_delete

tH2ProjectionX ::
                 (Castable c1 CString, Castable c0 CString) =>
                 TH2 -> c0 -> CInt -> CInt -> c1 -> IO TH1D
tH2ProjectionX = xform4 c_th2_th2projectionx

tH2ProjectionY ::
                 (Castable c1 CString, Castable c0 CString) =>
                 TH2 -> c0 -> CInt -> CInt -> c1 -> IO TH1D
tH2ProjectionY = xform4 c_th2_th2projectiony