Logo ROOT   6.30.04
Reference Guide
 All Namespaces Files Pages
RooLognormal.h
Go to the documentation of this file.
1  /*****************************************************************************
2  * Project: RooFit *
3  * @(#)root/roofit:$Id$ *
4  * *
5  * RooFit Lognormal PDF *
6  * *
7  * Author: Gregory Schott and Stefan Schmitz *
8  * *
9  *****************************************************************************/
10 
11 #ifndef ROO_LOGNORMAL
12 #define ROO_LOGNORMAL
13 
14 #include "RooAbsPdf.h"
15 #include "RooRealProxy.h"
16 
17 class RooRealVar;
18 
19 class RooLognormal : public RooAbsPdf {
20 public:
21  RooLognormal() {} ;
22  RooLognormal(const char *name, const char *title,
23  RooAbsReal& _x, RooAbsReal& _m0, RooAbsReal& _k);
24  RooLognormal(const RooLognormal& other, const char* name=0) ;
25  virtual TObject* clone(const char* newname) const { return new RooLognormal(*this,newname); }
26  inline virtual ~RooLognormal() { }
27 
28  Int_t getAnalyticalIntegral(RooArgSet& allVars, RooArgSet& analVars, const char* rangeName=0) const ;
29  Double_t analyticalIntegral(Int_t code, const char* rangeName=0) const ;
30 
31  Int_t getGenerator(const RooArgSet& directVars, RooArgSet &generateVars, Bool_t staticInitOK=kTRUE) const;
32  void generateEvent(Int_t code);
33 
34 protected:
35 
36  RooRealProxy x ;
37  RooRealProxy m0 ;
38  RooRealProxy k ;
39 
40  Double_t evaluate() const ;
41  RooSpan<double> evaluateBatch(std::size_t begin, std::size_t batchSize) const;
42 
43 private:
44 
45  ClassDef(RooLognormal,1) // log-normal PDF
46 };
47 
48 #endif