Loading...
Searching...
No Matches
BALL::ParameterSection Class Reference
Molecular Modeling » File Formats » General Purpose File Formats

`#include <BALL/FORMAT/parameterSection.h>`

Inheritance diagram for BALL::ParameterSection:

## Public Types

Enums
enum | { MAX_FIELDS = 20 }

## Public Member Functions

Constructors and Destructors
| ParameterSection ()
| ParameterSection (const ParameterSection &parameter_section)
virtual | ~ParameterSection ()
Extracting Data from the Section
bool | extractSection (Parameters &parameters, const String &section_name)
const String & | getSectionName () const
const String & | getValue (const String &key, const String &variable) const
bool | has (const String &key, const String &variable) const
bool | has (const String &key) const
bool | hasVariable (const String &variable) const
Position | getColumnIndex (const String &variable) const
Size | getNumberOfVariables () const
Size | getNumberOfKeys () const
const String & | getValue (Position key_index, Position variable_index) const
const String & | getKey (Position key_index) const
Assignment
virtual void | clear ()
const ParameterSection & | operator= (const ParameterSection &section)
Predicates
virtual bool | isValid () const
bool | operator== (const ParameterSection &parameter_section) const

## Static Public Attributes

static const String | UNDEFINED

## Public Members

Options | options
String | section_name_
String | format_line_
StringHashMap< Index > | section_entries_
StringHashMap< Index > | variable_names_
std::vector< String > | entries_
std::vector< String > | keys_
Size | number_of_variables_
std::vector< float > | version_
bool | valid_

## Detailed Description

General Parameter Section Class. It is similar to INIFile , but a little bit more sophisticated. Just as in a INIFile there can be comment lines starting with either "<b>;</b>", "<b>!</b>" or "<b>\#</b>" and it is divided in sections. A section-line looks like "<b>[ElectricFieldEffect]</b>". The first non-comment line in a section is the format-line. It defines the sort of values stored in the section and their order:

  "<b>key:residue key:atom value:charge </b>"

  Option lines start with a "<b>@ </b>":

  "<b>@exclude_residue_field=true </b>"

  The values are stored in fields seperated by whitespaces in the order given by their format-line:

  "<b> Ca Ca 9.6 </b>"

Each value line may contain version information, indicated by a variable definition named "ver"; thus only the latest version will be version will be accessed.

Definition at line 39 of file parameterSection.h.

## Member Enumeration Documentation

## anonymous enum

anonymous enum

Enumerator
MAX_FIELDS |

Definition at line 56 of file parameterSection.h.

## Constructor & Destructor Documentation

## ParameterSection() [1/2]

BALL::ParameterSection::ParameterSection | ( |  | ) |

Default constructor.

## ParameterSection() [2/2]

BALL::ParameterSection::ParameterSection | ( | const ParameterSection & | parameter_section | ) |

Copy constructor

## ~ParameterSection()

virtual BALL::ParameterSection::~ParameterSection | ( |  | ) |

virtual

Destructor.

## Member Function Documentation

## clear()

virtual void BALL::ParameterSection::clear | ( |  | ) |

virtual

Clear method.

Reimplemented in BALL::AtomTypes, BALL::CharmmEEF1, BALL::ClaverieParameter, BALL::CosineTorsion, BALL::LennardJones, BALL::Potential1210, BALL::QuadraticAngleBend, BALL::QuadraticBondStretch, BALL::QuadraticImproperTorsion, BALL::RDFParameter, BALL::RDFSection, BALL::ResidueTorsions, BALL::SolventParameter, BALL::SpaceGroupParameters, and BALL::Templates.

## extractSection()

bool BALL::ParameterSection::extractSection | ( | Parameters & | parameters,
|  | const String & | section_name )

Reads a parameter section from an INI file. This method reads the section given in section_name from ini_file, interprets (if given) a format line, reads the data from this section according to the format, and builds some datastructures for fast and easy acces to the data.

