BALL  1.4.2
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
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
17 # include <BALL/CONCEPT/processor.h>
18 #endif
19 
20 namespace BALL
21 {
27  : public UnaryProcessor<Atom>
28  {
29  public:
30 
32 
33 
36 
39  RuleProcessor();
40 
43  RuleProcessor(INIFile& file, const String& prefix);
44 
47  RuleProcessor(const RuleProcessor& rule_processor);
48 
51  ~RuleProcessor();
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  //_
117 
118  //_
119  bool valid_;
120  };
121 } // namespace BALL
122 
123 
124 #endif // BALL_MOLMEC_COMMON_RULEPROCESSOR_H