-
Notifications
You must be signed in to change notification settings - Fork 6
/
Copy pathrxnftr.h
86 lines (70 loc) · 2.09 KB
/
rxnftr.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
#ifndef RXNFTR_H
#define RXNFTR_H
#include "atom.h"
#include "icoord.h"
#include "stringtools.h"
#include "utils.h"
#include <string>
#include <vector>
#include <iostream>
#include <iomanip>
#include <fstream>
#include <stdio.h>
#include <cmath>
#include <cstdlib>
class RXNFTR {
private:
int nadd;
int nbrk;
int nchg;
int nswp;
ATOM* atoms;
int new_atom;
int max_atoms;
int maxat;
ATOM at1;
ATOM at2;
ATOM* at1d;
ATOM* at2d;
double atom_match(int e1, int c1, double q1, int add1, int brk1, int swp1, int nat1, ATOM* at1, ATOM at2);
double atom_match(int e1, int c1, double q1, int add1, int brk1, int swp1, int nat1, ATOM* at1, ATOM at2, int* matched);
void get_attached(ICoord ic1, int a1, ATOM& atd1);
int get_attached_all(ICoord ic1, int a1, ATOM* atd);
public:
int p;
int natoms;
int quiet;
void init(int nelem1);
void reset(int nelem1);
void update(int nelem1);
void print_atoms();
int count_parameters();
double get_value_0(ICoord ic1, int nadd1, int* add1, int nbrks1, int* brks1);
double get_value_1(ICoord ic1, int nadd1, int* add1, int nbrks1, int* brks1);
void set_element(int wa, int e1);
void set_coordn(int wa, int c1);
void set_q(int wa, double q1);
void set_qsig(int wa, double qsig1);
void set_abs(int wa, int add1, int brk1, int swp1);
int get_element(int wa);
int get_coordn(int wa);
double get_q(int wa);
double get_qsig(int wa);
void get_abs(int wa, int& add1, int& brk1, int& swp1);
void set_attached(int wa, ATOM at1);
void set_attached(int wa, int e1);
void set_attached(int wa, int e1, int c1);
void set_attached(int wa, int e1, int c1, double q1);
void set_attaching(int wa, ATOM at2);
void set_attaching(int wa, int e1);
void set_attaching(int wa, int e1, int c1);
void set_attaching(int wa, int e1, int c1, double q1);
void delete_attached(int wa);
void delete_attaching(int wa);
int get_nattached(int wa);
int get_nattaching(int wa);
void get_attached(int wa, ATOM& at1);
void get_attaching(int wa, ATOM& at2);
void freemem();
};
#endif