#include <EFShiftProcessor.h>
Inheritance diagram for EFShiftProcessor:
Public Member Functions | |
Constructors and Destructors. | |
EFShiftProcessor () throw () | |
Default constructor. | |
EFShiftProcessor (const EFShiftProcessor &processor) throw () | |
Copy constructor. | |
virtual | ~EFShiftProcessor () throw () |
Destructor. | |
Accessors. | |
virtual void | init () throw () |
Initialization method. | |
Processor specific functions. | |
virtual bool | start () throw () |
Processor start method. | |
virtual Processor::Result | operator() (Composite &composite) throw () |
operator (). | |
virtual bool | finish () throw () |
Finish method. | |
Static Public Attributes | |
Enums and Constants | |
const char * | PROPERTY__EF_SHIFT |
A symbolic name for the electric field contribution to the chemical shift. | |
Protected Attributes | |
std::list< Bond * > | bond_list_ |
std::list< Atom * > | effector_list_ |
std::vector< Expression > | first_atom_expressions_ |
std::vector< Expression > | second_atom_expressions_ |
std::vector< float > | epsilon1_ |
std::vector< float > | epsilon2_ |
StringHashMap< float > | charge_map_ |
bool | exclude_residue_field_ |
float | cut_off2_ |
|
Default constructor.
|
|
Copy constructor.
|
|
Destructor.
|
|
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 .
Reimplemented from ShiftModule. |
|
Initialization method. This method reads the parameter section ElectricFieldEffect and parses its contents. This section contains the definition of two expressions that define a bond (the first expression matches the atom whose shift is to be calculated, the second describes its bond partner). For each of these bonds, two parameters are given, $$ and $$.
Reimplemented from ShiftModule. |
|
operator (). This method sets the charge for all atoms it encounters (using assign_charge_processor_ ). Charged atoms are stored in the atom list effector_list_ . All bonds are stored in bond_list_ .
Reimplemented from UnaryProcessor< Composite >. |
|
Processor start method. This method clears the bond and effector list. It fails if no parameters were assigned.
Reimplemented from ShiftModule. |
|
A symbolic name for the electric field contribution to the chemical shift.
|