haighMallionShiftProcessor.h

Go to the documentation of this file.
00001 // -*- Mode: C++; tab-width: 2; -*-
00002 // vi: set ts=2:
00003 //
00004 // $Id: haighMallionShiftProcessor.h,v 1.16 2005/12/23 17:01:56 amoll Exp $
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 } // namespace BALL
00110