BALL 1.5.0
Loading...
Searching...
No Matches
haighMallionShiftProcessor.h
Go to the documentation of this file.
1// -*- Mode: C++; tab-width: 2; -*-
2// vi: set ts=2:
3//
4// $Id: haighMallionShiftProcessor.h,v 1.16.10.6 2007-04-12 13:53:54 anne Exp $
5//
6
7#ifndef BALL_COMMON_H
8# include <BALL/common.h>
9#endif
10
11#ifndef BALL_CONCEPT_PROCESSOR_H
13#endif
14
15#ifndef BALL_NMR_SHIFTMODULE_H
17#endif
18
19#ifndef BALL_DATATYPE_STRINGHASHMAP_H
21#endif
22
23#include <list>
24
25namespace BALL
26{
31 : public ShiftModule
32 {
33 public:
34
36
37
40
41
44 static const char* PROPERTY__RING_CURRENT_SHIFT;
45
47
50
54
58
62
63
65
68
85 virtual void init();
86
88
89
91
94
100 virtual bool start();
101
102
108 virtual Processor::Result operator () (Composite& atom);
109
110
123 virtual bool finish();
124
125
127
128
129 protected:
130
131 /*_ A flag indicating whether Hydrogens are effected by all effectors or
132 just by effectors of the same residue.
133 Set this flag by specifying the option {\tt H_influenced_by_all_effectors = true} in
134 the HaighMallionRingCurrent section of the parameter file.
135 Default is false.
136 */
137 bool H_influenced_by_all_effectors_;
138
139 /*_ A flag indicating whether HA Hydrogens are effected by all effectors or
140 just by effectors of the same residue.
141 Set this flag by specifying the option {\tt HA_influenced_by_all_effectors = true} in
142 the HaighMallionRingCurrent section of the parameter file.
143 Default is false.
144 */
145 bool HA_influenced_by_all_effectors_;
146
147 /*_ A flag indicating whether a cutoff for the ring current effect is used.
148 Set this flag by specifying the option {\tt use_cut_off = true} in
149 the HaighMallionRingCurrent section of the parameter file.
150 Default is false.
151 */
152 bool use_cut_off_;
153
154
155 /*_ A cut off value for the ring current effect computation via Haigh Mallion.
156 Set this flag by specifying the option {\tt cut_off = 15.} in
157 the HaighMallionRingCurrent section of the parameter file.
158 Default is 15.*15.
159 */
160 float cut_off2_;
161
162 /*_ A flag indicating whether all hydrogens are targets.
163 Set this flag by specifying the option {\tt all_hydrogen_are_targets = true} in
164 the HaighMallionRingCurrent section of the parameter file.
165 Default is false.
166 */
167 bool all_hydrogen_are_targets_;
168
173 bool correct_CA_shifts_;
174
175 /*_ A flag indicating whether for the computation of the ring current effect
176 the target has to be projected onto the effector ring plane or not.
177 Set this flag by specifying the option {\tt project_target_to_ring_plane = true} in
178 the HaighMallionRingCurrent section of the parameter file.
179 Default is false.
180 */
181 bool project_target_to_ring_plane_;
182
183 /*_ The values of the target nucleus factors F.
184 */
185 StringHashMap<float> target_nucleus_factors_;
186
187 /*_ The default value of the target nucleus factors F for hydrogen atoms.
188 */
189 float default_hydrogen_target_nucleus_factor_;
190
191 /*_ The default factor of negative ring current factors
192 */
193 float negative_ringcurrent_factor_ ;
194
195 /*_ The effector residues stored as a vector of atoms the collected by {\tt operator ()}.
196 */
197 std::vector< std::vector<Atom*> > effectors_;
198
199 /*_ The effector residue types stored as a vector of strings collected by {\tt operator ()}.
200 This is necessary to allow, e.g., TRP1 and TRP2 as two different kinds of rings.
201 */
202 std::vector<String> effector_types_;
203
204 /*_ The effector names collected from the ini-file by {\tt init ()}.
205 */
206 std::vector<BALL::String> effector_names_;
207
208 /*_ The intensities of the effecting residues collected from the ini-file by {\tt init ()}.
209 */
210 StringHashMap<float> intensity_factors_;
211
212 /*_ The ring atom names of the effecting residues collected from the ini-file by {\tt init ()}.
213 */
214 std::vector< std::vector<BALL::String> > ring_atoms_;
215
216 /*_ The targeted atom names collected by {\tt init ()}.
217 */
218 std::vector< BALL::String> target_names_;
219
220 /*_ The targeted atoms collected by {\tt operator ()}.
221 */
222 std::vector<Atom* > targets_;
223
224 private:
225
226 void printParameters_();
227 void printEffectors_();
228 void printTargets_();
229 void postprocessing_();
230
231 };
232
233} // namespace BALL
234
#define BALL_CREATE(name)
Definition create.h:62
STL namespace.
#define BALL_EXPORT