Loading...
Searching...
No Matches
BALL::HaighMallionShiftProcessor Class Reference
Molecular Modeling » Nuclear Magnetic Resonance Spectroscopy » Shift modules

`#include <BALL/NMR/haighMallionShiftProcessor.h>`

Inheritance diagram for BALL::HaighMallionShiftProcessor:

## Public Member Functions

Constructors and Destructors
| HaighMallionShiftProcessor ()
| HaighMallionShiftProcessor (const HaighMallionShiftProcessor &processor)
virtual | ~HaighMallionShiftProcessor ()
Accessors
virtual void | init ()
Public Member Functions inherited from BALL::ShiftModule
| ShiftModule ()
| ShiftModule (Parameters &parameters, const String &name="")
| ShiftModule (const ShiftModule &module)
virtual | ~ShiftModule ()
virtual void | clear ()
const ShiftModule & | operator= (const ShiftModule &module)
void | setName (const String &name)
const String & | getName () const
void | setParameters (Parameters &parameters)
const Parameters * | getParameters () const
bool | isValid () const
Public Member Functions inherited from BALL::UnaryProcessor< Composite >
| UnaryProcessor ()
| UnaryProcessor (const UnaryProcessor &)
virtual | ~UnaryProcessor ()

## Static Public Attributes

Enums and Constants
static const char * | PROPERTY__RING_CURRENT_SHIFT
Static Public Attributes inherited from BALL::ShiftModule
static const char * | PROPERTY__SHIFT
static const char * | PROPERTY__EXPERIMENTAL__SHIFT

## Processor specific functions.

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< float > | target_nucleus_factors_
float | default_hydrogen_target_nucleus_factor_
float | negative_ringcurrent_factor_
std::vector< std::vector< Atom * > > | effectors_
std::vector< String > | effector_types_
std::vector< BALL::String > | effector_names_
StringHashMap< float > | intensity_factors_
std::vector< std::vector< BALL::String > > | ring_atoms_
std::vector< BALL::String > | target_names_
std::vector< Atom * > | targets_
virtual bool | start ()
virtual Processor::Result | operator() (Composite &atom)
virtual bool | finish ()

## Additional Inherited Members

Public Types inherited from BALL::UnaryFunctor< ArgumentType, ResultType >
typedef ResultType | result_type
typedef ArgumentType | argument_type
typedef ArgumentType & | argument_reference
typedef const ArgumentType & | const_argument_reference
typedef ArgumentType * | argument_pointer
typedef const ArgumentType * | const_argument_pointer
String | module_name_
Parameters * | parameters_
bool | valid_

## Detailed Description

Shift assignment processor implementing Haigh Mallion theory.

Definition at line 30 of file haighMallionShiftProcessor.h.

## Constructor & Destructor Documentation

## HaighMallionShiftProcessor() [1/2]

BALL::HaighMallionShiftProcessor::HaighMallionShiftProcessor | ( |  | ) |

Default constructor.

## HaighMallionShiftProcessor() [2/2]

BALL::HaighMallionShiftProcessor::HaighMallionShiftProcessor | ( | const HaighMallionShiftProcessor & | processor | ) |

Default copy constructor.

## ~HaighMallionShiftProcessor()

virtual BALL::HaighMallionShiftProcessor::~HaighMallionShiftProcessor | ( |  | ) |

virtual

Destructor.

## Member Function Documentation

## finish()

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 {\tt 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.

## init()

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.

## operator()()

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 >.

## start()

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

## all_hydrogen_are_targets_

bool BALL::HaighMallionShiftProcessor::all_hydrogen_are_targets_

protected

Definition at line 167 of file haighMallionShiftProcessor.h.

## correct_CA_shifts_

bool BALL::HaighMallionShiftProcessor::correct_CA_shifts_

protected

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.

## cut_off2_

float BALL::HaighMallionShiftProcessor::cut_off2_

protected

Definition at line 160 of file haighMallionShiftProcessor.h.

## default_hydrogen_target_nucleus_factor_

float BALL::HaighMallionShiftProcessor::default_hydrogen_target_nucleus_factor_

protected

Definition at line 189 of file haighMallionShiftProcessor.h.

## effector_names_

std::vector<BALL::String> BALL::HaighMallionShiftProcessor::effector_names_

protected

Definition at line 206 of file haighMallionShiftProcessor.h.

## effector_types_

std::vector<String> BALL::HaighMallionShiftProcessor::effector_types_

protected

Definition at line 202 of file haighMallionShiftProcessor.h.

## effectors_

std::vector< std::vector<Atom*> > BALL::HaighMallionShiftProcessor::effectors_

protected

Definition at line 197 of file haighMallionShiftProcessor.h.

## H_influenced_by_all_effectors_

bool BALL::HaighMallionShiftProcessor::H_influenced_by_all_effectors_

protected

Definition at line 137 of file haighMallionShiftProcessor.h.

## HA_influenced_by_all_effectors_

bool BALL::HaighMallionShiftProcessor::HA_influenced_by_all_effectors_

protected

Definition at line 145 of file haighMallionShiftProcessor.h.

## intensity_factors_

StringHashMap<float> BALL::HaighMallionShiftProcessor::intensity_factors_

protected

Definition at line 210 of file haighMallionShiftProcessor.h.

## negative_ringcurrent_factor_

float BALL::HaighMallionShiftProcessor::negative_ringcurrent_factor_

protected

Definition at line 193 of file haighMallionShiftProcessor.h.

## project_target_to_ring_plane_

bool BALL::HaighMallionShiftProcessor::project_target_to_ring_plane_

protected

Definition at line 181 of file haighMallionShiftProcessor.h.

## PROPERTY__RING_CURRENT_SHIFT

const char* BALL::HaighMallionShiftProcessor::PROPERTY__RING_CURRENT_SHIFT

static

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.

## ring_atoms_

std::vector< std::vector<BALL::String> > BALL::HaighMallionShiftProcessor::ring_atoms_

protected

Definition at line 214 of file haighMallionShiftProcessor.h.

## target_names_

std::vector< BALL::String> BALL::HaighMallionShiftProcessor::target_names_

protected

Definition at line 218 of file haighMallionShiftProcessor.h.

## target_nucleus_factors_

StringHashMap<float> BALL::HaighMallionShiftProcessor::target_nucleus_factors_

protected

Definition at line 185 of file haighMallionShiftProcessor.h.

## targets_

std::vector<Atom* > BALL::HaighMallionShiftProcessor::targets_

protected

Definition at line 222 of file haighMallionShiftProcessor.h.

## use_cut_off_

bool BALL::HaighMallionShiftProcessor::use_cut_off_

protected

Definition at line 152 of file haighMallionShiftProcessor.h.