RooParametricStepFunction.h

Go to the documentation of this file.
00001 /*****************************************************************************
00002  * Project: RooFit                                                           *
00003  * Package: RooFitModels                                                     *
00004  *    File: $Id: RooParametricStepFunction.h,v 1.5 2007/05/11 09:13:07 verkerke Exp $
00005  * Authors:                                                                  *
00006  *    Aaron Roodman, Stanford Linear Accelerator Center, Stanford University *
00007  *                                                                           *
00008  * Copyright (c) 2000-2005, Stanford University. All rights reserved.        *
00009  *           
00010  *                                                                           *
00011  * Redistribution and use in source and binary forms,                        *
00012  * with or without modification, are permitted according to the terms        *
00013  * listed in LICENSE (http://roofit.sourceforge.net/license.txt)             *
00014  *****************************************************************************/
00015 #ifndef ROO_PARAMETRIC_STEP_FUNCTION
00016 #define ROO_PARAMETRIC_STEP_FUNCTION
00017 
00018 #include "TArrayD.h"
00019 #include "RooAbsPdf.h"
00020 #include "RooRealProxy.h"
00021 #include "RooListProxy.h"
00022 
00023 class RooRealVar;
00024 class RooArgList ;
00025 
00026 class RooParametricStepFunction : public RooAbsPdf {
00027 public:
00028 
00029   RooParametricStepFunction(const char *name, const char *title,
00030                 RooAbsReal& x, const RooArgList& coefList, TArrayD& limits, Int_t nBins=1) ;
00031 
00032   RooParametricStepFunction(const RooParametricStepFunction& other, const char* name = 0);
00033   virtual TObject* clone(const char* newname) const { return new RooParametricStepFunction(*this, newname); }
00034   virtual ~RooParametricStepFunction() ;
00035 
00036   Int_t getAnalyticalIntegral(RooArgSet& allVars, RooArgSet& analVars, const char* rangeName=0) const ;
00037   Double_t analyticalIntegral(Int_t code, const char* rangeName=0) const ;
00038   Int_t getnBins();
00039   Double_t* getLimits();
00040 
00041 protected:
00042 
00043   Double_t lastBinValue() const ;
00044 
00045   RooRealProxy _x;
00046   RooListProxy _coefList ;
00047   TArrayD _limits;
00048   Int_t _nBins ;
00049   TIterator* _coefIter ;  //! do not persist
00050 
00051   Double_t evaluate() const;
00052 
00053   ClassDef(RooParametricStepFunction,1) // Parametric Step Function Pdf
00054 };
00055 
00056 #endif

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