ROOT logo
#ifndef ALIRSNMINIAXIS_H
#define ALIRSNMINIAXIS_H

//
// All implementations related to definition of an axis
// which is used in the output histogams.
// Simpler than TAxis, it defines an array of edges
// which is then ported to the output histogram definition.
// currently ported only in mini-package, but it could
// become a default also for general package.
//

#include "TObject.h"
#include "TArrayD.h"

class AliRsnMiniAxis : public TObject {

public:

   AliRsnMiniAxis(Int_t valID = -1)                                       : fValueID(valID), fBins(0) { }
   AliRsnMiniAxis(Int_t valID, Int_t nbins, Double_t min, Double_t max)   : fValueID(valID), fBins(0) {Set(nbins, min, max);}
   AliRsnMiniAxis(Int_t valID, Double_t min, Double_t max, Double_t step) : fValueID(valID), fBins(0) {Set(min, max, step);}
   AliRsnMiniAxis(Int_t valID, Int_t nbins, Double_t *bins)               : fValueID(valID), fBins(0) {Set(nbins, bins);}
   AliRsnMiniAxis(const AliRsnMiniAxis &copy) : TObject(copy), fValueID(copy.fValueID), fBins(copy.fBins) { }
   AliRsnMiniAxis &operator=(const AliRsnMiniAxis &copy) {if (this==&copy) return *this; fValueID = copy.fValueID; fBins = copy.fBins; return (*this);}

   void      SetValueID(Int_t id)     {fValueID = id;}
   Int_t     GetValueID() const       {return fValueID;}

   Int_t     NBins()     {return  fBins.GetSize() - 1;}
   TArrayD  *Bins()      {return &fBins;}
   Double_t *BinArray()  {return  fBins.GetArray();}

   void      Set(Int_t nbins, Double_t min, Double_t max);
   void      Set(Int_t nbins, Double_t *bins);
   void      Set(Double_t min, Double_t max, Double_t step);

private:

   Int_t    fValueID;  // index of used value in task collection
   TArrayD  fBins;     // bins

   ClassDef(AliRsnMiniAxis,1)
};

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