Logo ROOT   6.30.04
Reference Guide
 All Namespaces Files Pages
RooLandau.h
Go to the documentation of this file.
1 /*****************************************************************************
2  * Project: RooFit *
3  * Package: RooFitModels *
4  * File: $Id: RooLandau.h,v 1.5 2007/07/12 20:30:49 wouter 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 #ifndef ROO_LANDAU
17 #define ROO_LANDAU
18 
19 #include "RooAbsPdf.h"
20 #include "RooRealProxy.h"
21 
22 class RooRealVar;
23 
24 class RooLandau : public RooAbsPdf {
25 public:
26  RooLandau() {} ;
27  RooLandau(const char *name, const char *title, RooAbsReal& _x, RooAbsReal& _mean, RooAbsReal& _sigma);
28  RooLandau(const RooLandau& other, const char* name=0);
29  virtual TObject* clone(const char* newname) const { return new RooLandau(*this,newname); }
30  inline virtual ~RooLandau() { }
31 
32  Int_t getGenerator(const RooArgSet& directVars, RooArgSet &generateVars, Bool_t staticInitOK=kTRUE) const;
33  void generateEvent(Int_t code);
34 
35 protected:
36 
37  RooRealProxy x ;
38  RooRealProxy mean ;
39  RooRealProxy sigma ;
40 
41  Double_t evaluate() const ;
42  RooSpan<double> evaluateBatch(std::size_t begin, std::size_t batchSize) const;
43 
44 private:
45 
46  ClassDef(RooLandau,1) // Landau Distribution PDF
47 };
48 
49 #endif