ROOT  6.06/09
Reference Guide
Roo1DTable.h
Go to the documentation of this file.
1 /*****************************************************************************
2  * Project: RooFit *
3  * Package: RooFitCore *
4  * File: $Id: Roo1DTable.h,v 1.19 2007/05/11 09:11:30 verkerke Exp $
5  * Authors: *
6  * WV, Wouter Verkerke, UC Santa Barbara, verkerke@slac.stanford.edu *
7  * DK, David Kirkby, UC Irvine, dkirkby@uci.edu *
8  * *
9  * Copyright (c) 2000-2005, Regents of the University of California *
10  * and Stanford University. All rights reserved. *
11  * *
12  * Redistribution and use in source and binary forms, *
13  * with or without modification, are permitted according to the terms *
14  * listed in LICENSE (http://roofit.sourceforge.net/license.txt) *
15  *****************************************************************************/
16 #ifndef ROO_1D_TABLE
17 #define ROO_1D_TABLE
18 
19 #include "Riosfwd.h"
20 #include <assert.h>
21 #include "TObjArray.h"
22 #include "RooTable.h"
23 #include <vector>
24 
25 class Roo1DTable : public RooTable {
26 public:
27 
28  // Constructors, cloning and assignment
30  // Default constructor
31  // coverity[UNINIT_CTOR]
32  } ;
33  virtual ~Roo1DTable();
34  Roo1DTable(const char *name, const char *title, const RooAbsCategory &cat);
35  Roo1DTable(const Roo1DTable& other) ;
36 
37  virtual void fill(RooAbsCategory& cat, Double_t weight=1.0) ;
38  Double_t get(const char* label, Bool_t silent=kFALSE) const ;
39  Double_t getFrac(const char* label, Bool_t silent=kFALSE) const ;
40  Double_t get(const int index, Bool_t silent=kFALSE) const ;
41  Double_t getFrac(const int index, Bool_t silent=kFALSE) const ;
42  Double_t getOverflow() const ;
43 
44  // Printing interface (human readable)
45  virtual void printName(std::ostream& os) const ;
46  virtual void printTitle(std::ostream& os) const ;
47  virtual void printClassName(std::ostream& os) const ;
48  virtual void printValue(std::ostream& os) const ;
49  virtual void printMultiline(std::ostream& os, Int_t contents, Bool_t verbose=kFALSE, TString indent="") const ;
50  virtual Int_t defaultPrintContents(Option_t* opt) const ;
51 
52  inline virtual void Print(Option_t *options= 0) const {
53  // Printing interface (human readable)
55  }
56 
57  virtual Bool_t isIdentical(const RooTable& other) ;
58 
59 protected:
60 
61 
62  TObjArray _types ; // Array of defined category states
63  std::vector<Double_t> _count ; // Array of counters for each state
64  Double_t _total ; // Total number of entries
65  Double_t _nOverflow ; // Number of overflow entries
66 
67  ClassDef(Roo1DTable,1) // 1-dimensional table
68 };
69 
70 #endif
An array of TObjects.
Definition: TObjArray.h:39
virtual void printStream(std::ostream &os, Int_t contents, StyleOption style, TString indent="") const
Print description of object on ostream, printing contents set by contents integer, which is interpreted as an OR of 'enum ContentsOptions' values and in the style given by 'enum StyleOption'.
const char Option_t
Definition: RtypesCore.h:62
virtual void printName(std::ostream &os) const
Print the name of the table.
Definition: Roo1DTable.cxx:126
Basic string class.
Definition: TString.h:137
int Int_t
Definition: RtypesCore.h:41
bool Bool_t
Definition: RtypesCore.h:59
const Bool_t kFALSE
Definition: Rtypes.h:92
virtual StyleOption defaultPrintStyle(Option_t *opt) const
#define ClassDef(name, id)
Definition: Rtypes.h:254
virtual void printValue(std::ostream &os) const
Print the table value, i.e. the contents, in 'inline' format.
Definition: Roo1DTable.cxx:156
virtual void printMultiline(std::ostream &os, Int_t contents, Bool_t verbose=kFALSE, TString indent="") const
Print the formatted table contents on the given stream.
Definition: Roo1DTable.cxx:187
std::vector< Double_t > _count
Definition: Roo1DTable.h:63
virtual Int_t defaultPrintContents(Option_t *opt) const
Define default contents to print.
Definition: Roo1DTable.cxx:177
bool verbose
static void indent(ostringstream &buf, int indent_level)
virtual void Print(Option_t *options=0) const
Print TNamed name and title.
Definition: Roo1DTable.h:52
virtual ~Roo1DTable()
Destructor.
Definition: Roo1DTable.cxx:86
Double_t getFrac(const char *label, Bool_t silent=kFALSE) const
Return the fraction of entries in the table contained in the slot named 'label'.
Definition: Roo1DTable.cxx:300
static std::ostream & defaultPrintStream(std::ostream *os=0)
Return a reference to the current default stream to use in Print().
virtual Bool_t isIdentical(const RooTable &other)
Return true if table is identical in contents to given reference table.
Definition: Roo1DTable.cxx:332
double Double_t
Definition: RtypesCore.h:55
TObjArray _types
Definition: Roo1DTable.h:62
#define name(a, b)
Definition: linkTestLib0.cpp:5
virtual void printClassName(std::ostream &os) const
Print the class name of the table.
Definition: Roo1DTable.cxx:146
Double_t getOverflow() const
Return the number of overflow entries in the table.
Definition: Roo1DTable.cxx:288
virtual void printTitle(std::ostream &os) const
Print the title of the table.
Definition: Roo1DTable.cxx:136
Double_t _nOverflow
Definition: Roo1DTable.h:65
Double_t _total
Definition: Roo1DTable.h:64
virtual void fill(RooAbsCategory &cat, Double_t weight=1.0)
Increment the counter of the table slot with the name corresponding to that of the current category s...
Definition: Roo1DTable.cxx:100