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

ReconstructFragmentProcessor Class Reference
[Miscellaneous]

ReconstructFragmentProcessor. More...

#include <reconstructFragmentProcessor.h>

Inheritance diagram for ReconstructFragmentProcessor:

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

Public Member Functions

Constructors and Destructors
 ReconstructFragmentProcessor ()
 Default constructor.
 ReconstructFragmentProcessor (const FragmentDB &db)
 Detailed constructor.
 ReconstructFragmentProcessor (const ReconstructFragmentProcessor &db)
 Copy Constructor.
virtual ~ReconstructFragmentProcessor ()
 Destructor.
Processor-related methods
virtual bool start ()
 Processor start method.
virtual bool finish ()
 Processor finish method.
virtual Processor::Result operator() (Fragment &)
 Processor applicaiton method.
Accessors
list< Atom * > & getInsertedAtoms ()
 Returns a list of inserted atoms.
Size getNumberOfInsertedAtoms () const
 Returns number of recently inserted atoms.
void setFragmentDB (const FragmentDB &fragment_db)
 Set the fragment database.
const FragmentDBgetFragmentDB () const
 Return the current fragment database.

Static Public Member Functions

Static methods.
Matrix4x4 mapThreeVectors (const Vector3 &w1, const Vector3 &w2, const Vector3 &w3, const Vector3 &v1, const Vector3 &v2, const Vector3 &v3)
 Map three vectors onto each other.
Triple< bool, const Atom *,
const Atom * > 
getTwoReferenceAtoms (const Atom &ref_center_atom, const HashSet< const Atom * > &allowed) throw ()
 Search for the next atoms suitable as reference points.
list< Atom * > reconstructFragment (Fragment &frag, const Fragment &tplate)

Protected Attributes

const FragmentDBfragment_db_
list< Atom * > inserted_atoms_

Detailed Description

ReconstructFragmentProcessor.


Constructor & Destructor Documentation

ReconstructFragmentProcessor::ReconstructFragmentProcessor  ) 
 

Default constructor.

Create a new ReconstructFragmentProcessor, which is not yet bound to a FragmentDB , i.e. which cannot yet reconstruct fragments.

ReconstructFragmentProcessor::ReconstructFragmentProcessor const FragmentDB db  ) 
 

Detailed constructor.

Create a new ReconstructFragmentProcessor, which is bound to the FragmentDB db.

ReconstructFragmentProcessor::ReconstructFragmentProcessor const ReconstructFragmentProcessor db  ) 
 

Copy Constructor.


Member Function Documentation

const FragmentDB* ReconstructFragmentProcessor::getFragmentDB  )  const
 

Return the current fragment database.

list<Atom*>& ReconstructFragmentProcessor::getInsertedAtoms  ) 
 

Returns a list of inserted atoms.

Size ReconstructFragmentProcessor::getNumberOfInsertedAtoms  )  const
 

Returns number of recently inserted atoms.

Triple<bool, const Atom*, const Atom*> ReconstructFragmentProcessor::getTwoReferenceAtoms const Atom ref_center_atom,
const HashSet< const Atom * > &  allowed
throw () [static]
 

Search for the next atoms suitable as reference points.

This method performs a BFS-like search for atoms in the same residue the ref_center_atom is in. It will consider only atoms contained in the hash set allowed.

Matrix4x4 ReconstructFragmentProcessor::mapThreeVectors const Vector3 w1,
const Vector3 w2,
const Vector3 w3,
const Vector3 v1,
const Vector3 v2,
const Vector3 v3
[static]
 

Map three vectors onto each other.

This method computes the transformation which move the three points given in v1, v2, and v3 onto the the three reference points w1, w2, and w3. v1 is always mapped exactly onto w1, and the plane spanned by v1, v2, and v3 is always mapped onto the plane spanned by the three reference points. Furthermore, v2 is mapped such that the vector connecting v1 and v2 is parallel to the vector connecting w1 and w2 after the transformation. Well-defined, but less meaningful transformations are obtained if any of the two point sets is co-linear.

virtual Processor::Result ReconstructFragmentProcessor::operator() Fragment  )  [virtual]
 

Processor applicaiton method.

Tries to reconstruct the current fragment from a matching fragment from the current FragmentDB .

Reimplemented from UnaryProcessor< Fragment >.