#ifndef ROO_FORMULA
#define ROO_FORMULA
#include "Rtypes.h"
#include "TFormula.h"
#include "RooAbsReal.h"
#include "RooArgSet.h"
#include "RooPrintable.h"
#include "RooLinkedList.h"
class RooFormula : public TFormula, public RooPrintable {
public:
  
  RooFormula() ;
  RooFormula(const char* name, const char* formula, const RooArgList& varList);
  RooFormula(const RooFormula& other, const char* name=0) ;
  virtual TObject* Clone(const char* newName=0) const { return new RooFormula(*this,newName) ; }
  virtual ~RooFormula();
	
  
  RooArgSet& actualDependents() const ;
  Bool_t changeDependents(const RooAbsCollection& newDeps, Bool_t mustReplaceAll, Bool_t nameChange) ;
  inline RooAbsArg* getParameter(const char* name) const { return (RooAbsArg*) _useList.FindObject(name) ; }
  inline RooAbsArg* getParameter(Int_t index) const { return (RooAbsArg*) _origList.At(index) ; }
  
  inline Bool_t ok() { return _isOK ; }
  Double_t eval(const RooArgSet* nset=0) ;
  
  void dump() ;
  Bool_t reCompile(const char* newFormula) ;
  
  virtual void printToStream(ostream& os, PrintOption opt= Standard, TString indent= "") const;
  inline virtual void Print(Option_t *options= 0) const {
    printToStream(defaultStream(),parseOptions(options));
  }
protected:
  
  RooFormula& operator=(const RooFormula& other) ;
  void initCopy(const RooFormula& other) ;
  
  Int_t DefinedVariable(TString &name, int& action) ; 
  Int_t DefinedVariable(TString &name) ; 
  Double_t DefinedValue(Int_t code) ;
  RooArgSet* _nset ;
  mutable Bool_t    _isOK ;
  RooLinkedList     _origList ; 
  RooLinkedList _useList ;      
  mutable RooArgSet _actual;    
  RooLinkedList _labelList ;    
  mutable Bool_t    _compiled ; 
  ClassDef(RooFormula,1)     
};
#endif
This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.