#include <EFShiftProcessor.h>
Public Member Functions |
|
Constructors and Destructors.
|
|
EFShiftProcessor () | |
Default constructor. |
|
EFShiftProcessor (const EFShiftProcessor &processor) | |
Copy constructor. |
|
virtual | ~EFShiftProcessor () |
Destructor. |
|
Accessors.
|
|
virtual void | init () |
Initialization method. |
|
Processor specific functions.
|
|
virtual bool | start () |
Processor
start method. |
|
virtual Processor::Result | operator() (Composite &composite) |
operator (). |
|
virtual bool | finish () |
Finish method. |
|
Static Public Attributes |
|
Enums and Constants
|
|
static 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_ |
virtual bool BALL::EFShiftProcessor::finish | ( | ) | [virtual] |
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 .
parameters_ ==
0
Reimplemented from BALL::ShiftModule.
virtual void BALL::EFShiftProcessor::init | ( | ) | [virtual] |
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 BALL::ShiftModule.
virtual Processor::Result BALL::EFShiftProcessor::operator() | ( | Composite & | composite | ) | [virtual] |
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_ .
composite | an arbitrary composite. All non-atom objects are ignored. |
Reimplemented from BALL::UnaryProcessor< Composite >.
virtual bool BALL::EFShiftProcessor::start | ( | ) | [virtual] |
Processor start method.
This method clears the bond and effector list. It fails if no parameters were assigned.
parameters_ ==
0
Reimplemented from BALL::ShiftModule.
const char*
BALL::EFShiftProcessor::PROPERTY__EF_SHIFT
[static] |
A symbolic name for the electric field contribution to the chemical shift.