BALL::AssignRadiusProcessor Class Reference
[Miscellaneous]

#include <BALL/STRUCTURE/defaultProcessors.h>

Inheritance diagram for BALL::AssignRadiusProcessor:
BALL::UnaryProcessor< Atom > BALL::UnaryFunctor< Atom, Processor::Result > BALL::AssignChargeProcessor

List of all members.


Public Member Functions

 AssignRadiusProcessor ()
 

Default constructor.


 AssignRadiusProcessor (const String &filename) throw (Exception::FileNotFound)
virtual bool start ()
virtual bool finish ()
virtual Processor::Result operator() (Atom &atom)
void setFilename (const String &filename) throw (Exception::FileNotFound)
StringgetFilename ()
Size getNumberOfAssignments ()
Size getNumberOfErrors ()

Protected Member Functions

bool buildTable_ () throw (Exception::FileNotFound)

Protected Attributes

String filename_
StringHashMap< floattable_
Size number_of_errors_
Size number_of_assignments_

Detailed Description

Assigns the radius to each atom. This processor reads a radius table from a file and assigns each atom a radius according to its name and the name of the fragment the atom is contained in.


Constructor & Destructor Documentation

BALL::AssignRadiusProcessor::AssignRadiusProcessor (  ) 

Default constructor.

BALL::AssignRadiusProcessor::AssignRadiusProcessor ( const String filename  )  throw (Exception::FileNotFound)

Detailled constructor. If the file can not be found in the actual path, FileNotFound is thrown.


Member Function Documentation

bool BALL::AssignRadiusProcessor::buildTable_ (  )  throw (Exception::FileNotFound) [protected]
virtual bool BALL::AssignRadiusProcessor::finish (  )  [virtual]

Finish method. Allways returns true and does nothing.

Reimplemented from BALL::UnaryProcessor< Atom >.

String& BALL::AssignRadiusProcessor::getFilename (  ) 

Return the current filename

Size BALL::AssignRadiusProcessor::getNumberOfAssignments (  ) 

Return the number of assigned atoms.

Size BALL::AssignRadiusProcessor::getNumberOfErrors (  ) 

Return the number of unassignable atoms. Only the atoms from the container, which cannot be matched, count as errors. The unmatched atoms from the file dont care.

virtual Processor::Result BALL::AssignRadiusProcessor::operator() ( Atom atom  )  [virtual]

Applicator method The full names of all atoms in the container are compared to the atomnames from the file. For all matching atoms, the radii from the file are set. If for an atom from the container no matching atom from the file can be found, a warning is displayed and the number of errors increases. If in the file, the is a nonmatching atom, nothing happens.

The matching of the atoms from the file with the atom of the container works like this:
1.) The original atomnames are tested.
2.) The full name of the atoms are compared.
3.) Wild card matching: "*:" + atom_name
See also:
Residue

Reimplemented from BALL::UnaryProcessor< Atom >.

Reimplemented in BALL::AssignChargeProcessor.

void BALL::AssignRadiusProcessor::setFilename ( const String filename  )  throw (Exception::FileNotFound)

Set the filename to read the radii from. If the file can not be found in the actual path, FileNotFound is thrown.

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

Start Method. The number of errors and the numbers of assignments are reset to 0. The radius data from the file is extracted.

Returns:
bool, allways true

Reimplemented from BALL::UnaryProcessor< Atom >.

Reimplemented in BALL::AssignChargeProcessor.


Member Data Documentation