anisotropyShiftProcessor.h

Go to the documentation of this file.
00001 // -*- Mode: C++; tab-width: 2; -*-
00002 // vi: set ts=2:
00003 //
00004 // $Id: anisotropyShiftProcessor.h,v 1.20.20.1 2007/08/07 17:22:59 aleru Exp $
00005 //
00006 
00007 #ifndef BALL_NMR_ANISOTROPYSHIFTPROCESSOR_H
00008 #define BALL_NMR_ANISOTROPYSHIFTPROCESSOR_H
00009 
00010 #ifndef BALL_KERNEL_BOND_H
00011 # include <BALL/KERNEL/bond.h>
00012 #endif
00013 
00014 #ifndef BALL_KERNEL_ATOM_H
00015 # include<BALL/KERNEL/atom.h>
00016 #endif
00017 
00018 #ifndef BALL_NMR_SHIFT_MODULE_H
00019 # include<BALL/NMR/shiftModule.h>
00020 #endif
00021 
00022 #include <list>
00023 
00024 namespace BALL 
00025 {   
00029   class BALL_EXPORT AnisotropyShiftProcessor
00030     : public ShiftModule
00031   {
00032     public:
00033 
00034     BALL_CREATE(AnisotropyShiftProcessor)
00035 
00036     
00039 
00043     static const char* PROPERTY__ANISOTROPY_SHIFT;
00044     
00046 
00049 
00052     AnisotropyShiftProcessor();
00053 
00056     AnisotropyShiftProcessor(const AnisotropyShiftProcessor& processor);
00057     
00060     virtual ~AnisotropyShiftProcessor();
00061     
00063 
00066 
00122     virtual bool finish();
00123 
00135     virtual Processor::Result operator() (Composite& composite);
00136 
00138 
00141 
00144     virtual void init();
00145 
00147     
00148     protected:
00149     std::list<const Atom*> proton_list_;  
00150     std::list<const Bond*> eff_list_;
00151     std::list<const Bond*> eff_list_2_;
00152     bool ignore_other_chain_;
00153   };
00154   
00155 } // namespace BALL
00156 
00157 #endif // BALL_NMR_ANISOTROPYSHIFTPROCESSOR_H