00001 // -*- Mode: C++; tab-width: 2; -*- 00002 // vi: set ts=2: 00003 // 00004 // $Id: chargeRuleProcessor.h,v 1.14 2005/12/23 17:01:51 amoll Exp $ 00005 // 00006 00007 // Molecular Mechanics: rule-based assignment of charges 00008 00009 #ifndef BALL_MOLMEC_COMMON_CHARGERULEPROCESSOR_H 00010 #define BALL_MOLMEC_COMMON_CHARGERULEPROCESSOR_H 00011 00012 #ifndef BALL_MOLMEC_COMMON_RULEPROCESSOR_H 00013 # include <BALL/MOLMEC/COMMON/ruleProcessor.h> 00014 #endif 00015 00016 namespace BALL 00017 { 00022 class BALL_EXPORT ChargeRuleProcessor 00023 : public RuleProcessor 00024 { 00025 public: 00026 00027 BALL_CREATE(ChargeRuleProcessor) 00028 00029 00032 00035 ChargeRuleProcessor(); 00036 00039 ChargeRuleProcessor(INIFile& file, const String& prefix = "ChargeRules"); 00040 00043 ChargeRuleProcessor(const ChargeRuleProcessor& rule_processor); 00044 00047 ~ChargeRuleProcessor(); 00048 00050 00053 00056 virtual Processor::Result operator () (Atom& atom); 00057 00059 00060 }; 00061 } // namespace BALL 00062 00063 00064 #endif // BALL_MOLMEC_COMMON_CHARGERULEPROCESSOR_H