8 #ifndef IMPISD_PENALIZED_COMPLEXITY_PRIOR_H 
    9 #define IMPISD_PENALIZED_COMPLEXITY_PRIOR_H 
   11 #include <IMP/isd/isd_config.h> 
   14 IMPISD_BEGIN_NAMESPACE
 
   54     virtual void do_update_sufficient_statistics(
Floats Dxis) 
override;
 
   55     virtual void do_update_sufficient_statistics(
Floats Dxis, 
Floats Jxis);
 
   56     virtual Floats do_get_sufficient_statistics() 
const override;
 
   57     virtual double do_evaluate() 
const override;
 
   67                              std::string name = 
"PenalizedComplexityPrior %1%");
 
   71       do_update_sufficient_statistics(Dxis, Jxis);
 
   75     double evaluate_derivative_Dxi() 
const;
 
   78     double evaluate_derivative_Jxi() 
const;
 
   81     double evaluate_derivative_alpha() 
const;
 
   86     double evaluate_derivative_xi(
double JJxi) 
const;
 
   89     void set_Dxi(
double v);
 
   92     void set_Jxi(
double v);
 
   95     void set_alpha(
double v);
 
   98     double get_Dxi() 
const;
 
  101     double get_Jxi() 
const;
 
  104     double get_alpha() 
const;
 
  109     double sqrtDxi_, Jxi_, nloga_;
 
Base class for single-variate distributions that cache sufficient statistics. 
 
void update_sufficient_statistics(Floats Dxis, Floats Jxis)
Update sufficient statistics with values and derivatives. 
 
#define IMP_OBJECT_METHODS(Name)
Define the basic things needed by any Object. 
 
Penalized complexity prior. 
 
Base class for probability distributions. 
 
#define IMP_OBJECTS(Name, PluralName)
Define the types for storing lists of object pointers.