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 
28 class RooAbsReal;
29 class RooAbsPdf;
30 
31 class RooClassFactory : public TNamed, public RooPrintable {
32 
33 public:
34 
35  // Constructors, assignment etc
36  RooClassFactory() ;
37  virtual ~RooClassFactory() ;
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_t makeAndCompilePdf(const char* name, const char* expression, const RooArgList& vars, const char* intExpression=0) ;
46  static Bool_t makeAndCompileFunction(const char* name, const char* expression, const RooArgList& args, const char* intExpression=0) ;
47 
48  static Bool_t makePdf(const char* name, const char* realArgNames=0, const char* catArgNames=0,
49  const char* expression="1.0", Bool_t hasAnaInt=kFALSE, Bool_t hasIntGen=kFALSE, const char* intExpression=0) ;
50  static Bool_t makeFunction(const char* name, const char* realArgNames=0, const char* catArgNames=0,
51  const char* expression="1.0", Bool_t hasAnaInt=kFALSE, const char* intExpression=0) ;
52  static Bool_t makeClass(const char* className, const char* name, const char* realArgNames=0, const char* catArgNames=0,
53  const char* expression="1.0", Bool_t hasAnaInt=kFALSE, Bool_t hasIntGen=kFALSE, const char* intExpression=0) ;
54 
56  public:
57  std::string create(RooFactoryWSTool& ft, const char* typeName, const char* instanceName, std::vector<std::string> args) ;
58  } ;
59 
60 protected:
61 
62 
63 
65 
66  ClassDef(RooClassFactory,0) // RooFit class code and instance factory
67 } ;
68 
69 #endif
RooClassFactory::ClassFacIFace::create
std::string create(RooFactoryWSTool &ft, const char *typeName, const char *instanceName, std::vector< std::string > args)
Definition: RooClassFactory.cxx:740
RooArgSet.h
RooClassFactory::makePdf
static Bool_t makePdf(const char *name, const char *realArgNames=0, const char *catArgNames=0, const char *expression="1.0", Bool_t hasAnaInt=kFALSE, Bool_t hasIntGen=kFALSE, const char *intExpression=0)
Write code for a RooAbsPdf implementation with class name 'name', taking RooAbsReal arguments with na...
Definition: RooClassFactory.cxx:367
TNamed.h
RooArgList
RooArgList is a container object that can hold multiple RooAbsArg objects.
Definition: RooArgList.h:21
RooClassFactory::makeFunction
static Bool_t makeFunction(const char *name, const char *realArgNames=0, const char *catArgNames=0, const char *expression="1.0", Bool_t hasAnaInt=kFALSE, const char *intExpression=0)
Write code for a RooAbsReal implementation with class name 'name', taking RooAbsReal arguments with n...
Definition: RooClassFactory.cxx:390
RooClassFactory::makeClass
static Bool_t makeClass(const char *className, const char *name, const char *realArgNames=0, const char *catArgNames=0, const char *expression="1.0", Bool_t hasAnaInt=kFALSE, Bool_t hasIntGen=kFALSE, const char *intExpression=0)
Write code for a 'baseName' implementation with class name 'className', taking RooAbsReal arguments w...
Definition: RooClassFactory.cxx:414
RooPrintable.h
RooClassFactory::makeAndCompilePdf
static Bool_t makeAndCompilePdf(const char *name, const char *expression, const RooArgList &vars, const char *intExpression=0)
Definition: RooClassFactory.cxx:86
RooClassFactory
RooClassFactory is a clase like TTree::MakeClass() that generates skeleton code for RooAbsPdf and Roo...
Definition: RooClassFactory.h:31
RooAbsReal
RooAbsReal is the common abstract base class for objects that represent a real value and implements f...
Definition: RooAbsReal.h:61
RooPrintable
RooPlotable is a 'mix-in' base class that define the standard RooFit plotting and printing methods.
Definition: RooPrintable.h:25
bool
RooClassFactory::makeAndCompileFunction
static Bool_t 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',...
Definition: RooClassFactory.cxx:130
RooFactoryWSTool
RooFactoryWSTool is a class similar to TTree::MakeClass() that generates skeleton code for RooAbsPdf ...
Definition: RooFactoryWSTool.h:47
RooFactoryWSTool.h
RooClassFactory::RooClassFactory
RooClassFactory(const RooClassFactory &)
RooClassFactory::RooClassFactory
RooClassFactory()
Default constructor.
Definition: RooClassFactory.cxx:69
TNamed
The TNamed class is the base class for all named ROOT classes.
Definition: TNamed.h:29
kFALSE
const Bool_t kFALSE
Definition: RtypesCore.h:92
RooClassFactory::makeFunctionInstance
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 '...
Definition: RooClassFactory.cxx:210
RooClassFactory::ClassFacIFace
Definition: RooClassFactory.h:55
RooFactoryWSTool::IFace
Definition: RooFactoryWSTool.h:139
RooClassFactory::makePdfInstance
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...
Definition: RooClassFactory.cxx:305
ClassDef
#define ClassDef(name, id)
Definition: Rtypes.h:325
name
char name[80]
Definition: TGX11.cxx:110
RooAbsPdf
Definition: RooAbsPdf.h:43
RooClassFactory::~RooClassFactory
virtual ~RooClassFactory()
Destructor.
Definition: RooClassFactory.cxx:78