File indexing completed on 2025-11-03 10:03:33
0001 
0002 
0003 
0004 
0005 
0006 
0007 
0008 
0009 
0010 
0011 
0012 
0013 
0014 
0015 
0016 
0017 #ifndef RooFit_RooClassFactory_h
0018 #define RooFit_RooClassFactory_h
0019 
0020 #include <string>
0021 
0022 class RooAbsReal;
0023 class RooAbsPdf;
0024 class RooArgList;
0025 
0026 
0027 class RooClassFactory {
0028 
0029 public:
0030    static RooAbsReal *makeFunctionInstance(std::string const &className, std::string const &name,
0031                                            std::string const &expression, const RooArgList &vars,
0032                                            std::string const &intExpression = "");
0033    static RooAbsReal *makeFunctionInstance(std::string const &name, std::string const &expression,
0034                                            const RooArgList &vars, std::string const &intExpression = "");
0035 
0036    static RooAbsPdf *makePdfInstance(std::string const &className, std::string const &name,
0037                                      std::string const &expression, const RooArgList &vars,
0038                                      std::string const &intExpression = "");
0039    static RooAbsPdf *makePdfInstance(std::string const &name, std::string const &expression, const RooArgList &vars,
0040                                      std::string const &intExpression = "");
0041 
0042    static bool makeAndCompilePdf(std::string const &name, std::string const &expression, const RooArgList &vars,
0043                                  std::string const &intExpression = "");
0044    static bool makeAndCompileFunction(std::string const &name, std::string const &expression, const RooArgList &args,
0045                                       std::string const &intExpression = "");
0046 
0047    static bool makePdf(std::string const &name, std::string const &realArgNames = "",
0048                        std::string const &catArgNames = "", std::string const &expression = "1.0",
0049                        bool hasAnaInt = false, bool hasIntGen = false, std::string const &intExpression = "");
0050    static bool makeFunction(std::string const &name, std::string const &realArgNames = "",
0051                             std::string const &catArgNames = "", std::string const &expression = "1.0",
0052                             bool hasAnaInt = false, std::string const &intExpression = "");
0053    static bool makeClass(std::string const &baseName, const std::string &className,
0054                          std::string const &realArgNames = "", std::string const &catArgNames = "",
0055                          std::string const &expression = "1.0", bool hasAnaInt = false, bool hasIntGen = false,
0056                          std::string const &intExpression = "");
0057 };
0058 
0059 #endif