Parameters

  parameters | the parameters defining the inifile to be read from
  section_name | the name of the section to be read (without the squared brackets)

Returns
  bool - true if the section could be read, false otherwise

## getColumnIndex()

Position BALL::ParameterSection::getColumnIndex | ( | const String & | variable | ) | const

Return the column index of a variable. If section doesn't have the variable, INVALID_Position is returned.

## getKey()

const String & BALL::ParameterSection::getKey | ( | Position | key_index | ) | const

Fast access to the key array. The first key has the index 0. If the key is undefined, UNDEFINED is returned.

## getNumberOfKeys()

Size BALL::ParameterSection::getNumberOfKeys | ( |  | ) | const

Returns the number of different keys defined.

## getNumberOfVariables()

Size BALL::ParameterSection::getNumberOfVariables | ( |  | ) | const

Returns the number of defined variables.

## getSectionName()

const String & BALL::ParameterSection::getSectionName | ( |  | ) | const

Return the name of the section read. The section name is empty before extractSection was called.

Returns
  the name of the section extracted

## getValue() [1/2]

const String & BALL::ParameterSection::getValue | ( | const String & | key,
|  | const String & | variable ) const

Returns the value associated with the key and returns the value of the given variable. If the requested variable is not defined in the format line, an empty string is returned.

## getValue() [2/2]

const String & BALL::ParameterSection::getValue | ( | Position | key_index,
|  | Position | variable_index ) const

Fast access to the value array. If the value is undefined, UNDEFINED is returned.

## has() [1/2]

bool BALL::ParameterSection::has | ( | const String & | key | ) | const

Query for a key. False is returned if the key could not be found.

Parameters

  key | the key to serch in the hash table

## has() [2/2]

bool BALL::ParameterSection::has | ( | const String & | key,
|  | const String & | variable ) const

Query for a pair of key and variable. False is returned if

- the key could not be found
- the the key was found but the variable name was not specified in the format line

## hasVariable()

bool BALL::ParameterSection::hasVariable | ( | const String & | variable | ) | const

Query whether a specified variable was defined in the format line.

## isValid()

virtual bool BALL::ParameterSection::isValid | ( |  | ) | const

virtual

Validity predicate

## operator=()

const ParameterSection & BALL::ParameterSection::operator= | ( | const ParameterSection & | section | ) |

Assignment operator

## operator==()

bool BALL::ParameterSection::operator== | ( | const ParameterSection & | parameter_section | ) | const

Equality operator

## Member Data Documentation

## entries_

std::vector<String> BALL::ParameterSection::entries_

protected

Definition at line 220 of file parameterSection.h.

## format_line_

String BALL::ParameterSection::format_line_

protected

Definition at line 205 of file parameterSection.h.

## keys_

std::vector<String> BALL::ParameterSection::keys_

protected

Definition at line 224 of file parameterSection.h.

## number_of_variables_

Size BALL::ParameterSection::number_of_variables_

protected

Definition at line 229 of file parameterSection.h.

## options

Options BALL::ParameterSection::options

The options read in from options lines contained in this section. Remember: options lines start with "@" as the first character and must be of the form "@name=value".

Definition at line 193 of file parameterSection.h.

## section_entries_

StringHashMap<Index> BALL::ParameterSection::section_entries_

protected

Definition at line 210 of file parameterSection.h.

## section_name_

String BALL::ParameterSection::section_name_

protected

Definition at line 201 of file parameterSection.h.

## UNDEFINED

const String BALL::ParameterSection::UNDEFINED

static

Result Type for unknown items.

Definition at line 48 of file parameterSection.h.

## valid_

bool BALL::ParameterSection::valid_

protected

Definition at line 237 of file parameterSection.h.

## variable_names_

StringHashMap<Index> BALL::ParameterSection::variable_names_

protected

Definition at line 214 of file parameterSection.h.

## version_

std::vector<float> BALL::ParameterSection::version_

protected

Definition at line 233 of file parameterSection.h.