16 #ifndef ROO_GENERIC_PDF
17 #define ROO_GENERIC_PDF
25 class RooGenericPdf :
public RooAbsPdf {
28 inline RooGenericPdf(){}
29 RooGenericPdf(
const char *name,
const char *title,
const char* formula,
const RooArgList& dependents);
30 RooGenericPdf(
const char *name,
const char *title,
const RooArgList& dependents);
31 RooGenericPdf(
const RooGenericPdf& other,
const char* name=0);
32 virtual TObject* clone(
const char* newname)
const {
return new RooGenericPdf(*
this,newname); }
35 virtual Bool_t readFromStream(std::istream& is, Bool_t compact, Bool_t verbose=kFALSE) ;
36 virtual void writeToStream(std::ostream& os, Bool_t compact)
const ;
39 void printMultiline(std::ostream& os, Int_t content, Bool_t verbose=kFALSE, TString indent=
"")
const ;
40 void printMetaArgs(std::ostream& os)
const ;
43 void dumpFormula() { formula().dump() ; }
47 RooFormula& formula()
const ;
50 RooListProxy _actualVars ;
51 virtual Double_t evaluate()
const ;
53 Bool_t setFormula(
const char* formula) ;
56 virtual Bool_t redirectServersHook(
const RooAbsCollection& newServerList, Bool_t mustReplaceAll, Bool_t nameChange, Bool_t isRecursive) ;
58 virtual Bool_t isValidReal(Double_t value, Bool_t printError)
const ;
60 std::unique_ptr<RooFormula> _formula{
nullptr};
63 ClassDef(RooGenericPdf,1)