00001 /***************************************************************************** 00002 * Project: RooFit * 00003 * Package: RooFitCore * 00004 * File: $Id: RooRangeBoolean.h 34064 2010-06-22 15:05:19Z wouter $ 00005 * Authors: * 00006 * WV, Wouter Verkerke, UC Santa Barbara, verkerke@slac.stanford.edu * 00007 * DK, David Kirkby, UC Irvine, dkirkby@uci.edu * 00008 * * 00009 * Copyright (c) 2000-2005, Regents of the University of California * 00010 * and Stanford University. All rights reserved. * 00011 * * 00012 * Redistribution and use in source and binary forms, * 00013 * with or without modification, are permitted according to the terms * 00014 * listed in LICENSE (http://roofit.sourceforge.net/license.txt) * 00015 *****************************************************************************/ 00016 #ifndef ROO_RANGE_BOOLEAN 00017 #define ROO_RANGE_BOOLEAN 00018 00019 #include "RooAbsReal.h" 00020 #include "RooRealProxy.h" 00021 #include "TString.h" 00022 00023 class RooRealVar; 00024 class RooArgList ; 00025 #include <list> 00026 00027 class RooRangeBoolean : public RooAbsReal { 00028 public: 00029 00030 RooRangeBoolean() ; 00031 RooRangeBoolean(const char* name, const char* title, RooAbsRealLValue& x, const char* rangeName) ; 00032 RooRangeBoolean(const RooRangeBoolean& other, const char* name = 0); 00033 virtual TObject* clone(const char* newname) const { return new RooRangeBoolean(*this, newname); } 00034 virtual ~RooRangeBoolean() ; 00035 00036 00037 virtual std::list<Double_t>* plotSamplingHint(RooAbsRealLValue& obs, Double_t xlo, Double_t xhi) const ; 00038 00039 protected: 00040 00041 RooRealProxy _x; 00042 TString _rangeName ; 00043 00044 Double_t evaluate() const; 00045 00046 ClassDef(RooRangeBoolean,1) // Polynomial function 00047 }; 00048 00049 #endif