// @(#)root/roostats:$Id:  cranmer $
// Author: Kyle Cranmer, Akira Shibata
/*************************************************************************
 * Copyright (C) 1995-2008, Rene Brun and Fons Rademakers.               *
 * All rights reserved.                                                  *
 *                                                                       *
 * For the licensing terms see $ROOTSYS/LICENSE.                         *
 * For the list of contributors see $ROOTSYS/README/CREDITS.             *
 *************************************************************************/

#ifndef ROOSTATS_LININTERPVAR
#define ROOSTATS_LININTERPVAR

#include "RooAbsPdf.h"
#include "RooRealProxy.h"
#include "RooListProxy.h"

class RooRealVar;
class RooArgList ;

namespace RooStats{
namespace HistFactory{

  class LinInterpVar : public RooAbsReal {
  public:

    LinInterpVar() ;
    LinInterpVar(const char *name, const char *title,
                 const RooArgList& _paramList, double nominal, std::vector<double> low, std::vector<double> high);

    LinInterpVar(const char *name, const char *title);
    LinInterpVar(const LinInterpVar&, const char*);

    virtual TObject* clone(const char* newname) const { return new LinInterpVar(*this, newname); }
    virtual ~LinInterpVar() ;


  protected:

    RooListProxy _paramList ;
    double _nominal;
    std::vector<double> _low;
    std::vector<double> _high;
    
    TIterator* _paramIter ;  //! do not persist

    Double_t evaluate() const;

    ClassDef(RooStats::HistFactory::LinInterpVar,1) // Piecewise linear interpolation
  };
}
}

#endif
 LinInterpVar.h:1
 LinInterpVar.h:2
 LinInterpVar.h:3
 LinInterpVar.h:4
 LinInterpVar.h:5
 LinInterpVar.h:6
 LinInterpVar.h:7
 LinInterpVar.h:8
 LinInterpVar.h:9
 LinInterpVar.h:10
 LinInterpVar.h:11
 LinInterpVar.h:12
 LinInterpVar.h:13
 LinInterpVar.h:14
 LinInterpVar.h:15
 LinInterpVar.h:16
 LinInterpVar.h:17
 LinInterpVar.h:18
 LinInterpVar.h:19
 LinInterpVar.h:20
 LinInterpVar.h:21
 LinInterpVar.h:22
 LinInterpVar.h:23
 LinInterpVar.h:24
 LinInterpVar.h:25
 LinInterpVar.h:26
 LinInterpVar.h:27
 LinInterpVar.h:28
 LinInterpVar.h:29
 LinInterpVar.h:30
 LinInterpVar.h:31
 LinInterpVar.h:32
 LinInterpVar.h:33
 LinInterpVar.h:34
 LinInterpVar.h:35
 LinInterpVar.h:36
 LinInterpVar.h:37
 LinInterpVar.h:38
 LinInterpVar.h:39
 LinInterpVar.h:40
 LinInterpVar.h:41
 LinInterpVar.h:42
 LinInterpVar.h:43
 LinInterpVar.h:44
 LinInterpVar.h:45
 LinInterpVar.h:46
 LinInterpVar.h:47
 LinInterpVar.h:48
 LinInterpVar.h:49
 LinInterpVar.h:50
 LinInterpVar.h:51
 LinInterpVar.h:52
 LinInterpVar.h:53
 LinInterpVar.h:54