28 #ifndef _chemistry_molecule_coor_h
29 #define _chemistry_molecule_coor_h
38 #include <math/scmat/matrix.h>
39 #include <math/optimize/transform.h>
40 #include <chemistry/molecule/molecule.h>
49 static double bohr_conv;
50 static double radian_conv;
81 virtual const char*
label()
const;
83 virtual double value()
const;
89 virtual const char*
ctype()
const = 0;
122 std::vector<double> coef_;
123 std::vector<Ref<IntCoor> > coor_;
156 const char*
ctype()
const;
191 std::vector<Ref<IntCoor> > coor_;
256 double linear_bend_thres_;
257 double linear_tors_thres_;
258 double radius_scale_factor_;
260 void init_constants();
262 double cos_ijk(
Molecule& m,
int i,
int j,
int k);
264 int nearest_contact(
int i,
Molecule& m);
380 virtual void print_simples(std::ostream& =
ExEnv::out0())
const = 0;
453 int*& is_totally_symmetric);
481 int only_totally_symmetric_;
482 double symmetry_tolerance_;
483 double simple_tolerance_;
484 double coordinate_tolerance_;
485 double cartesian_tolerance_;
494 int given_fixed_values_;
499 int max_update_steps_;
500 double max_update_disp_;
513 int form_print_simples_;
514 int form_print_variable_;
515 int form_print_constant_;
516 int form_print_molecule_;
650 virtual void print_simples(std::ostream& =
ExEnv::out0())
const;
651 virtual void print_variable(std::ostream& =
ExEnv::out0())
const;
652 virtual void print_constant(std::ostream& =
ExEnv::out0())
const;
671 int change_coordinates_;
673 int transform_hessian_;
778 virtual void print_simples(std::ostream& =
ExEnv::out0())
const;