BALL 1.5.0
Loading...
Searching...
No Matches
ruleProcessor.h
Go to the documentation of this file.
1// -*- Mode: C++; tab-width: 2; -*-
2// vi: set ts=2:
3//
4// $Id: ruleProcessor.h,v 1.17 2005/12/23 17:01:52 amoll Exp $
5//
6
7// Molecular Mechanics: rule-based assignment of properties (typenames, charges, radii, etc.)
8
9#ifndef BALL_MOLMEC_COMMON_RULEPROCESSOR_H
10#define BALL_MOLMEC_COMMON_RULEPROCESSOR_H
11
12#ifndef BALL_MOLMEC_COMMON_RULEEVALUATOR_H
14#endif
15
16#ifndef BALL_CONCEPT_PROCESSOR_H
18#endif
19
20namespace BALL
21{
27 : public UnaryProcessor<Atom>
28 {
29 public:
30
32
33
36
37
40
43 RuleProcessor(INIFile& file, const String& prefix);
44
47 RuleProcessor(const RuleProcessor& rule_processor);
48
52
55 void clear();
56
59 void destroy();
60
62
65
68 bool initialize(INIFile& file, const String& prefix);
69
71
74
77 const RuleProcessor& operator = (const RuleProcessor& rule_processor);
78
81 void set(const RuleProcessor& rule_processor);
82
84
87
90 virtual bool start();
91
94 virtual bool finish();
95
98 String evaluate(const Atom& atom);
99
101
104
106 bool isValid() const;
107
109 void dump(std::ostream& s = std::cout) const;
110
112
113 protected:
114
115 //_
116 RuleEvaluator evaluator_;
117
118 //_
119 bool valid_;
120 };
121} // namespace BALL
122
123
124#endif // BALL_MOLMEC_COMMON_RULEPROCESSOR_H
#define BALL_CREATE(name)
Definition create.h:62
STL namespace.
#define BALL_EXPORT