8 #ifndef CT_FALLOFFMGR_H
9 #define CT_FALLOFFMGR_H
39 void install(
size_t rxn,
int reactionType, shared_ptr<Falloff> f) {
41 m_offset.push_back(m_worksize);
42 m_worksize += f->workSize();
43 m_falloff.push_back(f);
54 void replace(
size_t rxn, shared_ptr<Falloff> f) {
70 for (
size_t i = 0; i < m_rxn.size(); i++) {
71 m_falloff[i]->updateTemp(t, work + m_offset[i]);
80 for (
size_t i = 0; i < m_rxn.size(); i++) {
81 double pr = values[m_rxn[i]];
85 m_falloff[i]->F(pr, work + m_offset[i]) /(1.0 + pr);
89 m_falloff[i]->F(pr, work + m_offset[i]) /(1.0 + pr);
95 std::vector<size_t> m_rxn;
96 std::vector<shared_ptr<Falloff> > m_falloff;
99 std::vector<vector_fp::difference_type> m_offset;