00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016 #ifndef ROO_1D_TABLE
00017 #define ROO_1D_TABLE
00018
00019 #include "Riosfwd.h"
00020 #include <assert.h>
00021 #include "TObjArray.h"
00022 #include "RooTable.h"
00023 #include <vector>
00024
00025 class Roo1DTable : public RooTable {
00026 public:
00027
00028
00029 Roo1DTable() {
00030
00031
00032 } ;
00033 virtual ~Roo1DTable();
00034 Roo1DTable(const char *name, const char *title, const RooAbsCategory &cat);
00035 Roo1DTable(const Roo1DTable& other) ;
00036
00037 virtual void fill(RooAbsCategory& cat, Double_t weight=1.0) ;
00038 Double_t get(const char* label, Bool_t silent=kFALSE) const ;
00039 Double_t getFrac(const char* label, Bool_t silent=kFALSE) const ;
00040 Double_t getOverflow() const ;
00041
00042
00043 virtual void printName(ostream& os) const ;
00044 virtual void printTitle(ostream& os) const ;
00045 virtual void printClassName(ostream& os) const ;
00046 virtual void printValue(ostream& os) const ;
00047 virtual void printMultiline(ostream& os, Int_t contents, Bool_t verbose=kFALSE, TString indent="") const ;
00048 virtual Int_t defaultPrintContents(Option_t* opt) const ;
00049
00050 inline virtual void Print(Option_t *options= 0) const {
00051
00052 printStream(defaultPrintStream(),defaultPrintContents(options),defaultPrintStyle(options));
00053 }
00054
00055 virtual Bool_t isIdentical(const RooTable& other) ;
00056
00057 protected:
00058
00059
00060 TObjArray _types ;
00061 std::vector<Double_t> _count ;
00062 Double_t _total ;
00063 Double_t _nOverflow ;
00064
00065 ClassDef(Roo1DTable,1)
00066 };
00067
00068 #endif