BALL  1.4.2
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
johnsonBoveyShiftProcessor.h
Go to the documentation of this file.
1 // -*- Mode: C++; tab-width: 2; -*-
2 // vi: set ts=2:
3 //
4 // $Id: johnsonBoveyShiftProcessor.h,v 1.18 2005/12/23 17:01:56 amoll Exp $
5 //
6 
7 #ifndef BALL_COMMON_H
8 # include <BALL/common.h>
9 #endif
10 
11 #ifndef BALL_KERNEL_EXPRESSION_H
12 # include <BALL/KERNEL/expression.h>
13 #endif
14 
15 #ifndef BALL_NMR_SHIFTMODULE_H
16 # include <BALL/NMR/shiftModule.h>
17 #endif
18 
19 #ifndef BALL_DATATYPE_STRINGHASHMAP_H
21 #endif
22 
23 #ifndef BALL_FORMAT_PARAMETERS_H
24 # include <BALL/FORMAT/parameters.h>
25 #endif
26 
27 #ifndef BALL_FORMAT_PARAMETERSECTION_H
29 #endif
30 
31 #include <list>
32 
33 namespace BALL
34 {
39  : public ShiftModule
40  {
41  public:
42 
44 
45 
48 
51  {
52  double radius;
53  double intensity;
55  std::vector<String> atom_names;
56 
57  bool operator == (const Ring& ring) const;
58  bool operator != (const Ring& ring) const { return !(*this == ring);}
59  } ;
60 
62 
66 
70  static const char* PROPERTY__RING_CURRENT_SHIFT;
72 
73 
77 
81 
84  virtual ~JohnsonBoveyShiftProcessor();
85 
87 
90 
93  virtual bool start();
94 
97  virtual bool finish();
98 
101  virtual Processor::Result operator () (Composite& composite);
102 
104 
107 
110  virtual void init();
111 
113 
114  protected:
115 
116  std::list<Atom*> proton_list_;
117  std::list<Atom*> atom_list_;
118  std::list<Residue*> aromat_list_;
121  std::vector<Expression> expressions_;
122 
123  double carlsonEllipticalIntegral1_(double, double, double); // Carlson elliptical Integral of 1st kind
124  double carlsonEllipticalIntegral2_(double, double, double); // Carlson elliptical Integral of 2nd kind
125  double legendreEllipticalIntegral1_(double, double); // Legendre elliptical Integral of 1st kind
126  double legendreEllipticalIntegral2_(double, double); // Legendre elliptical Integral of 2nd kind
127  };
128 
129 } // namespace BALL