List of all members | Public Member Functions | Public Attributes | Protected Member Functions | Private Member Functions | Private Attributes | Friends
utl::RandomSamplerFromCDF Class Reference

#include "utl/RandomSamplerFromCDF.h"

Inheritance diagram for utl::RandomSamplerFromCDF:
Inheritance graph
[legend]

Public Member Functions

engine flatArray (size, rand)
 
double GetInverseCDF (const double y) const
 
double GetMaxX () const
 
double GetMinX () const
 
 RandomSamplerFromCDF (const std::vector< double > &x, const std::vector< double > &y)
 Construct using a CDF defined by X and Y vectors. More...
 
 RandomSamplerFromCDF (const TabulatedFunction &cdf)
 Construct using a CDF defined by a Tabulated Function. More...
 
 RandomSamplerFromCDF (const std::vector< double > &cdf)
 Construct using a CDF defined by an std::vector<double>, the old CLHEP behaviour. More...
 
 RandomSamplerFromCDF (const std::map< double, double > &cdf)
 
 RandomSamplerFromCDF (const std::string &function, const std::string &independentVariableName, const double min, const double max, const int bins)
 Construct the CDF from a function defined by a string. More...
 
 RandomSamplerFromCDF (const std::string &function, const double min, const double max, const int bins)
 
double shoot (HepEngine &engine) const
 Method to shoot random values using a given engine by-passing the static generator. More...
 
virtual ~RandomSamplerFromCDF ()
 

Public Attributes

void const
 Method to shoot random values using a given engine by-passing the static generator. More...
 
 vect [i] = MapRandom(rand[i])
 

Protected Member Functions

const std::vector< double > & GetCDFX () const
 
const std::vector< double > & GetCDFY () const
 
virtual double MapRandom (const double rand) const
 

Private Member Functions

void CheckAndNormalize ()
 
void Dump () const
 
int GetIndex (const double y) const
 
void SetFunction (const std::string &function, const std::string &independentVariableName, const double min, const double max, const int bins)
 

Private Attributes

std::vector< double > fX
 
std::vector< double > fY
 

Friends

class RandomSamplerFromPDF
 

Detailed Description

Input requirements: CDF has to start with zero, does not have to be normalized.

Author
Darko Veberic
Date
27 Aug 2009

Definition at line 28 of file RandomSamplerFromCDF.h.

Constructor & Destructor Documentation

utl::RandomSamplerFromCDF::RandomSamplerFromCDF ( const std::vector< double > &  x,
const std::vector< double > &  y 
)
inline

Construct using a CDF defined by X and Y vectors.

Definition at line 32 of file RandomSamplerFromCDF.h.

References CheckAndNormalize().

RandomSamplerFromCDF::RandomSamplerFromCDF ( const TabulatedFunction cdf)

Construct using a CDF defined by a Tabulated Function.

Definition at line 15 of file RandomSamplerFromCDF.cc.

References CheckAndNormalize().

RandomSamplerFromCDF::RandomSamplerFromCDF ( const std::vector< double > &  cdf)

Construct using a CDF defined by an std::vector<double>, the old CLHEP behaviour.

Definition at line 23 of file RandomSamplerFromCDF.cc.

References CheckAndNormalize(), and fX.

utl::RandomSamplerFromCDF::RandomSamplerFromCDF ( const std::map< double, double > &  cdf)
utl::RandomSamplerFromCDF::RandomSamplerFromCDF ( const std::string &  function,
const std::string &  independentVariableName,
const double  min,
const double  max,
const int  bins 
)
inline

Construct the CDF from a function defined by a string.

Definition at line 44 of file RandomSamplerFromCDF.h.

References SetFunction().

utl::RandomSamplerFromCDF::RandomSamplerFromCDF ( const std::string &  function,
const double  min,
const double  max,
const int  bins 
)
inline

Definition at line 49 of file RandomSamplerFromCDF.h.

References SetFunction().

virtual utl::RandomSamplerFromCDF::~RandomSamplerFromCDF ( )
inlinevirtual

Definition at line 53 of file RandomSamplerFromCDF.h.

Member Function Documentation

void RandomSamplerFromCDF::CheckAndNormalize ( )
private

Definition at line 83 of file RandomSamplerFromCDF.cc.

References Dump(), fX, and fY.

Referenced by RandomSamplerFromCDF(), and SetFunction().

void RandomSamplerFromCDF::Dump ( ) const
private

Definition at line 113 of file RandomSamplerFromCDF.cc.

References fX, and fY.

Referenced by CheckAndNormalize().

engine utl::VRandomSampler::flatArray ( size  ,
rand   
)
inherited
const std::vector<double>& utl::RandomSamplerFromCDF::GetCDFX ( ) const
inlineprotected

Definition at line 65 of file RandomSamplerFromCDF.h.

References fX.

const std::vector<double>& utl::RandomSamplerFromCDF::GetCDFY ( ) const
inlineprotected

Definition at line 67 of file RandomSamplerFromCDF.h.

References fY.

int utl::RandomSamplerFromCDF::GetIndex ( const double  y) const
inlineprivate

Definition at line 74 of file RandomSamplerFromCDF.h.

References fY.

Referenced by GetInverseCDF().

double RandomSamplerFromCDF::GetInverseCDF ( const double  y) const
double utl::RandomSamplerFromCDF::GetMaxX ( ) const
inline

Definition at line 59 of file RandomSamplerFromCDF.h.

References fX.

double utl::RandomSamplerFromCDF::GetMinX ( ) const
inline

Definition at line 57 of file RandomSamplerFromCDF.h.

References fX.

virtual double utl::RandomSamplerFromCDF::MapRandom ( const double  rand) const
inlineprotectedvirtual

Implements utl::VRandomSampler.

Definition at line 62 of file RandomSamplerFromCDF.h.

References GetInverseCDF().

void RandomSamplerFromCDF::SetFunction ( const std::string &  function,
const std::string &  independentVariableName,
const double  min,
const double  max,
const int  bins 
)
private

Definition at line 64 of file RandomSamplerFromCDF.cc.

References CheckAndNormalize(), fX, and fY.

Referenced by RandomSamplerFromCDF().

double utl::VRandomSampler::shoot ( HepEngine engine) const
inlineinherited

Friends And Related Function Documentation

friend class RandomSamplerFromPDF
friend

Definition at line 84 of file RandomSamplerFromCDF.h.

Member Data Documentation

void utl::VRandomSampler::const
inherited
Initial value:
{
double rand[size]

Method to shoot random values using a given engine by-passing the static generator.

Definition at line 45 of file VRandomSampler.h.

std::vector<double> utl::RandomSamplerFromCDF::fX
private
std::vector<double> utl::RandomSamplerFromCDF::fY
private
utl::VRandomSampler::vect[i] = MapRandom(rand[i])
inherited

Definition at line 49 of file VRandomSampler.h.


The documentation for this class was generated from the following files:

, generated on Tue Sep 26 2023.