ROOT logo
#ifndef ALICFFRAME_H
#define ALICFFRAME_H

/* $Id$ */

//--------------------------------------------------------------------//
//                                                                    //
// AliCFFrame.cxx Class                                               //
// Class to handle input data for correction Framework                // 
//                                                                    //
//--------------------------------------------------------------------//

#include "TNamed.h"

class AliCFFrame : public TNamed
{
 public:
  AliCFFrame();
  AliCFFrame(const Char_t* name,const Char_t* title);
  virtual ~AliCFFrame() {} ;
  virtual void Copy(TObject& c) const {TNamed::Copy(c);}
  virtual void Save(const Char_t *outfile) const;
  virtual Int_t      GetNVar()                                                   const = 0 ; // number of variables
  virtual void       PrintBinLimits()                                            const = 0 ; // prints the bin limits for each variable
  virtual void       PrintNBins()                                                const = 0 ; // prints the number of bins for each variable
  virtual void       SetBinLimits(Int_t ivar, const Double_t * array)                  = 0 ; // sets the bin limits specified in array
  virtual void       GetBinLimits(Int_t ivar, Double_t * array)                  const = 0 ; // puts in array the bin limits for variable ivar
  virtual Double_t * GetBinLimits(Int_t ivar)                                    const = 0 ; // returns an array of bin limits for variable ivar
  virtual Long_t     GetNBinsTotal()                                             const = 0 ; // total number of bins 
  virtual Int_t      GetNBins(Int_t ivar)                                        const = 0 ; // number of bins for variable ivar
  virtual Int_t    * GetNBins()                                                  const = 0 ; // returns an array containing the bins for each variable
  virtual Float_t    GetBinCenter(Int_t ivar,Int_t ibin)                         const = 0 ; // the center of bin number ibin for variable ivar
  virtual Float_t    GetBinSize  (Int_t ivar,Int_t ibin)                         const = 0 ; // the   size of bin number ibin for variable ivar

  //  virtual void       Clear() = 0 ; // clear all the cells
  
  //virtual void       GetBinCenters(const Int_t *ibin, Float_t *binCenter)        const = 0 ; // 
  //virtual void       GetBinSizes  (const Int_t *ibin, Float_t *binSizes)         const = 0 ; //

  // probably not needed anymore
/*   virtual Int_t      GetBinIndex(const Int_t *ibin)                              const = 0 ; */
/*   virtual void       GetBinIndex(Int_t iel, const Int_t *ibin)                   const = 0 ; */
/*   virtual Int_t      GetBinIndex(Int_t ivar, Int_t ind)                          const = 0 ; */

  ClassDef(AliCFFrame,3);
};
    
#endif

 AliCFFrame.h:1
 AliCFFrame.h:2
 AliCFFrame.h:3
 AliCFFrame.h:4
 AliCFFrame.h:5
 AliCFFrame.h:6
 AliCFFrame.h:7
 AliCFFrame.h:8
 AliCFFrame.h:9
 AliCFFrame.h:10
 AliCFFrame.h:11
 AliCFFrame.h:12
 AliCFFrame.h:13
 AliCFFrame.h:14
 AliCFFrame.h:15
 AliCFFrame.h:16
 AliCFFrame.h:17
 AliCFFrame.h:18
 AliCFFrame.h:19
 AliCFFrame.h:20
 AliCFFrame.h:21
 AliCFFrame.h:22
 AliCFFrame.h:23
 AliCFFrame.h:24
 AliCFFrame.h:25
 AliCFFrame.h:26
 AliCFFrame.h:27
 AliCFFrame.h:28
 AliCFFrame.h:29
 AliCFFrame.h:30
 AliCFFrame.h:31
 AliCFFrame.h:32
 AliCFFrame.h:33
 AliCFFrame.h:34
 AliCFFrame.h:35
 AliCFFrame.h:36
 AliCFFrame.h:37
 AliCFFrame.h:38
 AliCFFrame.h:39
 AliCFFrame.h:40
 AliCFFrame.h:41
 AliCFFrame.h:42
 AliCFFrame.h:43
 AliCFFrame.h:44
 AliCFFrame.h:45
 AliCFFrame.h:46
 AliCFFrame.h:47
 AliCFFrame.h:48
 AliCFFrame.h:49