]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - CORRFW/AliCFFrame.h
Bug fix to differ high gain and low gain addresses.
[u/mrichter/AliRoot.git] / CORRFW / AliCFFrame.h
index 615e0b5284ce39268718c60059558d0cf79e8d38..5ce2f6eae5c3a14e3acf61e362afff9a9b832fc4 100644 (file)
 //                                                                    //
 //--------------------------------------------------------------------//
 
-#include <TNamed.h>
-class TCollection;
+#include "TNamed.h"
+
 class AliCFFrame : public TNamed
 {
  public:
   AliCFFrame();
   AliCFFrame(const Char_t* name,const Char_t* title);
-  AliCFFrame(const Char_t* name, const Char_t* title, const Int_t nVarIn, const Int_t* nBinIn, const Float_t  *binLimitsIn=0);
-  AliCFFrame(const AliCFFrame & c);
-  
-  virtual ~AliCFFrame();
-  AliCFFrame& operator=(const AliCFFrame& corr);
-  virtual void  PrintBinLimits();
-  virtual void  PrintNBins();
-  virtual void  SetBinLimits(Int_t ivar, Float_t * array);
-  virtual void  GetBinLimits(Int_t ivar, Float_t * array) const;
-  virtual Int_t GetBinIndex(Int_t *ibin) const;
-  virtual void  GetBinIndex(Int_t iel, Int_t *ibin) const;
-  virtual Int_t GetBinIndex(Int_t ivar, Int_t ind) const;
-  virtual Int_t GetNDim() const {return fNDim;};
-  virtual Int_t GetNVar() const {return fNVar;};
-  virtual Int_t GetNBins(Int_t ivar) const {return fNVarBins[ivar];};
-  virtual Int_t GetNBinLimits() const {return fNVarBinLimits;};
-  virtual Int_t   *GetNBins() const {return fNVarBins;};
-  virtual void    GetBinCenter(Int_t *ibin, Float_t *binCenter) const;
-  virtual Float_t *GetBinLimits() const {return fVarBinLimits;};
-  virtual Float_t GetBinCenter(Int_t ivar,Int_t ibin) const;
-
-  //basic operations
-
-  virtual void Copy(TObject& c) const;
-  virtual void Save(const Char_t *outfile) const;
-  
- protected:
-  Int_t    fNVar; //number of variables in the grid
-  Int_t    fNDim; //Overall number of elements in the grid
-  Int_t    fNVarBinLimits; //total number of bin limits
-  Int_t    *fNVarBins; //[fNVar] size of the grid in each dimension (binning)
-  Int_t    *fIndex;//[fNVar] current N-dim index on the grid
-  Int_t    *fProduct;//[fNVar] current N-dim index on the grid
-  Int_t    *fOffset;//[fNVar] current N-dim index on the grid
-  Float_t  *fVarBinLimits;//[fNVarBinLimits] array defining the binLimits
-
-  
-  ClassDef(AliCFFrame,1);
+  virtual ~AliCFFrame() {} ;
+  virtual void Copy(TObject& c) const {TNamed::Copy(c);}
+
+  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       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