#include <BALL/NMR/EFShiftProcessor.h>
Shift assignment processor implementing the electric field effect.
Definition at line 25 of file EFShiftProcessor.h.
BALL::EFShiftProcessor::EFShiftProcessor | ( | ) |
Default constructor.
BALL::EFShiftProcessor::EFShiftProcessor | ( | const EFShiftProcessor & | processor | ) |
Copy constructor.
virtual BALL::EFShiftProcessor::~EFShiftProcessor | ( | ) | [virtual] |
Destructor.
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 .
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.
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_ .
Reimplemented from BALL::UnaryProcessor< Composite >.
void BALL::EFShiftProcessor::postprocessing_ | ( | ) | throw () [private] |
void BALL::EFShiftProcessor::printEffectors_ | ( | ) | throw () [private] |
void BALL::EFShiftProcessor::printParameters_ | ( | ) | throw () [private] |
void BALL::EFShiftProcessor::printTargets_ | ( | ) | throw () [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.
parameters_ == 0
Reimplemented from BALL::ShiftModule.
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.
float BALL::EFShiftProcessor::charge_factor_ [protected] |
Definition at line 227 of file EFShiftProcessor.h.
StringHashMap<float> BALL::EFShiftProcessor::charge_map_ [protected] |
Definition at line 175 of file EFShiftProcessor.h.
float BALL::EFShiftProcessor::cut_off2_ [protected] |
Definition at line 214 of file EFShiftProcessor.h.
std::list<Atom*> BALL::EFShiftProcessor::effector_list_ [protected] |
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.
bool BALL::EFShiftProcessor::exclude_residue_field_ [protected] |
Definition at line 182 of file EFShiftProcessor.h.
bool BALL::EFShiftProcessor::exclude_solvent_field_ [protected] |
Definition at line 204 of file EFShiftProcessor.h.
std::vector<Index> BALL::EFShiftProcessor::expression_number_ [protected] |
Definition at line 151 of file EFShiftProcessor.h.
std::vector<Expression> BALL::EFShiftProcessor::first_atom_expressions_ [protected] |
Definition at line 159 of file EFShiftProcessor.h.
const char* BALL::EFShiftProcessor::PROPERTY__EF_SHIFT [static] |
A symbolic name for the electric field contribution to the chemical shift.
Definition at line 39 of file EFShiftProcessor.h.
std::vector<Expression> BALL::EFShiftProcessor::second_atom_expressions_ [protected] |
Definition at line 163 of file EFShiftProcessor.h.