Back to home page

EIC code displayed by LXR

 
 

    


Warning, file /include/root/RooStepFunction.h was not indexed or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).

0001 
0002 
0003 /*****************************************************************************
0004  * Project: RooFit                                                           *
0005  * Package: RooFitModels                                                     *
0006  *    File: $Id$
0007  * Authors:                                                                  *
0008  *    Tristan du Pree, Nikhef, Amsterdam, tdupree@nikhef.nl                  *
0009  *                                                                           *
0010  * Copyright (c) 2000-2005, Stanford University. All rights reserved.        *
0011  *
0012  *                                                                           *
0013  * Redistribution and use in source and binary forms,                        *
0014  * with or without modification, are permitted according to the terms        *
0015  * listed in LICENSE (http://roofit.sourceforge.net/license.txt)             *
0016  *****************************************************************************/
0017 #ifndef ROO_STEP_FUNCTION
0018 #define ROO_STEP_FUNCTION
0019 
0020 #include <RooAbsReal.h>
0021 #include <RooListProxy.h>
0022 #include <RooRealProxy.h>
0023 
0024 class RooArgList ;
0025 
0026 class RooStepFunction : public RooAbsReal {
0027  public:
0028 
0029   RooStepFunction() {}
0030   RooStepFunction(const char *name, const char *title,
0031         RooAbsReal& x, const RooArgList& coefList, const RooArgList& limits, bool interpolate=false) ;
0032 
0033   RooStepFunction(const RooStepFunction& other, const char *name = nullptr);
0034   TObject* clone(const char* newname) const override { return new RooStepFunction(*this, newname); }
0035 
0036   const RooArgList& coefficients() { return _coefList; }
0037   const RooArgList& boundaries() { return _boundaryList; }
0038 
0039   std::list<double>* plotSamplingHint(RooAbsRealLValue& obs, double xlo, double xhi) const override ;
0040 
0041  protected:
0042 
0043   double evaluate() const override;
0044 
0045  private:
0046 
0047   RooRealProxy _x;
0048   RooListProxy _coefList ;
0049   RooListProxy _boundaryList ;
0050   bool       _interpolate = false;
0051 
0052   ClassDefOverride(RooStepFunction,1) //  Step Function
0053 };
0054 
0055 #endif