/*****************************************************************************
 * Project: RooFit                                                           *
 * Package: RooFitCore                                                       *
 * @(#)root/roofitcore:$Id$
 * Authors:                                                                  *
 *   WV, Wouter Verkerke, UC Santa Barbara, verkerke@slac.stanford.edu       *
 *   DK, David Kirkby,    UC Irvine,         dkirkby@uci.edu                 *
 *                                                                           *
 * Copyright (c) 2000-2005, Regents of the University of California          *
 *                          and Stanford University. All rights reserved.    *
 *                                                                           *
 * Redistribution and use in source and binary forms,                        *
 * with or without modification, are permitted according to the terms        *
 * listed in LICENSE (http://roofit.sourceforge.net/license.txt)             *
 *****************************************************************************/

//////////////////////////////////////////////////////////////////////////////
//
// BEGIN_HTML
// RooRangeBinning is binning/range definition that only defines a range
// but no binning. It it used to store named ranges created by
// the RooRealVar::setRange() method
// END_HTML
//

#include "RooFit.h"

#include "RooNumber.h"
#include "RooNumber.h"
#include "RooMsgService.h"
#include "Riostream.h"
#include "RooMsgService.h"

#include "RooRangeBinning.h"

using namespace std;

ClassImp(RooRangeBinning) 
;



//_____________________________________________________________________________
RooRangeBinning::RooRangeBinning(const char* name) :
  RooAbsBinning(name)
{
  // Default constructor
  _range[0] = -RooNumber::infinity() ;
  _range[1] = +RooNumber::infinity() ;

}


//_____________________________________________________________________________
RooRangeBinning::RooRangeBinning(Double_t xmin, Double_t xmax, const char* name) :
  RooAbsBinning(name)
{
  // Construct binning with range [xmin,xmax] with no binning substructure
  _range[0] = xmin ;
  _range[1] = xmax ;
}



//_____________________________________________________________________________
RooRangeBinning::RooRangeBinning(const RooRangeBinning& other, const char* name) :
  RooAbsBinning(name)
{
  // Copy constructor

  _range[0] = other._range[0] ;
  _range[1] = other._range[1] ;
}



//_____________________________________________________________________________
RooRangeBinning::~RooRangeBinning() 
{
  // Destructor 
}



//_____________________________________________________________________________
void RooRangeBinning::setRange(Double_t xlo, Double_t xhi) 
{
  // Change limits of the binning to [xlo,xhi]

  if (xlo>xhi) {
    oocoutE((TObject*)0,InputArguments) << "RooRangeBinning::setRange: ERROR low bound > high bound" << endl ;
    return ;
  }

  _range[0] = xlo ;
  _range[1] = xhi ;
}
 RooRangeBinning.cxx:1
 RooRangeBinning.cxx:2
 RooRangeBinning.cxx:3
 RooRangeBinning.cxx:4
 RooRangeBinning.cxx:5
 RooRangeBinning.cxx:6
 RooRangeBinning.cxx:7
 RooRangeBinning.cxx:8
 RooRangeBinning.cxx:9
 RooRangeBinning.cxx:10
 RooRangeBinning.cxx:11
 RooRangeBinning.cxx:12
 RooRangeBinning.cxx:13
 RooRangeBinning.cxx:14
 RooRangeBinning.cxx:15
 RooRangeBinning.cxx:16
 RooRangeBinning.cxx:17
 RooRangeBinning.cxx:18
 RooRangeBinning.cxx:19
 RooRangeBinning.cxx:20
 RooRangeBinning.cxx:21
 RooRangeBinning.cxx:22
 RooRangeBinning.cxx:23
 RooRangeBinning.cxx:24
 RooRangeBinning.cxx:25
 RooRangeBinning.cxx:26
 RooRangeBinning.cxx:27
 RooRangeBinning.cxx:28
 RooRangeBinning.cxx:29
 RooRangeBinning.cxx:30
 RooRangeBinning.cxx:31
 RooRangeBinning.cxx:32
 RooRangeBinning.cxx:33
 RooRangeBinning.cxx:34
 RooRangeBinning.cxx:35
 RooRangeBinning.cxx:36
 RooRangeBinning.cxx:37
 RooRangeBinning.cxx:38
 RooRangeBinning.cxx:39
 RooRangeBinning.cxx:40
 RooRangeBinning.cxx:41
 RooRangeBinning.cxx:42
 RooRangeBinning.cxx:43
 RooRangeBinning.cxx:44
 RooRangeBinning.cxx:45
 RooRangeBinning.cxx:46
 RooRangeBinning.cxx:47
 RooRangeBinning.cxx:48
 RooRangeBinning.cxx:49
 RooRangeBinning.cxx:50
 RooRangeBinning.cxx:51
 RooRangeBinning.cxx:52
 RooRangeBinning.cxx:53
 RooRangeBinning.cxx:54
 RooRangeBinning.cxx:55
 RooRangeBinning.cxx:56
 RooRangeBinning.cxx:57
 RooRangeBinning.cxx:58
 RooRangeBinning.cxx:59
 RooRangeBinning.cxx:60
 RooRangeBinning.cxx:61
 RooRangeBinning.cxx:62
 RooRangeBinning.cxx:63
 RooRangeBinning.cxx:64
 RooRangeBinning.cxx:65
 RooRangeBinning.cxx:66
 RooRangeBinning.cxx:67
 RooRangeBinning.cxx:68
 RooRangeBinning.cxx:69
 RooRangeBinning.cxx:70
 RooRangeBinning.cxx:71
 RooRangeBinning.cxx:72
 RooRangeBinning.cxx:73
 RooRangeBinning.cxx:74
 RooRangeBinning.cxx:75
 RooRangeBinning.cxx:76
 RooRangeBinning.cxx:77
 RooRangeBinning.cxx:78
 RooRangeBinning.cxx:79
 RooRangeBinning.cxx:80
 RooRangeBinning.cxx:81
 RooRangeBinning.cxx:82
 RooRangeBinning.cxx:83
 RooRangeBinning.cxx:84
 RooRangeBinning.cxx:85
 RooRangeBinning.cxx:86
 RooRangeBinning.cxx:87
 RooRangeBinning.cxx:88
 RooRangeBinning.cxx:89
 RooRangeBinning.cxx:90
 RooRangeBinning.cxx:91
 RooRangeBinning.cxx:92
 RooRangeBinning.cxx:93
 RooRangeBinning.cxx:94
 RooRangeBinning.cxx:95
 RooRangeBinning.cxx:96
 RooRangeBinning.cxx:97