BALL::ShiftModel Class Reference
[Shift model classes]

#include <BALL/NMR/shiftModel.h>

Inheritance diagram for BALL::ShiftModel:
BALL::ShiftModule BALL::UnaryProcessor< Composite > BALL::UnaryFunctor< Composite, Processor::Result >

List of all members.


Public Types

Type definitions
typedef List< ShiftModule * > ModuleList
typedef void *(* CreateMethod )()
typedef StringHashMap
< CreateMethod
CreateMethodMap

Public Member Functions

Constructors and Destructors
 ShiftModel ()
 ShiftModel (const String &filename)
 ShiftModel (const ShiftModel &model)
virtual ~ShiftModel ()
void clear ()
Accessors
ParametersgetParameters ()
ModuleListgetModuleList ()
void setFilename (const String &filename) throw (Exception::FileNotFound)
const StringgetFilename () const
void registerModule (const String &name, CreateMethod method) throw (Exception::NullPointer)
void unregisterModule (const String &name)
Predicates
bool isValid () const
bool isRegistered (const String &name) const
Assignment
const ShiftModeloperator= (const ShiftModel &model)
const ShiftModeloperator= (const String &filename)
Processor related methods
bool start ()
bool finish ()
Processor::Result operator() (Composite &composite)

Public Attributes

Public Attributes
Options options

Static Public Attributes

Constants
static const char * MODULE_LIST_SECTION

Protected Member Functions

bool init_ () throw (Exception::FileNotFound)
ShiftModulecreateModule_ (const String &type, const String &name) const
void registerStandardModules_ ()

Protected Attributes

Parameters parameters_
ModuleList modules_
CreateMethodMap registered_modules_
bool valid_

Detailed Description

A class representing a complete parameterized NMR shift model. The model consists of a set of single contributions (e.g. ring curent, magnetic anisotropy, etc.). Each of these contributions is calculated by a separate ShiftModule object. ShiftModel contains a list of these processors and is also derived from ShiftModul. Hence, it can be applied to arbitrary kernel objects in the same fashion as ShiftModule s.


Member Typedef Documentation

typedef void*(* BALL::ShiftModel::CreateMethod)()

The creation method type. This type describes a method that can construct an object of type ShiftModule.

The creation method hash map type. This type is used internally to store the creation method corresponding to a certain symbolic name (usually the class name).

The module list type


Constructor & Destructor Documentation

BALL::ShiftModel::ShiftModel (  ) 

Default Constructor

BALL::ShiftModel::ShiftModel ( const String filename  ) 

Detailed Constructor

BALL::ShiftModel::ShiftModel ( const ShiftModel model  ) 

Copy constructor

virtual BALL::ShiftModel::~ShiftModel (  )  [virtual]

Destructor


Member Function Documentation

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

Clear method. This method destructs all shift modules in the module list. Then, it clears the module list, the parameters, and the options.

Reimplemented from BALL::ShiftModule.

ShiftModule* BALL::ShiftModel::createModule_ ( const String type,
const String name 
) const [protected]
bool BALL::ShiftModel::finish (  )  [virtual]

Finish method

Reimplemented from BALL::ShiftModule.

const String& BALL::ShiftModel::getFilename (  )  const

Return the parameter filename.

ModuleList& BALL::ShiftModel::getModuleList (  ) 

Return the list of modules

Parameters& BALL::ShiftModel::getParameters (  ) 
bool BALL::ShiftModel::init_ (  )  throw (Exception::FileNotFound) [protected]
bool BALL::ShiftModel::isRegistered ( const String name  )  const

Check whether a module of this name is registered

bool BALL::ShiftModel::isValid (  )  const

Validity flag

Reimplemented from BALL::ShiftModule.

Processor::Result BALL::ShiftModel::operator() ( Composite composite  )  [virtual]

Application method

Reimplemented from BALL::UnaryProcessor< Composite >.

const ShiftModel& BALL::ShiftModel::operator= ( const String filename  ) 

Assignment operator (via filename).

const ShiftModel& BALL::ShiftModel::operator= ( const ShiftModel model  ) 

Assignment operator

void BALL::ShiftModel::registerModule ( const String name,
CreateMethod  method 
) throw (Exception::NullPointer)

Register a new module type.

void BALL::ShiftModel::registerStandardModules_ (  )  [protected]
void BALL::ShiftModel::setFilename ( const String filename  )  throw (Exception::FileNotFound)

Set the parameter filename.

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

Start method

Reimplemented from BALL::ShiftModule.

void BALL::ShiftModel::unregisterModule ( const String name  ) 

Unregister a module type.


Member Data Documentation

The name of the section containing the module types and names of the model

Reimplemented from BALL::ShiftModule.