Logo ROOT   master
Reference Guide
RooBinningCategory.h
Go to the documentation of this file.
1 /*****************************************************************************
2  * Project: RooFit *
3  * Package: RooFitCore *
4  * File: $Id$
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_BINNING_CATEGORY
17 #define ROO_BINNING_CATEGORY
18 
19 #include "RooAbsCategory.h"
20 #include "RooTemplateProxy.h"
21 #include "TString.h"
22 
24 
25 public:
26  // Constructors etc.
27  inline RooBinningCategory() { }
28  RooBinningCategory(const char *name, const char *title, RooAbsRealLValue& inputVar, const char* binningName=0, const char* catTypeName=0);
29  RooBinningCategory(const RooBinningCategory& other, const char *name=0) ;
30  virtual TObject* clone(const char* newname) const { return new RooBinningCategory(*this, newname); }
31  virtual ~RooBinningCategory();
32 
33  // Printing interface (human readable)
34  virtual void printMultiline(std::ostream& os, Int_t content, Bool_t verbose=kFALSE, TString indent="") const ;
35 
36 protected:
37 
38  void initialize(const char* catTypeName=0) ;
39 
40  RooTemplateProxy<RooAbsRealLValue> _inputVar; // Input variable that is mapped
41  TString _bname ; // Name of the binning specification to be used to perform the mapping
42 
43  virtual value_type evaluate() const;
44  /// The shape of this category does not need to be recomputed, as it creates states on the fly.
45  void recomputeShape() { }
46 
47  ClassDef(RooBinningCategory,1) // RealVar-to-Category function defined by bin boundaries on input var
48 };
49 
50 #endif
virtual void printMultiline(std::ostream &os, Int_t content, Bool_t verbose=kFALSE, TString indent="") const
Print info about this threshold category to the specified stream.
void recomputeShape()
The shape of this category does not need to be recomputed, as it creates states on the fly...
Basic string class.
Definition: TString.h:131
#define ClassDef(name, id)
Definition: Rtypes.h:322
virtual value_type evaluate() const
Calculate and return the value of the mapping function.
virtual TObject * clone(const char *newname) const
Class RooBinningCategory provides a real-to-category mapping defined by a series of thresholds...
RooTemplateProxy< RooAbsRealLValue > _inputVar
static void indent(ostringstream &buf, int indent_level)
void initialize(const char *catTypeName=0)
Iterator over all bins in input variable and define corresponding state labels.
const Bool_t kFALSE
Definition: RtypesCore.h:90
Mother of all ROOT objects.
Definition: TObject.h:37
RooAbsRealLValue is the common abstract base class for objects that represent a real value that may a...
RooAbsCategory is the base class for objects that represent a discrete value with a finite number of ...
char name[80]
Definition: TGX11.cxx:109
virtual ~RooBinningCategory()
Destructor.