RooStepFunction.h

Go to the documentation of this file.
00001 
00002 
00003 /*****************************************************************************
00004  * Project: RooFit                                                           *
00005  * Package: RooFitModels                                                     *
00006  *    File: $Id: RooStepFunction.h 31258 2009-11-17 22:41:06Z wouter $
00007  * Authors:                                                                  *
00008  *    Tristan du Pree, Nikhef, Amsterdam, tdupree@nikhef.nl                  *
00009  *                                                                           *
00010  * Copyright (c) 2000-2005, Stanford University. All rights reserved.        *
00011  *           
00012  *                                                                           *
00013  * Redistribution and use in source and binary forms,                        *
00014  * with or without modification, are permitted according to the terms        *
00015  * listed in LICENSE (http://roofit.sourceforge.net/license.txt)             *
00016  *****************************************************************************/
00017 #ifndef ROO_STEP_FUNCTION
00018 #define ROO_STEP_FUNCTION
00019 
00020 #include "TArrayD.h"
00021 #include "RooAbsReal.h"
00022 #include "RooRealProxy.h"
00023 #include "RooListProxy.h"
00024 
00025 class RooRealVar;
00026 class RooArgList ;
00027 
00028 class RooStepFunction : public RooAbsReal {
00029  public:
00030 
00031   RooStepFunction() ;
00032   RooStepFunction(const char *name, const char *title,
00033                   RooAbsReal& x, const RooArgList& coefList, const RooArgList& limits, Bool_t interpolate=kFALSE) ;
00034 
00035   RooStepFunction(const RooStepFunction& other, const char* name = 0);
00036   virtual TObject* clone(const char* newname) const { return new RooStepFunction(*this, newname); }
00037   virtual ~RooStepFunction() ;
00038 
00039   const RooArgList& coefficients() { return _coefList; }
00040   const RooArgList& boundaries() { return _boundaryList; }
00041 
00042  protected:
00043   
00044   Double_t evaluate() const;
00045 
00046  private:
00047 
00048   RooRealProxy _x;
00049   RooListProxy _coefList ;
00050   RooListProxy _boundaryList ;
00051   Bool_t       _interpolate ;
00052   TIterator* _coefIter ;  //! do not persist
00053   TIterator* _boundIter ;  //! do not persist
00054 
00055   ClassDef(RooStepFunction,1) //  Step Function
00056 };
00057 
00058 #endif

Generated on Tue Jul 5 14:26:27 2011 for ROOT_528-00b_version by  doxygen 1.5.1