BALL::HBondShiftProcessor Class Reference
[Shift modules]

Shift assignment processor implementing the effect of hydrogen bonds. More...

#include <HBondShiftProcessor.h>

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

List of all members.


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.

Detailed Description

Shift assignment processor implementing the effect of hydrogen bonds.

Member Function Documentation

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 .

Returns:
bool, false if 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 >.


Generated on Thu Aug 6 18:30:39 2009 for BALL by doxygen 1.5.8