Logo ROOT   6.30.04
Reference Guide
 All Namespaces Files Pages
RooAbsMoment.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_ABS_MOMENT
17 #define ROO_ABS_MOMENT
18 
19 #include "RooAbsReal.h"
20 #include "RooRealProxy.h"
21 #include "RooSetProxy.h"
22 
23 
24 class RooRealVar;
25 class RooArgList ;
26 
27 class RooAbsMoment : public RooAbsReal {
28 public:
29 
30  RooAbsMoment() ;
31  RooAbsMoment(const char *name, const char *title, RooAbsReal& func, RooRealVar& x, Int_t order=1, Bool_t takeRoot=kFALSE) ;
32  RooAbsMoment(const RooAbsMoment& other, const char* name = 0);
33  virtual ~RooAbsMoment() ;
34 
35  Int_t order() const { return _order ; }
36  Bool_t central() const { return _mean.absArg() ? kTRUE : kFALSE ; }
37  RooAbsReal* mean() { return (RooAbsReal*) _mean.absArg() ; }
38 
39 
40 protected:
41 
42  Int_t _order ; // Moment order
43  Int_t _takeRoot ; // Return n-order root of moment
44  RooSetProxy _nset ; // Normalization set (optional)
45  RooRealProxy _func ; // Input function
46  RooRealProxy _x ; // Observable
47  RooRealProxy _mean ; // Mean (if calculated for central moment)
48 
49  ClassDef(RooAbsMoment,1) // Abstract representation of moment in a RooAbsReal in a given RooRealVar
50 };
51 
52 #endif