#include <HBondShiftProcessor.h>
Public Member Functions |
|
Constructors and Destructors
|
|
HBondShiftProcessor () | |
Default constructor. |
|
HBondShiftProcessor (const HBondShiftProcessor &processor) | |
Copy constructor. |
|
virtual | ~HBondShiftProcessor () |
Destructor. |
|
Accessors
|
|
virtual void | init () |
Initialization method. |
|
Processor specific funtions.
|
|
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__HBOND_SHIFT |
Protected Attributes |
|
std::list< Atom * > | donor_list_ |
list of HBond donors collected by
operator () |
|
std::list< Atom * > | acceptor_list_ |
list of HBond acceptors collected by
operator () |
|
float | a_ |
slope of the linear relation for the
chemical shift. |
|
float | b_ |
zero value of the linear relation
for the chemical shift. |
|
float | minimum_bond_length_ |
minimum distance for an
HBond. |
|
float | maximum_bond_length_ |
maximum distance for an
HBond. |
virtual bool BALL::HBondShiftProcessor::finish | ( | ) | [virtual] |
Finish method.
This method performs the chemical shift calculation. For each donor in donor_list_ , it looks for acceptors in the acceptor_list_ that lie inside a spherical shell of inner radius minimum_bond_length_ and outer radius maximum_bond_length_ with the donor in its center. Then, it calculates the bond length $x$ and calculates the chemical shift as $ delta_{HBond} = a*x + b $ The chemical shift is stored in the {acceptor} atom using the named property ShiftModule::PROPERTY__SHIFT and in the named property PROPERTY__HBOND_SHIFT .
parameters_ ==
0
Reimplemented from BALL::ShiftModule.
virtual void BALL::HBondShiftProcessor::init | ( | ) | [virtual] |
Initialization method.
This method reads the parameter section "HBondEffect"
and parses its contents. This section contains the
parameters used to calculate the contribution of a hydrogen
bond to the chemical shift. Right now, it is assumed that
the effect is linear in the bond length and the slope
a
and the shift b
are universal,
that is the same for all kinds of hydrogen bonds.
Reimplemented from BALL::ShiftModule.
virtual Processor::Result BALL::HBondShiftProcessor::operator() | ( | Composite & | composite | ) | [virtual] |
operator ().
This method adds all acceptors to the
acceptor_list_
and all donors to the
donor_list_
.
Reimplemented from BALL::UnaryProcessor< Composite >.