1 #ifndef NPSTAT_DISTRIBUTION1DFACTORY_HH_
2 #define NPSTAT_DISTRIBUTION1DFACTORY_HH_
28 double location,
double scale,
29 const std::vector<double>&)
const = 0;
30 virtual int nParameters()
const = 0;
39 inline int nParameters()
const {
return T::nParameters();}
41 T* create(
const double location,
const double scale,
42 const std::vector<double>& params)
const
44 if (nParameters() >= 0)
45 if (params.size() !=
static_cast<unsigned>(nParameters()))
46 throw std::invalid_argument(
47 "In npstat::ScalableDistribution1DFactory constructor:"
48 " wrong number of distribution parameters");
49 return new T(location, scale, params);
64 public std::map<std::string, AbsScalableDistribution1DFactory *>
70 inline bool contains(
const std::string& name)
const
71 {
return this->find(name) != this->end();}
Interface definition for 1-d continuous statistical distributions.
Definition: Distribution1DFactory.hh:24
Definition: AbsDistribution1D.hh:165
Definition: Distribution1DFactory.hh:65
Definition: Distribution1DFactory.hh:35
Definition: AbsArrayProjector.hh:14