00001
00002
00003
00004
00005
00006
00007 #ifndef BALL_NMR_HBONDSHIFTPROCESSOR_H
00008 #define BALL_NMR_HBONDSHIFTPROCESSOR_H
00009
00010 #ifndef BALL_KERNEL_PTE_H
00011 # include <BALL/KERNEL/PTE.h>
00012 #endif
00013
00014 #ifndef BALL_KERNEL_BOND_H
00015 # include <BALL/KERNEL/bond.h>
00016 #endif
00017
00018 #ifndef BALL_KERNEL_ATOM_H
00019 # include <BALL/KERNEL/atom.h>
00020 #endif
00021
00022 #ifndef BALL_NMR_SHIFT_MODULE_H
00023 # include <BALL/NMR/shiftModule.h>
00024 #endif
00025
00026 #ifndef BALL_FORMAT_PARAMETERSECTION_H
00027 # include <BALL/FORMAT/parameterSection.h>
00028 #endif
00029
00030 namespace BALL
00031 {
00035 class BALL_EXPORT HBondShiftProcessor
00036 : public ShiftModule
00037 {
00038 public:
00039 BALL_CREATE(HBondShiftProcessor)
00040
00041
00044
00045 static const char* PROPERTY__HBOND_SHIFT;
00046
00048
00051
00054 HBondShiftProcessor()
00055 ;
00056
00059 HBondShiftProcessor(const HBondShiftProcessor& processor)
00060 ;
00061
00064 virtual ~HBondShiftProcessor()
00065 ;
00066
00068
00071
00079 virtual void init();
00080
00082
00085
00088 virtual bool start();
00089
00094 virtual Processor::Result operator () (Composite& composite);
00095
00096
00109 virtual bool finish();
00110
00112
00113 protected:
00114
00117 std::list<Atom*> donor_list_;
00118
00121 std::list<Atom*> acceptor_list_;
00122
00125 float a_;
00126
00129 float b_;
00130
00133 float minimum_bond_length_;
00134
00137 float maximum_bond_length_;
00138 };
00139 }
00140
00141 #endif