00001
00002
00003
00004
00005
00006
00007 #ifndef BALL_COMMON_H
00008 # include <BALL/common.h>
00009 #endif
00010
00011 #ifndef BALL_CONCEPT_PROCESSOR_H
00012 # include <BALL/CONCEPT/processor.h>
00013 #endif
00014
00015 #ifndef BALL_NMR_SHIFT_MODULE_H
00016 # include<BALL/NMR/shiftModule.h>
00017 #endif
00018
00019 #include <list>
00020
00021 namespace BALL
00022 {
00026 class BALL_EXPORT HaighMallionShiftProcessor
00027 : public ShiftModule
00028 {
00029 public:
00030
00031 BALL_CREATE(HaighMallionShiftProcessor)
00032
00033
00036
00040 static const char* PROPERTY__RING_CURRENT_SHIFT;
00041
00043
00046
00049 HaighMallionShiftProcessor();
00050
00053 virtual ~HaighMallionShiftProcessor();
00054
00056
00059
00079 virtual bool finish();
00080
00085 virtual Processor::Result operator () (Composite& atom);
00086
00088
00091
00094 virtual void init();
00095
00097
00098 private:
00099
00100 std::list<Atom*> proton_list_;
00101 std::list<Residue*> aromat_list_;
00102 String **asrings_;
00103
00104 static const float big_loop_radius_;
00105 static const float little_loop_radius_;
00106 static const float B_;
00107 };
00108
00109 }
00110