Logo ROOT   6.30.04
Reference Guide
 All Namespaces Files Pages
RooMultiGenFunction.h
Go to the documentation of this file.
1 /*****************************************************************************
2  * Project: RooFit *
3  * Package: RooFitCore *
4  * @(#)root/roofitcore:$Id$
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 #ifndef ROO_MULTI_GEN_FUNCTION
17 #define ROO_MULTI_GEN_FUNCTION
18 
19 #include "RooFunctor.h"
20 #include "Math/IFunction.h"
21 
22 class RooAbsReal ;
23 class RooArgList ;
24 class RooArgSet ;
25 class RooAbsFunc ;
26 
27 class RooMultiGenFunction : public ROOT::Math::IMultiGenFunction {
28 
29 public:
30  RooMultiGenFunction(const RooAbsFunc& func) ;
31  RooMultiGenFunction(const RooAbsReal& func, const RooArgList& observables, const RooArgList& parameters) ;
32  RooMultiGenFunction(const RooAbsReal& func, const RooArgList& observables, const RooArgList& parameters, const RooArgSet& nset) ;
33  RooMultiGenFunction(const RooMultiGenFunction& other) ;
34  virtual ~RooMultiGenFunction() ;
35 
36  virtual ROOT::Math::IBaseFunctionMultiDim* Clone() const {
37  return new RooMultiGenFunction(*this) ;
38  }
39 
40 /* Int_t numCall() const { return _ftor.numCall() ; } */
41 /* void resetNumCall() const { _ftor.resetNumCall() ; } */
42 
43  unsigned int NDim() const { return _ftor.nObs() ; }
44 
45 protected:
46 
47  double DoEval(const double*) const ;
48 
49  RooFunctor _ftor ;
50 
51  ClassDef(RooMultiGenFunction,0) // Export RooAbsReal as functor
52 };
53 
54 #endif
55