Logo ROOT   6.30.04
Reference Guide
 All Namespaces Files Pages
RooRecursiveFraction.h
Go to the documentation of this file.
1 /*****************************************************************************
2  * Project: RooFit *
3  * Package: RooFitCore *
4  * File: $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_RECURSIVE_FRACTION
17 #define ROO_RECURSIVE_FRACTION
18 
19 #include "RooAbsReal.h"
20 #include "RooListProxy.h"
21 
22 class RooRealVar;
23 class RooArgList ;
24 
25 class RooRecursiveFraction : public RooAbsReal {
26 public:
27 
28  RooRecursiveFraction() ;
29  RooRecursiveFraction(const char *name, const char *title, const RooArgList& fracSet) ;
30  virtual ~RooRecursiveFraction() ;
31 
32  RooRecursiveFraction(const RooRecursiveFraction& other, const char* name = 0);
33  virtual TObject* clone(const char* newname) const { return new RooRecursiveFraction(*this, newname); }
34 
35 protected:
36 
37  RooListProxy _list ;
38  mutable TIterator* _listIter ; //! do not persist
39 
40  Double_t evaluate() const;
41 
42  ClassDef(RooRecursiveFraction,1) // Recursive fraction formula f1*(1-f2)*(1-f3) etc...
43 } ;
44 
45 #endif