8 #ifndef IMPNPCTRANSPORT_BIPARTITE_PAIRS_STATISTICS_OPTIMIZER_STATE_H 
    9 #define IMPNPCTRANSPORT_BIPARTITE_PAIRS_STATISTICS_OPTIMIZER_STATE_H 
   11 #include "npctransport_config.h" 
   18 #include <boost/unordered_set.hpp> 
   21 IMPNPCTRANSPORT_BEGIN_NAMESPACE
 
   33   typedef IMP_KERNEL_LARGE_ORDERED_SET<ParticleIndex> t_particle_index_ordered_set; 
 
   34   typedef IMP_KERNEL_LARGE_ORDERED_SET<ParticleIndexPair> t_particle_index_pair_ordered_set;
 
   42   double stats_time_ns_; 
 
   43   double off_stats_time_ns_; 
 
   45   double off_I_stats_time_ns_; 
 
   46   double off_II_stats_time_ns_; 
 
   47   double on_stats_time_ns_; 
 
   49   double on_I_stats_time_ns_; 
 
   51   double on_II_stats_time_ns_; 
 
   60       close_bipartite_pair_container_;
 
   67   double avg_ncontacts_;
 
   71   t_particle_index_ordered_set bounds_I_;
 
   72   t_particle_index_ordered_set bounds_II_;
 
   73   t_particle_index_pair_ordered_set contacts_;
 
   76   double avg_pct_bound_particles_I_; 
 
   77   double avg_pct_bound_particles_II_;  
 
   78   double avg_fraction_bound_sites_I_; 
 
   79   double avg_fraction_bound_sites_II_; 
 
   80   double avg_fraction_nonspecific_I_; 
 
   81   double avg_fraction_nonspecific_II_; 
 
   82   double avg_off_per_contact_per_ns_;
 
   83   double avg_off_per_bound_I_per_ns_;
 
   84   double avg_off_per_bound_II_per_ns_;
 
   85   double avg_on_per_unbound_I_per_ns_;
 
   86   double avg_on_per_unbound_II_per_ns_;
 
   87   double avg_on_per_missing_contact_per_ns_;
 
   90   unsigned int n_particles_I_;
 
   91   unsigned int n_particles_II_;
 
   92   unsigned int n_bounds_I_;
 
   93   unsigned int n_bounds_II_;
 
   96   unsigned int n_sites_I_;
 
   97   unsigned int n_sites_II_;
 
  123       double contact_range = 1.0, 
double slack = 1.0);
 
  141   { 
return avg_off_per_contact_per_ns_; }
 
  147   { 
return avg_off_per_bound_I_per_ns_; }
 
  153   { 
return avg_off_per_bound_II_per_ns_; }
 
  160   { 
return avg_on_per_missing_contact_per_ns_; }
 
  166   { 
return avg_on_per_unbound_I_per_ns_; }
 
  172   { 
return avg_on_per_unbound_II_per_ns_; }
 
  179     return avg_pct_bound_particles_I_;
 
  187     return avg_pct_bound_particles_II_;
 
  193     return avg_fraction_bound_sites_I_;
 
  199     return avg_fraction_bound_sites_II_;
 
  206     return avg_fraction_nonspecific_I_;
 
  213     return avg_fraction_nonspecific_II_;
 
  230   void reset() 
override;
 
  232   double get_misc_stats_period_ns()
 const 
  233   { 
return stats_time_ns_; };
 
  235   double get_off_stats_period_ns()
 const 
  236   { 
return off_stats_time_ns_; };
 
  238   double get_off_I_stats_period_ns()
 const 
  239   { 
return off_I_stats_time_ns_; };
 
  241     double get_off_II_stats_period_ns()
 const 
  242   { 
return off_II_stats_time_ns_; };
 
  244     double get_on_stats_period_ns()
 const 
  245   { 
return on_stats_time_ns_; };
 
  247   double get_on_I_stats_period_ns()
 const 
  248   { 
return on_I_stats_time_ns_; };
 
  250   double get_on_II_stats_period_ns()
 const 
  251   { 
return on_II_stats_time_ns_; };
 
  255   virtual void do_update(
unsigned int call_num) 
override;
 
  276 IMPNPCTRANSPORT_END_NAMESPACE
 
std::pair< IMP::core::ParticleType, IMP::core::ParticleType > InteractionType
an interaction that involves particles of two types 
 
Smart pointer to Object-derived classes that does not refcount. 
 
#define IMP_OBJECT_METHODS(Name)
Define the basic things needed by any Object. 
 
Angle restraint between three particles. 
 
virtual void do_update(unsigned int)
 
Statistics and order parameters about the simulations. 
 
Return all pairs from a SingletonContainer. 
 
virtual void reset()
Reset counters, as if at the start of an optimize run. 
 
Classes to handle individual model particles. (Note that implementation of inline functions is in int...
 
#define IMP_OBJECTS(Name, PluralName)
Define the types for storing lists of object pointers. 
 
Shared optimizer state that is invoked upon commitment of new coordinates. 
 
int Int
Basic integer value.