BALL  1.4.79
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
Protected Attributes | List of all members
BALL::HaighMallionShiftProcessor Class Reference

#include <BALL/NMR/haighMallionShiftProcessor.h>

Inheritance diagram for BALL::HaighMallionShiftProcessor:
BALL::ShiftModule BALL::UnaryProcessor< Composite > BALL::UnaryFunctor< Composite, Processor::Result >

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 ()
 
- Public Member Functions inherited from BALL::ShiftModule
 ShiftModule ()
 
 ShiftModule (Parameters &parameters, const String &name="")
 
 ShiftModule (const ShiftModule &module)
 
virtual ~ShiftModule ()
 
virtual void clear ()
 
const ShiftModuleoperator= (const ShiftModule &module)
 
void setName (const String &name)
 
const StringgetName () const
 
void setParameters (Parameters &parameters)
 
const ParametersgetParameters () 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
 

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_
 
- Protected Attributes inherited from BALL::ShiftModule
String module_name_
 
Parametersparameters_
 
bool valid_
 

Additional Inherited Members

- Public Types inherited from BALL::UnaryFunctor< Composite, Processor::Result >
typedef Processor::Result result_type
 
typedef Composite argument_type
 
typedef Compositeargument_reference
 
typedef const Compositeconst_argument_reference
 
typedef Compositeargument_pointer
 
typedef const Compositeconst_argument_pointer
 

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

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

bool BALL::HaighMallionShiftProcessor::all_hydrogen_are_targets_
protected

Definition at line 167 of file haighMallionShiftProcessor.h.

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.

float BALL::HaighMallionShiftProcessor::cut_off2_
protected

Definition at line 160 of file haighMallionShiftProcessor.h.

float BALL::HaighMallionShiftProcessor::default_hydrogen_target_nucleus_factor_
protected

Definition at line 189 of file haighMallionShiftProcessor.h.

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

Definition at line 206 of file haighMallionShiftProcessor.h.

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

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.

bool BALL::HaighMallionShiftProcessor::H_influenced_by_all_effectors_
protected

Definition at line 137 of file haighMallionShiftProcessor.h.

bool BALL::HaighMallionShiftProcessor::HA_influenced_by_all_effectors_
protected

Definition at line 145 of file haighMallionShiftProcessor.h.

StringHashMap<float> BALL::HaighMallionShiftProcessor::intensity_factors_
protected

Definition at line 210 of file haighMallionShiftProcessor.h.

float BALL::HaighMallionShiftProcessor::negative_ringcurrent_factor_
protected

Definition at line 193 of file haighMallionShiftProcessor.h.

bool BALL::HaighMallionShiftProcessor::project_target_to_ring_plane_
protected

Definition at line 181 of file haighMallionShiftProcessor.h.

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.

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

Definition at line 214 of file haighMallionShiftProcessor.h.

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

Definition at line 218 of file haighMallionShiftProcessor.h.

StringHashMap<float> BALL::HaighMallionShiftProcessor::target_nucleus_factors_
protected

Definition at line 185 of file haighMallionShiftProcessor.h.

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

Definition at line 222 of file haighMallionShiftProcessor.h.

bool BALL::HaighMallionShiftProcessor::use_cut_off_
protected

Definition at line 152 of file haighMallionShiftProcessor.h.