EvtIntegPdf1D Class Reference

#include <EvtIntegPdf1D.hh>

Inheritance diagram for EvtIntegPdf1D:

EvtPdf< EvtPoint1D > EvtBreitWignerPdf List of all members.

Public Member Functions

 EvtIntegPdf1D (double min, double max)
 EvtIntegPdf1D (const EvtIntegPdf1D &)
virtual ~EvtIntegPdf1D ()
virtual double pdfIntegral (double x) const =0
virtual double pdfIntegralInverse (double x) const =0
virtual EvtValError compute_integral () const
virtual EvtPoint1D randomPoint ()
virtual EvtPdf< EvtPoint1D > * clone () const =0
double evaluate (const EvtPoint1D &p) const
EvtPdfMax< EvtPoint1DfindMax (const EvtPdf< EvtPoint1D > &pc, int N)
EvtValError findGenEff (const EvtPdf< EvtPoint1D > &pc, int N, int nFindMax)
void setItg (EvtValError itg)
EvtValError getItg () const
EvtValError getItg (int N) const
virtual EvtValError compute_integral (int N) const
EvtValError compute_mc_integral (const EvtPdf< EvtPoint1D > &pc, int N)
EvtPredGen< EvtPdfGen< EvtPoint1D >,
EvtPdfPred< EvtPoint1D > > 
accRejGen (const EvtPdf< EvtPoint1D > &pc, int nMax, double factor=1.)

Protected Member Functions

virtual double pdf (const EvtPoint1D &) const =0

Protected Attributes

double _min
double _max
EvtValError _itg

Detailed Description

Definition at line 18 of file EvtIntegPdf1D.hh.


Constructor & Destructor Documentation

EvtIntegPdf1D::EvtIntegPdf1D ( double  min,
double  max 
)

Definition at line 16 of file EvtIntegPdf1D.cc.

00017   : EvtPdf<EvtPoint1D>(), _min(min), _max(max)
00018 {
00019   assert(min <= max);
00020 }

EvtIntegPdf1D::EvtIntegPdf1D ( const EvtIntegPdf1D  ) 

Definition at line 22 of file EvtIntegPdf1D.cc.

00023   : EvtPdf<EvtPoint1D>(other), _min(other._min), _max(other._max)
00024 {}

EvtIntegPdf1D::~EvtIntegPdf1D (  )  [virtual]

Definition at line 26 of file EvtIntegPdf1D.cc.

00027 {}


Member Function Documentation

EvtPredGen<EvtPdfGen<EvtPoint1D >,EvtPdfPred<EvtPoint1D > > EvtPdf< EvtPoint1D >::accRejGen ( const EvtPdf< EvtPoint1D > &  pc,
int  nMax,
double  factor = 1. 
) [inherited]

virtual EvtPdf<EvtPoint1D >* EvtPdf< EvtPoint1D >::clone ( void   )  const [pure virtual, inherited]

Implemented in EvtBreitWignerPdf, and EvtIntervalFlatPdf.

virtual EvtValError EvtPdf< EvtPoint1D >::compute_integral ( int  N  )  const [inline, virtual, inherited]

Definition at line 95 of file EvtPdf.hh.

References EvtPdf< T >::compute_integral().

00095 { return compute_integral(); }

EvtValError EvtIntegPdf1D::compute_integral (  )  const [virtual]

Reimplemented from EvtPdf< EvtPoint1D >.

Definition at line 29 of file EvtIntegPdf1D.cc.

References _max, _min, and pdfIntegral().

00030 {
00031   double x1 = pdfIntegral(_min); 
00032   double x2 = pdfIntegral(_max);
00033   return EvtValError(x2-x1,0.);
00034 }

EvtValError EvtPdf< EvtPoint1D >::compute_mc_integral ( const EvtPdf< EvtPoint1D > &  pc,
int  N 
) [inherited]

double EvtPdf< EvtPoint1D >::evaluate ( const EvtPoint1D p  )  const [inline, inherited]

Definition at line 65 of file EvtPdf.hh.

References EvtPdf< T >::pdf().

00065                                     { 
00066     if(p.isValid()) return pdf(p); 
00067     else return 0.;
00068   }

EvtValError EvtPdf< EvtPoint1D >::findGenEff ( const EvtPdf< EvtPoint1D > &  pc,
int  N,
int  nFindMax 
) [inherited]

EvtPdfMax<EvtPoint1D > EvtPdf< EvtPoint1D >::findMax ( const EvtPdf< EvtPoint1D > &  pc,
int  N 
) [inherited]

EvtValError EvtPdf< EvtPoint1D >::getItg ( int  N  )  const [inline, inherited]

Definition at line 87 of file EvtPdf.hh.

References EvtPdf< T >::_itg, EvtPdf< T >::compute_integral(), and EvtValError::valueKnown().

00087                                   {
00088     if(!_itg.valueKnown()) _itg = compute_integral(N);
00089     return _itg;
00090   }

EvtValError EvtPdf< EvtPoint1D >::getItg (  )  const [inline, inherited]

Definition at line 83 of file EvtPdf.hh.

References EvtPdf< T >::_itg, EvtPdf< T >::compute_integral(), and EvtValError::valueKnown().

00083                              {
00084     if(!_itg.valueKnown()) _itg = compute_integral();
00085     return _itg;
00086   }

virtual double EvtPdf< EvtPoint1D >::pdf ( const EvtPoint1D  )  const [protected, pure virtual, inherited]

Implemented in EvtBreitWignerPdf, and EvtIntervalFlatPdf.

virtual double EvtIntegPdf1D::pdfIntegral ( double  x  )  const [pure virtual]

Implemented in EvtBreitWignerPdf.

Referenced by compute_integral(), and randomPoint().

virtual double EvtIntegPdf1D::pdfIntegralInverse ( double  x  )  const [pure virtual]

Implemented in EvtBreitWignerPdf.

Referenced by randomPoint().

EvtPoint1D EvtIntegPdf1D::randomPoint (  )  [virtual]

Reimplemented from EvtPdf< EvtPoint1D >.

Definition at line 37 of file EvtIntegPdf1D.cc.

References _max, _min, EvtRandom::Flat(), pdfIntegral(), and pdfIntegralInverse().

00038 {
00039   double itgmin = pdfIntegral(_min);
00040   double itgmax = pdfIntegral(_max);
00041   double itgrnd = EvtRandom::Flat(itgmin,itgmax);
00042 
00043   return EvtPoint1D(_min,_max,pdfIntegralInverse(itgrnd));
00044 }

void EvtPdf< EvtPoint1D >::setItg ( EvtValError  itg  )  [inline, inherited]

Definition at line 81 of file EvtPdf.hh.

References EvtPdf< T >::_itg.

00081 {_itg = itg; }


Member Data Documentation

EvtValError EvtPdf< EvtPoint1D >::_itg [mutable, protected, inherited]

Definition at line 111 of file EvtPdf.hh.

double EvtIntegPdf1D::_max [protected]

Definition at line 37 of file EvtIntegPdf1D.hh.

Referenced by compute_integral(), and randomPoint().

double EvtIntegPdf1D::_min [protected]

Definition at line 36 of file EvtIntegPdf1D.hh.

Referenced by compute_integral(), and randomPoint().


Generated on Tue Nov 29 23:19:02 2016 for BOSS_7.0.2 by  doxygen 1.4.7