Logo ROOT   6.30.04
Reference Guide
 All Namespaces Files Pages
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 class RooAbsReal ;
26 class RooAbsPdf ;
27 
28 class RooClassFactory : public TNamed, public RooPrintable {
29 
30 public:
31 
32  // Constructors, assignment etc
33  RooClassFactory() ;
34  virtual ~RooClassFactory() ;
35 
36  static RooAbsReal* makeFunctionInstance(const char* className, const char* name, const char* expression, const RooArgList& vars, const char* intExpression=0) ;
37  static RooAbsReal* makeFunctionInstance(const char* name, const char* expression, const RooArgList& vars, const char* intExpression=0) ;
38 
39  static RooAbsPdf* makePdfInstance(const char* className, const char* name, const char* expression, const RooArgList& vars, const char* intExpression=0) ;
40  static RooAbsPdf* makePdfInstance(const char* name, const char* expression, const RooArgList& vars, const char* intExpression=0) ;
41 
42  static Bool_t makeAndCompilePdf(const char* name, const char* expression, const RooArgList& vars, const char* intExpression=0) ;
43  static Bool_t makeAndCompileFunction(const char* name, const char* expression, const RooArgList& args, const char* intExpression=0) ;
44 
45  static Bool_t makePdf(const char* name, const char* realArgNames=0, const char* catArgNames=0,
46  const char* expression="1.0", Bool_t hasAnaInt=kFALSE, Bool_t hasIntGen=kFALSE, const char* intExpression=0) ;
47  static Bool_t makeFunction(const char* name, const char* realArgNames=0, const char* catArgNames=0,
48  const char* expression="1.0", Bool_t hasAnaInt=kFALSE, const char* intExpression=0) ;
49  static Bool_t makeClass(const char* className, const char* name, const char* realArgNames=0, const char* catArgNames=0,
50  const char* expression="1.0", Bool_t hasAnaInt=kFALSE, Bool_t hasIntGen=kFALSE, const char* intExpression=0) ;
51 
52  class ClassFacIFace : public RooFactoryWSTool::IFace {
53  public:
54  std::string create(RooFactoryWSTool& ft, const char* typeName, const char* instanceName, std::vector<std::string> args) ;
55  } ;
56 
57 protected:
58 
59 
60 
61  RooClassFactory(const RooClassFactory&) ;
62 
63  ClassDef(RooClassFactory,0) // RooFit class code and instance factory
64 } ;
65 
66 #endif