Logo ROOT  
Reference Guide
RooClassFactory.h
Go to the documentation of this file.
1/*****************************************************************************
2 * Project: RooFit *
3 * Package: RooFitCore *
4 * File: $Id: RooClassFactory.h,v 1.2 2007/05/11 09:11:30 verkerke Exp $
5 * Authors: *
6 * WV, Wouter Verkerke, UC Santa Barbara, verkerke@slac.stanford.edu *
7 * DK, David Kirkby, UC Irvine, dkirkby@uci.edu *
8 * *
9 * Copyright (c) 2000-2005, Regents of the University of California *
10 * and Stanford University. All rights reserved. *
11 * *
12 * Redistribution and use in source and binary forms, *
13 * with or without modification, are permitted according to the terms *
14 * listed in LICENSE (http://roofit.sourceforge.net/license.txt) *
15 *****************************************************************************/
16
17#ifndef ROO_CODE_FACTORY
18#define ROO_CODE_FACTORY
19
20#include "TNamed.h"
21#include "RooArgSet.h"
22#include "RooPrintable.h"
23#include "RooFactoryWSTool.h"
24
25#include <vector>
26#include <string>
27
28class RooAbsReal;
29class RooAbsPdf;
30
31class RooClassFactory : public TNamed, public RooPrintable {
32
33public:
34
35 // Constructors, assignment etc
37 ~RooClassFactory() override ;
38
39 static RooAbsReal* makeFunctionInstance(const char* className, const char* name, const char* expression, const RooArgList& vars, const char* intExpression=0) ;
40 static RooAbsReal* makeFunctionInstance(const char* name, const char* expression, const RooArgList& vars, const char* intExpression=0) ;
41
42 static RooAbsPdf* makePdfInstance(const char* className, const char* name, const char* expression, const RooArgList& vars, const char* intExpression=0) ;
43 static RooAbsPdf* makePdfInstance(const char* name, const char* expression, const RooArgList& vars, const char* intExpression=0) ;
44
45 static bool makeAndCompilePdf(const char* name, const char* expression, const RooArgList& vars, const char* intExpression=0) ;
46 static bool makeAndCompileFunction(const char* name, const char* expression, const RooArgList& args, const char* intExpression=0) ;
47
48 static bool makePdf(const char* name, const char* realArgNames=0, const char* catArgNames=0,
49 const char* expression="1.0", bool hasAnaInt=false, bool hasIntGen=false, const char* intExpression=0) ;
50 static bool makeFunction(const char* name, const char* realArgNames=0, const char* catArgNames=0,
51 const char* expression="1.0", bool hasAnaInt=false, const char* intExpression=0) ;
52 static bool makeClass(const char* className, const char* name, const char* realArgNames=0, const char* catArgNames=0,
53 const char* expression="1.0", bool hasAnaInt=false, bool hasIntGen=false, const char* intExpression=0) ;
54
56 public:
57 std::string create(RooFactoryWSTool& ft, const char* typeName, const char* instanceName, std::vector<std::string> args) override ;
58 } ;
59
60protected:
61
62
63
65
66 ClassDefOverride(RooClassFactory,0) // RooFit class code and instance factory
67} ;
68
69#endif
#define ClassDefOverride(name, id)
Definition: Rtypes.h:339
char name[80]
Definition: TGX11.cxx:110
RooAbsReal is the common abstract base class for objects that represent a real value and implements f...
Definition: RooAbsReal.h:64
RooArgList is a container object that can hold multiple RooAbsArg objects.
Definition: RooArgList.h:22
std::string create(RooFactoryWSTool &ft, const char *typeName, const char *instanceName, std::vector< std::string > args) override
RooClassFactory is a clase like TTree::MakeClass() that generates skeleton code for RooAbsPdf and Roo...
static RooAbsReal * makeFunctionInstance(const char *className, const char *name, const char *expression, const RooArgList &vars, const char *intExpression=0)
Write, compile and load code and instantiate object for a RooAbsReal implementation with class name '...
static RooAbsPdf * makePdfInstance(const char *className, const char *name, const char *expression, const RooArgList &vars, const char *intExpression=0)
Write, compile and load code and instantiate object for a RooAbsPdf implementation with class name 'n...
RooClassFactory()
Default constructor.
~RooClassFactory() override
Destructor.
RooClassFactory(const RooClassFactory &)
static bool makeAndCompileFunction(const char *name, const char *expression, const RooArgList &args, const char *intExpression=0)
Write, compile and load code for a RooAbsReal implementation with class name 'name',...
static bool makeAndCompilePdf(const char *name, const char *expression, const RooArgList &vars, const char *intExpression=0)
static bool makeClass(const char *className, const char *name, const char *realArgNames=0, const char *catArgNames=0, const char *expression="1.0", bool hasAnaInt=false, bool hasIntGen=false, const char *intExpression=0)
Write code for a 'baseName' implementation with class name 'className', taking RooAbsReal arguments w...
static bool makePdf(const char *name, const char *realArgNames=0, const char *catArgNames=0, const char *expression="1.0", bool hasAnaInt=false, bool hasIntGen=false, const char *intExpression=0)
Write code for a RooAbsPdf implementation with class name 'name', taking RooAbsReal arguments with na...
static bool makeFunction(const char *name, const char *realArgNames=0, const char *catArgNames=0, const char *expression="1.0", bool hasAnaInt=false, const char *intExpression=0)
Write code for a RooAbsReal implementation with class name 'name', taking RooAbsReal arguments with n...
RooFactoryWSTool is a class similar to TTree::MakeClass() that generates skeleton code for RooAbsPdf ...
RooPlotable is a 'mix-in' base class that define the standard RooFit plotting and printing methods.
Definition: RooPrintable.h:25
The TNamed class is the base class for all named ROOT classes.
Definition: TNamed.h:29