Logo ROOT   6.10/09
Reference Guide
RooRangeBinning.cxx
Go to the documentation of this file.
1 /*****************************************************************************
2  * Project: RooFit *
3  * Package: RooFitCore *
4  * @(#)root/roofitcore:$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 
17 /**
18 \file RooRangeBinning.cxx
19 \class RooRangeBinning
20 \ingroup Roofitcore
21 
22 RooRangeBinning is binning/range definition that only defines a range
23 but no binning. It it used to store named ranges created by
24 the RooRealVar::setRange() method
25 **/
26 
27 #include "RooFit.h"
28 
29 #include "RooNumber.h"
30 #include "RooNumber.h"
31 #include "RooMsgService.h"
32 #include "Riostream.h"
33 #include "RooMsgService.h"
34 
35 #include "RooRangeBinning.h"
36 
37 using namespace std;
38 
40 ;
41 
42 
43 
44 ////////////////////////////////////////////////////////////////////////////////
45 /// Default constructor
46 
48  RooAbsBinning(name)
49 {
50  _range[0] = -RooNumber::infinity() ;
51  _range[1] = +RooNumber::infinity() ;
52 
53 }
54 
55 
56 ////////////////////////////////////////////////////////////////////////////////
57 /// Construct binning with range [xmin,xmax] with no binning substructure
58 
60  RooAbsBinning(name)
61 {
62  _range[0] = xmin ;
63  _range[1] = xmax ;
64 }
65 
66 
67 
68 ////////////////////////////////////////////////////////////////////////////////
69 /// Copy constructor
70 
72  RooAbsBinning(name)
73 {
74  _range[0] = other._range[0] ;
75  _range[1] = other._range[1] ;
76 }
77 
78 
79 
80 ////////////////////////////////////////////////////////////////////////////////
81 /// Destructor
82 
84 {
85 }
86 
87 
88 
89 ////////////////////////////////////////////////////////////////////////////////
90 /// Change limits of the binning to [xlo,xhi]
91 
93 {
94  if (xlo>xhi) {
95  oocoutE((TObject*)0,InputArguments) << "RooRangeBinning::setRange: ERROR low bound > high bound" << endl ;
96  return ;
97  }
98 
99  _range[0] = xlo ;
100  _range[1] = xhi ;
101 }
float xmin
Definition: THbookFile.cxx:93
STL namespace.
Double_t _range[2]
#define oocoutE(o, a)
Definition: RooMsgService.h:47
virtual void setRange(Double_t xlo, Double_t xhi)
Change limits of the binning to [xlo,xhi].
static Double_t infinity()
Return internal infinity representation.
Definition: RooNumber.cxx:49
float xmax
Definition: THbookFile.cxx:93
RooAbsBinning is the abstract base class for RooRealVar binning definitions This class defines the in...
Definition: RooAbsBinning.h:26
#define ClassImp(name)
Definition: Rtypes.h:336
double Double_t
Definition: RtypesCore.h:55
RooRangeBinning is binning/range definition that only defines a range but no binning.
Mother of all ROOT objects.
Definition: TObject.h:37
RooRangeBinning(const char *name=0)
Default constructor.
virtual ~RooRangeBinning()
Destructor.