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

AssignRadiusProcessor Class Reference
[Miscellaneous]

Assigns the radius to each atom. More...

#include <defaultProcessors.h>

Inheritance diagram for AssignRadiusProcessor:

UnaryProcessor< Atom > UnaryFunctor< Atom, Processor::Result > AssignChargeProcessor List of all members.

Public Member Functions

 AssignRadiusProcessor ()
 Default constructor.
 AssignRadiusProcessor (const String &filename) throw (Exception::FileNotFound)
 Detailled constructor.
virtual bool start ()
 Start Method.
virtual bool finish ()
 Finish method.
virtual Processor::Result operator() (Atom &atom)
 Applicator method The full names of all atoms in the container are compared to the atomnames from the file.
void setFilename (const String &filename) throw (Exception::FileNotFound)
 Set the filename to read the radii from.
StringgetFilename ()
 Return the current filename.
Size getNumberOfAssignments ()
 Return the number of assigned atoms.
Size getNumberOfErrors ()
 Return the number of unassignable atoms.

Protected Member Functions

bool buildTable_ () throw (Exception::FileNotFound)

Protected Attributes

String filename_
StringHashMap< float > table_
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

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

virtual bool AssignRadiusProcessor::finish  )  [virtual]
 

Finish method.

Allways returns true and does nothing.

Reimplemented from UnaryProcessor< Atom >.

Size AssignRadiusProcessor::getNumberOfAssignments  ) 
 

Return the number of assigned atoms.

Size 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 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 UnaryProcessor< Atom >.

Reimplemented in AssignChargeProcessor.

void 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 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 UnaryProcessor< Atom >.

Reimplemented in AssignChargeProcessor.