BALL::ShiftModule Class Reference
[Shift model classes]

A single contribution of a NMR shift model. More...

#include <shiftModule.h>

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

List of all members.


Public Member Functions

Constructors and Destructors
ShiftModule ()
Default Constructor.
ShiftModule (Parameters &parameters, const String &name="")
Detailed constructor.
ShiftModule (const ShiftModule &module)
Copy constructor.
virtual ~ShiftModule ()
Destructor.
virtual void clear ()
Clear method.
Assignment
const ShiftModule & operator= (const ShiftModule &module)
Assignment operator.
Accessors
void setName (const String &name)
Set the modules name.
const String & getName () const
Return the module name.
void setParameters (Parameters &parameters)
Set the parameters.
const Parameters * getParameters () const
Return a pointer to the parameters.
virtual void init ()
Parameter initalization.
Processor related methods
virtual bool start ()
Start method.
virtual bool finish ()
Finish method.
Predicates
bool isValid () const
Return the module state.

Static Public Attributes

Enums and Constants
static const char * PROPERTY__SHIFT
Named property to store the shift values.

Protected Attributes

String module_name_
Parameters * parameters_
bool valid_

Detailed Description

A single contribution of a NMR shift model.

NMR shift models typically consist of a number of different contributions (e.g. ring current, ansisotopy, etc.). Each of these contributions is implemented in a ShiftModule. Several of these ShiftModules can then be combined to a complete ShiftModel . Since ShiftModules are derived from UnaryProcessor , they can be applied to arbitrary kernel data structures.

Caveat: The shifts are usually stored in a property of the corresponding atom. Applying the same processor multiply will give incorrect results, as the ShiftModules {add} their shift contribution. Before applying a ShiftModule, these properties can be reset to zero by applying a ClearShiftProcessor .

Member Function Documentation

virtual void BALL::ShiftModule::clear ( ) [virtual]

Clear method.

Clear the name and the pointer to the parameters.

Reimplemented in BALL::ShiftModel.

virtual bool BALL::ShiftModule::finish ( ) [virtual]

Finish method.

This method aborts, if the module is not correctly initialized.

See also:
isValid

Reimplemented from BALL::UnaryProcessor< Composite >.

Reimplemented in BALL::AnisotropyShiftProcessor, BALL::EFShiftProcessor, BALL::HaighMallionShiftProcessor, BALL::HBondShiftProcessor, BALL::JohnsonBoveyShiftProcessor, and BALL::ShiftModel.

virtual void BALL::ShiftModule::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.

All implementations in derived classes should set the valid_ flag to true if the initialization was successful and to false otherwise.

Reimplemented in BALL::AnisotropyShiftProcessor, BALL::CreateSpectrumProcessor, BALL::EFShiftProcessor, BALL::HaighMallionShiftProcessor, BALL::HBondShiftProcessor, BALL::JohnsonBoveyShiftProcessor, and BALL::RandomCoilShiftProcessor.

bool BALL::ShiftModule::isValid ( ) const

Return the module state.

The module is valid if init was executed successfully.

Returns:
the module state

Reimplemented in BALL::ShiftModel.

void BALL::ShiftModule::setParameters ( Parameters & parameters )

Set the parameters.

After the assignment, the state of the module is {invalid}, so it is required to run init .

Parameters:
parameters the new parameters
See also:
isValid

virtual bool BALL::ShiftModule::start ( ) [virtual]

Start method.

This method aborts, if the module is not correctly initialized.

See also:
isValid

Reimplemented from BALL::UnaryProcessor< Composite >.

Reimplemented in BALL::CreateSpectrumProcessor, BALL::EFShiftProcessor, BALL::SimpleExperiment1D, BALL::HBondShiftProcessor, BALL::JohnsonBoveyShiftProcessor, and BALL::ShiftModel.


Member Data Documentation

Named property to store the shift values.

Use this string constant to access the shift values stored in the single atoms.

Example: atom.setProperty(ShiftModule::PROPERTY__SHIFT, 0.0);

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