#ifndef ROO_1D_TABLE
#define ROO_1D_TABLE
#include "Riosfwd.h"
#include <assert.h>
#include "TObjArray.h"
#include "RooTable.h"
#include <vector>
class Roo1DTable : public RooTable {
public:
Roo1DTable() {
} ;
virtual ~Roo1DTable();
Roo1DTable(const char *name, const char *title, const RooAbsCategory &cat);
Roo1DTable(const Roo1DTable& other) ;
virtual void fill(RooAbsCategory& cat, Double_t weight=1.0) ;
Double_t get(const char* label, Bool_t silent=kFALSE) const ;
Double_t getFrac(const char* label, Bool_t silent=kFALSE) const ;
Double_t get(const int index, Bool_t silent=kFALSE) const ;
Double_t getFrac(const int index, Bool_t silent=kFALSE) const ;
Double_t getOverflow() const ;
virtual void printName(std::ostream& os) const ;
virtual void printTitle(std::ostream& os) const ;
virtual void printClassName(std::ostream& os) const ;
virtual void printValue(std::ostream& os) const ;
virtual void printMultiline(std::ostream& os, Int_t contents, Bool_t verbose=kFALSE, TString indent="") const ;
virtual Int_t defaultPrintContents(Option_t* opt) const ;
inline virtual void Print(Option_t *options= 0) const {
printStream(defaultPrintStream(),defaultPrintContents(options),defaultPrintStyle(options));
}
virtual Bool_t isIdentical(const RooTable& other) ;
protected:
TObjArray _types ;
std::vector<Double_t> _count ;
Double_t _total ;
Double_t _nOverflow ;
ClassDef(Roo1DTable,1)
};
#endif