56 inline double c(
int i )
const {
return m_c[i]; }
66 double pdf(
const T& p )
const override;
75 for (
size_t i = 0; i < other.nTerms(); i++ ) {
76 m_c.push_back( other.m_c[i] );
77 m_term.push_back( other.m_term[i]->clone() );
84 for (
size_t i = 0; i <
m_c.size(); i++ ) {
93 for (
size_t i = 0; i <
m_c.size(); i++ ) {
107 for (
size_t i = 0; i <
nTerms(); i++ ) {
117 for (
size_t i = 0; i <
nTerms(); i++ )
131 if ( !this->
m_itg.valueKnown() )
134 double max = this->
m_itg.value();
139 for ( i = 0; i <
nTerms(); i++ ) {
140 double itg =
m_term[i]->getItg().value();
146 return m_term[i]->randomPoint();
double pdf(const T &p) const override
vector< EvtPdf< T > * > m_term
EvtPdf< T > * getPdf(int i) const
EvtPdfSum * clone() const override
void addTerm(double c, const EvtPdf< T > &pdf)
EvtValError compute_integral() const override
void addOwnedTerm(double c, std::unique_ptr< EvtPdf< T > > pdf)
EvtValError getItg() const