9 #ifndef IMPNPCTRANSPORT_SITES_PAIR_SCORE_PARAMS_H
10 #define IMPNPCTRANSPORT_SITES_PAIR_SCORE_PARAMS_H
12 #include "npctransport_config.h"
16 IMPNPCTRANSPORT_BEGIN_NAMESPACE
31 bool is_orientational;
45 set_force_coefficient(k_coefficient);
46 set_sigma1_max(sigma1_max_deg);
47 set_sigma2_max(sigma2_max_deg);
48 update_is_orientational();
51 void set_range(
double r){
56 void set_force_coefficient(
double k){
61 void set_sigma1_max(
double sigma1_max_deg){
62 double sigma1_max_rad= sigma1_max_deg * 4.0 * atan (1.0) / 180.0;
63 cosSigma1_max=std::cos(sigma1_max_rad);
64 update_is_orientational();
67 void set_sigma2_max(
double sigma2_max_deg){
68 double sigma2_max_rad= sigma2_max_deg * 4.0 * atan (1.0) / 180.0;
69 cosSigma2_max=std::cos(sigma2_max_rad);
70 update_is_orientational();
73 void update_is_orientational(){
74 is_orientational= std::abs((cosSigma1_max-1.0) + (cosSigma2_max-1.0)) < 0.0001;
86 out <<
"sites pair score params"
89 <<
" cos(sigma1_max) " << cosSigma1_max
90 <<
" cos(sigma2_max) " << cosSigma2_max
91 <<
" is_orientational " << is_orientational
99 IMPNPCTRANSPORT_END_NAMESPACE
#define IMP_SHOWABLE_INLINE(Name, how_to_show)
Declare the methods needed by an object that can be printed.
SitesPairScoreParameters(double range, double k_coefficient, double sigma1_max_deg=0.0, double sigma2_max_deg=0.0)
A more IMP-like version of the std::vector.
#define IMP_VALUES(Name, PluralName)
Define the type for storing sets of values.
Macros to help in implementing Value objects.
Macros to help with objects that can be printed to a stream.