bpp-phyl  2.2.0
bpp::RateDistributionFactory Class Reference

Utilitary class for creating rate distributions. More...

#include <Bpp/Phyl/Model/RateDistributionFactory.h>

+ Collaboration diagram for bpp::RateDistributionFactory:

Public Member Functions

 RateDistributionFactory (unsigned int nbClasses=4)
 Creates a new factory object. More...
 
virtual ~RateDistributionFactory ()
 
virtual DiscreteDistribution * createDiscreteDistribution (const std::string &distName, unsigned int nbClasses) throw (Exception)
 Get a new dynamically created DiscreteDistribution object. More...
 
virtual DiscreteDistribution * createDiscreteDistribution (const std::string &distName) throw (Exception)
 Get a new dynamically created DiscreteDistribution object. More...
 

Static Public Attributes

static const std::string CONSTANT_DISTRIBUTION = "Constant"
 
static const std::string GAMMA_DISTRIBUTION = "Gamma"
 
static const std::string GAUSSIAN_DISTRIBUTION = "Gaussian"
 
static const std::string EXPONENTIAL_DISTRIBUTION = "Exponential"
 

Private Attributes

unsigned int nbClasses_
 

Detailed Description

Utilitary class for creating rate distributions.

See also
SubstitutionModelFactory

Definition at line 57 of file RateDistributionFactory.h.

Constructor & Destructor Documentation

◆ RateDistributionFactory()

bpp::RateDistributionFactory::RateDistributionFactory ( unsigned int  nbClasses = 4)
inline

Creates a new factory object.

Example:

DiscreteDistribution* dist = RateDistributionFactory().createDiscreteDistribution(RateDistributionFactory::GAMMA_DISTRIBUTION);
// or DiscreteDistribution* dist = RateDistributionFactory(10).createDiscreteDistribution(RateDistributionFactory::GAMMA_DISTRIBUTION);
// or DiscreteDistribution* dist = RateDistributionFactory().createDiscreteDistribution(RateDistributionFactory::GAMMA_DISTRIBUTION, 10);
// dist can be used in any object dealing with rate distributions.

Definition at line 80 of file RateDistributionFactory.h.

◆ ~RateDistributionFactory()

virtual bpp::RateDistributionFactory::~RateDistributionFactory ( )
inlinevirtual

Definition at line 81 of file RateDistributionFactory.h.

Member Function Documentation

◆ createDiscreteDistribution() [1/2]

DiscreteDistribution * RateDistributionFactory::createDiscreteDistribution ( const std::string &  distName,
unsigned int  nbClasses 
)
throw (Exception
)
virtual

Get a new dynamically created DiscreteDistribution object.

Parameters
distNameThe name of the distribution to use.
nbClassesThe number of classes to use. This override the value passed to the constructor and is ignored for a constant distribution.
Returns
A pointer toward a new discrete distribution, with default parameter values.
Exceptions
ExceptionIf the dist name do not match any available distribution.

Definition at line 56 of file RateDistributionFactory.cpp.

Referenced by createDiscreteDistribution().

◆ createDiscreteDistribution() [2/2]

virtual DiscreteDistribution* bpp::RateDistributionFactory::createDiscreteDistribution ( const std::string &  distName)
throw (Exception
)
inlinevirtual

Get a new dynamically created DiscreteDistribution object.

Parameters
distNameThe name of the distribution to use.
Returns
A pointer toward a new discrete distribution, with default parameter values.
Exceptions
ExceptionIf the dist name do not match any available distribution.

Definition at line 100 of file RateDistributionFactory.h.

References createDiscreteDistribution(), and nbClasses_.

Member Data Documentation

◆ CONSTANT_DISTRIBUTION

const string RateDistributionFactory::CONSTANT_DISTRIBUTION = "Constant"
static

Definition at line 60 of file RateDistributionFactory.h.

◆ EXPONENTIAL_DISTRIBUTION

const string RateDistributionFactory::EXPONENTIAL_DISTRIBUTION = "Exponential"
static

Definition at line 63 of file RateDistributionFactory.h.

◆ GAMMA_DISTRIBUTION

const string RateDistributionFactory::GAMMA_DISTRIBUTION = "Gamma"
static

Definition at line 61 of file RateDistributionFactory.h.

◆ GAUSSIAN_DISTRIBUTION

const string RateDistributionFactory::GAUSSIAN_DISTRIBUTION = "Gaussian"
static

Definition at line 62 of file RateDistributionFactory.h.

◆ nbClasses_

unsigned int bpp::RateDistributionFactory::nbClasses_
private

Definition at line 66 of file RateDistributionFactory.h.

Referenced by createDiscreteDistribution().


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