BALL::EFShiftProcessor Class Reference
[Shift modules]

#include <BALL/NMR/EFShiftProcessor.h>

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

List of all members.

Public Member Functions

Constructors and Destructors.

 EFShiftProcessor ()
 EFShiftProcessor (const EFShiftProcessor &processor)
virtual ~EFShiftProcessor ()
Accessors.

virtual void init ()
Processor specific functions.

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

Static Public Attributes

Enums and Constants

static const char * PROPERTY__EF_SHIFT

Protected Attributes

std::vector< std::pair< Atom
*, Atom * > > 
bond_list_
std::vector< Indexexpression_number_
std::list< Atom * > effector_list_
std::vector< Expressionfirst_atom_expressions_
std::vector< Expressionsecond_atom_expressions_
std::vector< floatepsilon1_
std::vector< floatepsilon2_
StringHashMap< floatcharge_map_
bool exclude_residue_field_
bool exclude_adjacent_residue_field_
bool carbonyl_influences_amide_field_
bool exclude_solvent_field_
float cut_off2_
float charge_factor_

Private Member Functions

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

Detailed Description

Shift assignment processor implementing the electric field effect.

Definition at line 25 of file EFShiftProcessor.h.


Constructor & Destructor Documentation

BALL::EFShiftProcessor::EFShiftProcessor (  ) 

Default constructor.

BALL::EFShiftProcessor::EFShiftProcessor ( const EFShiftProcessor processor  ) 

Copy constructor.

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

Destructor.


Member Function Documentation

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

Processor finish method. This method performs the chemical shift calculation. It iterates over all bonds stored in bond_list_ . If the two bond atoms match a pair of expressions from first_atom_expressions_ and second_atom_expressions_ , the electric field vector is calculated at the bond position using Coulomb's law and the charges and positions of the atoms in the effector_list_ . The chemical shift induced by the electric field effect is calculated as ${EF} = * E_z + * E^2 $ where constants $$ and $$ are read from the parameter file (section ElectricFieldEffect). The chemical shift is stored in the {first} atom using the named property ShiftModule::PROPERTY__SHIFT and in the named property PROPERTY__EF_SHIFT .

Returns:
bool, false if parameters_ == 0

Reimplemented from BALL::ShiftModule.

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

Parameter initalization. Use this method to implement the extraction and initialization of the module's parameters. init is called by ShiftModel as soon as the ShiftModule is constructed and parameters and name are assigned.

All implementations in derived classes should set the valid_ flag to true if the initialization was successful and to false otherwise.

Reimplemented from BALL::ShiftModule.

virtual Processor::Result BALL::EFShiftProcessor::operator() ( Composite composite  )  [virtual]

Processor operator (). This method sets the charges for all atoms it encounters. The charges are given are given in parameter file (section Charges). Charged atoms are stored in the atom list effector_list_ . All tentative target bonds, specified in the parameter file (section ElectricFieldEffect), are stored in bond_list_ .

Returns:
Processor::CONTINUE

Reimplemented from BALL::UnaryProcessor< Composite >.

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

Processor start method. This method clears the bond and effector list. It fails if no parameters were assigned.

Returns:
bool, false if parameters_ == 0

Reimplemented from BALL::ShiftModule.


Member Data Documentation

std::vector<std::pair<Atom*, Atom*> > BALL::EFShiftProcessor::bond_list_ [protected]

Definition at line 147 of file EFShiftProcessor.h.

Definition at line 196 of file EFShiftProcessor.h.

Definition at line 227 of file EFShiftProcessor.h.

Definition at line 175 of file EFShiftProcessor.h.

Definition at line 214 of file EFShiftProcessor.h.

Definition at line 155 of file EFShiftProcessor.h.

std::vector<float> BALL::EFShiftProcessor::epsilon1_ [protected]

Definition at line 167 of file EFShiftProcessor.h.

std::vector<float> BALL::EFShiftProcessor::epsilon2_ [protected]

Definition at line 171 of file EFShiftProcessor.h.

Definition at line 189 of file EFShiftProcessor.h.

Definition at line 182 of file EFShiftProcessor.h.

Definition at line 204 of file EFShiftProcessor.h.

Definition at line 151 of file EFShiftProcessor.h.

Definition at line 159 of file EFShiftProcessor.h.

A symbolic name for the electric field contribution to the chemical shift.

See also:
ShiftModule::PROPERTY__SHIFT

Definition at line 39 of file EFShiftProcessor.h.

Definition at line 163 of file EFShiftProcessor.h.

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