Main Page | Modules | Namespace List | Class Hierarchy | Class List | Namespace Members | Class Members

ShiftModule Class Reference
[Shift model classes]

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

#include <shiftModule.h>

Inheritance diagram for ShiftModule:

UnaryProcessor< Composite > UnaryFunctor< Composite, Processor::Result > AnisotropyShiftProcessor ClearShiftProcessor CreateSpectrumProcessor EFShiftProcessor Experiment< PeakListType > Experiment< PeakList1D > HaighMallionShiftProcessor HBondShiftProcessor JohnsonBoveyShiftProcessor RandomCoilShiftProcessor ShiftModel List of all members.

Public Member Functions

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

Static Public Attributes

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

Protected Attributes

String module_name_
Parametersparameters_
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 ShiftModule::clear  )  throw () [virtual]
 

Clear method.

Clear the name and the pointer to the parameters.

Reimplemented in ShiftModel.

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

Finish method.

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

See also:
isValid

Reimplemented from UnaryProcessor< Composite >.

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

virtual void ShiftModule::init  )  throw () [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 AnisotropyShiftProcessor, EFShiftProcessor, HaighMallionShiftProcessor, HBondShiftProcessor, JohnsonBoveyShiftProcessor, and RandomCoilShiftProcessor.

bool ShiftModule::isValid  )  const throw ()
 

Return the module state.

The module is valid if init was executed successfully.

Returns:
the module state

Reimplemented in ShiftModel.

void ShiftModule::setParameters Parameters parameters  )  throw ()
 

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 ShiftModule::start  )  throw () [virtual]
 

Start method.

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

See also:
isValid

Reimplemented from UnaryProcessor< Composite >.

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


Member Data Documentation

const char* ShiftModule::PROPERTY__SHIFT [static]
 

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);