#ifndef HHISTARRAY_H
#define HHISTARRAY_H
#include "TNamed.h"
#include "TString.h"
#include "TArrayI.h"
#include "TObjArray.h"
#include "TH1.h"
#include "TH2.h"
#include "honlinemonhist.h"
#include "TLegend.h"
class HOnlineNamedLegend;
class HOnlineLegendDrawer : public TNamed {
TObjArray* array;
protected:
public:
HOnlineLegendDrawer(const Char_t* name ="",
const Char_t* title ="");
~HOnlineLegendDrawer(void);
void draw(HOnlineMonHistAddon*);
HOnlineNamedLegend* add (HOnlineMonHistAddon*);
ClassDef(HOnlineLegendDrawer,1)
};
class HOnlineNamedLegend : public TNamed {
protected:
TLegend* legend;
public:
HOnlineNamedLegend (const Char_t* name ="",
const Char_t* title ="",HOnlineMonHistAddon* =0);
~HOnlineNamedLegend(void);
TLegend* getP(){return legend;}
ClassDef(HOnlineNamedLegend,1)
};
class HOnlineTrendArray : public HOnlineMonHistAddon{
protected:
TObjArray* array;
public:
HOnlineTrendArray(const Char_t* name ="",
const Char_t* title ="",
Int_t active=0,Int_t resetable=0, Int_t size=1,Int_t size2=1,
Int_t nBinsX=0,Float_t Xlo=0,Float_t Xup=0);
HOnlineTrendArray(HOnlineMonHistAddon&);
~HOnlineTrendArray(void);
void getDim(Int_t* i,Int_t* j) {*i=arraySize1;*j=arraySize2;}
Int_t getSizeAll() {return arraySize1*arraySize2;}
void fill (Int_t,Int_t,Stat_t,Stat_t val = 0);
void reset(Int_t level,Int_t count);
void create();
void drawAll( Bool_t allowHiddenZero=1 , Double_t min = -1e200,Double_t max=1e200);
void draw( Bool_t allowHiddenZero=1 );
void add(HOnlineMonHistAddon* h2);
TH1* getP(Int_t s=0,Int_t m=0){return ((TH1*) (*array)[s*arraySize2+m]);}
void getMinMax(Double_t& min,Double_t& max);
ClassDef(HOnlineTrendArray,1)
};
class HOnlineHistArray : public HOnlineMonHistAddon{
protected:
TObjArray* array;
public:
HOnlineHistArray(const Char_t* name ="",
const Char_t* title ="",
Int_t active=0,Int_t resetable=0, Int_t size=1,Int_t size2=1,
Int_t nBinsX=0,Float_t Xlo=0,Float_t Xup=0);
HOnlineHistArray(HOnlineMonHistAddon&);
~HOnlineHistArray(void);
void getDim(Int_t* i,Int_t* j) {*i=arraySize1;*j=arraySize2;}
Int_t getSizeAll() {return arraySize1*arraySize2;}
void fill (Int_t,Int_t,Stat_t,Stat_t b = 0);
void setBinContent(Int_t,Int_t,Int_t,Stat_t);
Stat_t getBinContent(Int_t,Int_t,Int_t);
void setBinError (Int_t,Int_t,Int_t,Stat_t);
Stat_t getBinError (Int_t,Int_t,Int_t);
void reset(Int_t level,Int_t count);
void create();
void drawAll( Bool_t allowHiddenZero=1 , Double_t min = -1e200,Double_t max=1e200 );
void draw( Bool_t allowHiddenZero=1 );
void add(HOnlineMonHistAddon* h2);
TH1* getP(Int_t s=0,Int_t m=0){return ((TH1*) (*array)[s*arraySize2+m]);}
void getMinMax(Double_t& min,Double_t& max);
ClassDef(HOnlineHistArray,1)
};
class HOnlineHistArray2 : public HOnlineMonHistAddon{
protected:
TObjArray* array;
public:
HOnlineHistArray2(const Char_t* name ="",
const Char_t* title ="",
Int_t active=0,Int_t resetable=0, Int_t size=1,Int_t size2=1,
Int_t nBinsX=0,Float_t Xlo=0,Float_t Xup=0);
HOnlineHistArray2(HOnlineMonHistAddon&);
~HOnlineHistArray2(void);
void getDim(Int_t* i,Int_t* j) {*i=arraySize1;*j=arraySize2;}
Int_t getSizeAll() {return arraySize1*arraySize2;}
void fill (Int_t,Int_t,Stat_t,Stat_t);
void setBinContent(Int_t,Int_t,Int_t,Int_t,Stat_t);
Stat_t getBinContent(Int_t,Int_t,Int_t,Int_t);
void setBinError (Int_t,Int_t,Int_t,Int_t,Stat_t);
Stat_t getBinError (Int_t,Int_t,Int_t,Int_t);
void create();
void drawAll( Bool_t allowHiddenZero=1, Double_t min = -1e200,Double_t max=1e200);
void draw( Bool_t allowHiddenZero=1 );
void reset(Int_t level,Int_t count);
void add(HOnlineMonHistAddon* h2);
TH2* getP(Int_t s=0,Int_t m=0){return ((TH2*) (*array)[s*arraySize2+m]);}
void getMinMax(Double_t& min,Double_t& max);
ClassDef(HOnlineHistArray2,1)
};
#endif /*!HHISTARRAY_H*/