Logo ROOT   6.07/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 &#39;enum ContentsOptions&#39; values and in the style given by &#39;enum StyleOption&#39;.
const char Option_t
Definition: RtypesCore.h:62
virtual void printName(std::ostream &os) const
Print the name of the table.
Definition: Roo1DTable.cxx:127
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 &#39;inline&#39; format.
Definition: Roo1DTable.cxx:157
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:188
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:178
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:87
Double_t getFrac(const char *label, Bool_t silent=kFALSE) const
Return the fraction of entries in the table contained in the slot named &#39;label&#39;.
Definition: Roo1DTable.cxx:301
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:333
double Double_t
Definition: RtypesCore.h:55
TObjArray _types
Definition: Roo1DTable.h:62
virtual void printClassName(std::ostream &os) const
Print the class name of the table.
Definition: Roo1DTable.cxx:147
Double_t getOverflow() const
Return the number of overflow entries in the table.
Definition: Roo1DTable.cxx:289
virtual void printTitle(std::ostream &os) const
Print the title of the table.
Definition: Roo1DTable.cxx:137
RooAbsCategory is the common abstract base class for objects that represent a discrete value with a f...
Double_t _nOverflow
Definition: Roo1DTable.h:65
RooTable is the abstract interface for table objects.
Definition: RooTable.h:25
Roo1DTable implements a one-dimensional table.
Definition: Roo1DTable.h:25
Double_t _total
Definition: Roo1DTable.h:64
char name[80]
Definition: TGX11.cxx:109
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:101