BALL::HaighMallionShiftProcessor Class Reference
[Shift modules]

#include <BALL/NMR/haighMallionShiftProcessor.h>

Inheritance diagram for BALL::HaighMallionShiftProcessor:
Inheritance graph
[legend]

List of all members.

Public Member Functions

Constructors and Destructors

 HaighMallionShiftProcessor ()
 HaighMallionShiftProcessor (const HaighMallionShiftProcessor &processor)
virtual ~HaighMallionShiftProcessor ()
Accessors

virtual void init ()
Processor specific functions.

virtual bool start ()
virtual Processor::Result operator() (Composite &atom)
virtual bool finish ()

Static Public Attributes

Enums and Constants

static const char * PROPERTY__RING_CURRENT_SHIFT

Protected Attributes

bool H_influenced_by_all_effectors_
bool HA_influenced_by_all_effectors_
bool use_cut_off_
float cut_off2_
bool all_hydrogen_are_targets_
bool correct_CA_shifts_
bool project_target_to_ring_plane_
StringHashMap< floattarget_nucleus_factors_
float default_hydrogen_target_nucleus_factor_
float negative_ringcurrent_factor_
std::vector< std::vector< Atom * > > effectors_
std::vector< Stringeffector_types_
std::vector< BALL::Stringeffector_names_
StringHashMap< floatintensity_factors_
std::vector< std::vector
< BALL::String > > 
ring_atoms_
std::vector< BALL::Stringtarget_names_
std::vector< Atom * > targets_

Private Member Functions

void printParameters_ ()
void printEffectors_ ()
void printTargets_ ()
void postprocessing_ ()

Detailed Description

Shift assignment processor implementing Haigh Mallion theory.

Definition at line 30 of file haighMallionShiftProcessor.h.


Constructor & Destructor Documentation

BALL::HaighMallionShiftProcessor::HaighMallionShiftProcessor (  ) 

Default constructor.

BALL::HaighMallionShiftProcessor::HaighMallionShiftProcessor ( const HaighMallionShiftProcessor processor  ) 

Default copy constructor.

virtual BALL::HaighMallionShiftProcessor::~HaighMallionShiftProcessor (  )  [virtual]

Destructor.


Member Function Documentation

virtual bool BALL::HaighMallionShiftProcessor::finish (  )  [virtual]

Finish method. If no targets or effectors of the ring current effect were found during the application of the { operator()}, no ring current shift effects are computed. Otherwise for all target effector pairs (e t) the current ring shift contribution is computed as

shift = intensity_factors_[effector_types_[e]] * target_nucleus_factor[t] * geometrical_factor;

and added to the current shift of the target atom t stored in the named property PROPERTY__RING_CURRENT_SHIFT and the named property ShiftModule::PROPERTY__SHIFT .

Reimplemented from BALL::ShiftModule.

virtual void BALL::HaighMallionShiftProcessor::init (  )  [virtual]

Initialization method. This method reads the parameter section "HaighMallionRingCurrent" and "RingCurrentTargets" and parses its content. The effector residue names are stored in effector_names_, the corresponding intensity factors are stored in intensity_factors_, and the effectors ring atoms are stored in ring_atoms_. The ring current target atom names and factors are stored in target_names_ and target_nucleus_factors_. Furthermore the flags H_influenced_by_all_effectors_ (default false) HA_influenced_by_all_effectors_ (default false) use_cut_off_ (default false) cut_off_ (default 0.) project_target_to_ring_plane_ (default false) all_hydrogens_are_targets_ (default false) default_hydrogen_target_nucleus_factor_ (default 5.13) negative_ringcurrent_factor_ (default 1.1) are read.

Reimplemented from BALL::ShiftModule.

virtual Processor::Result BALL::HaighMallionShiftProcessor::operator() ( Composite atom  )  [virtual]

Application method. Works as a collector: It stores the systems aromatic rings in a vector of vectors effectors_ and each target (H, N or C) in a vector called targets_.

Reimplemented from BALL::UnaryProcessor< Composite >.

void BALL::HaighMallionShiftProcessor::postprocessing_ (  )  [private]
void BALL::HaighMallionShiftProcessor::printEffectors_ (  )  [private]
void BALL::HaighMallionShiftProcessor::printParameters_ (  )  [private]
void BALL::HaighMallionShiftProcessor::printTargets_ (  )  [private]
virtual bool BALL::HaighMallionShiftProcessor::start (  )  [virtual]

Processor start method. This method clears the targets and effectors lists. It fails if no parameters were assigned.

Returns:
bool, false if parameters_ == 0

Reimplemented from BALL::ShiftModule.


Member Data Documentation

Definition at line 167 of file haighMallionShiftProcessor.h.

A flag indicating whether CA shifts should be corrected by the HA shift values.

Default is false.

Definition at line 173 of file haighMallionShiftProcessor.h.

Definition at line 160 of file haighMallionShiftProcessor.h.

Definition at line 189 of file haighMallionShiftProcessor.h.

Definition at line 206 of file haighMallionShiftProcessor.h.

Definition at line 202 of file haighMallionShiftProcessor.h.

std::vector< std::vector<Atom*> > BALL::HaighMallionShiftProcessor::effectors_ [protected]

Definition at line 197 of file haighMallionShiftProcessor.h.

Definition at line 137 of file haighMallionShiftProcessor.h.

Definition at line 145 of file haighMallionShiftProcessor.h.

Definition at line 210 of file haighMallionShiftProcessor.h.

Definition at line 193 of file haighMallionShiftProcessor.h.

Definition at line 181 of file haighMallionShiftProcessor.h.

A symbolic name for the ring current contribution to the chemical shift.

See also:
ShiftModule::PROPERTY__SHIFT

Definition at line 44 of file haighMallionShiftProcessor.h.

std::vector< std::vector<BALL::String> > BALL::HaighMallionShiftProcessor::ring_atoms_ [protected]

Definition at line 214 of file haighMallionShiftProcessor.h.

Definition at line 218 of file haighMallionShiftProcessor.h.

Definition at line 185 of file haighMallionShiftProcessor.h.

Definition at line 222 of file haighMallionShiftProcessor.h.

Definition at line 152 of file haighMallionShiftProcessor.h.

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines
Generated by  doxygen 1.6.3