00001 // -*- Mode: C++; tab-width: 2; -*- 00002 // vi: set ts=2: 00003 // 00004 // $Id: randomCoilShiftProcessor.h,v 1.16.10.2 2007-04-12 13:53:55 anne Exp $ 00005 // 00006 00007 #ifndef BALL_NMR_SHIFTMODULE_H 00008 # include<BALL/NMR/shiftModule.h> 00009 #endif 00010 00011 #ifndef BALL_DATAYTPE_STRINGHASHMAP_H 00012 # include<BALL/DATATYPE/stringHashMap.h> 00013 #endif 00014 00015 namespace BALL 00016 { 00020 class BALL_EXPORT RandomCoilShiftProcessor 00021 : public ShiftModule 00022 { 00023 public: 00024 00025 BALL_CREATE(RandomCoilShiftProcessor) 00026 00027 00030 00034 static const char* PROPERTY__RANDOM_COIL_SHIFT; 00035 00037 00040 00043 RandomCoilShiftProcessor(); 00044 00047 RandomCoilShiftProcessor(const RandomCoilShiftProcessor& processor); 00048 00051 virtual ~RandomCoilShiftProcessor(); 00052 00054 00057 00065 virtual void init(); 00066 00068 00071 00079 virtual Processor::Result operator () (Composite& composite); 00080 00082 00083 protected: 00084 00085 /*_ The hash map containing the atom names and the random coil shifts. 00086 */ 00087 StringHashMap<float> shift_map_; 00088 private: 00089 void postprocessing_() throw(); 00090 System* system_; 00091 00092 }; 00093 00094 } // namespace BALL