BALL 1.5.0
Loading...
Searching...
No Matches
BALL::ReconstructFragmentProcessor Class Reference

#include <BALL/STRUCTURE/reconstructFragmentProcessor.h>

Inheritance diagram for BALL::ReconstructFragmentProcessor:
BALL::UnaryProcessor< Fragment > BALL::UnaryFunctor< ArgumentType, ResultType >

Public Member Functions

Constructors and Destructors
 ReconstructFragmentProcessor ()
 ReconstructFragmentProcessor (const FragmentDB &db)
 ReconstructFragmentProcessor (const ReconstructFragmentProcessor &db)
virtual ~ReconstructFragmentProcessor ()
Processor-related methods
virtual bool start ()
virtual bool finish ()
virtual Processor::Result operator() (Fragment &)
Accessors
list< Atom * > & getInsertedAtoms ()
Size getNumberOfInsertedAtoms () const
void setFragmentDB (const FragmentDB &fragment_db)
const FragmentDBgetFragmentDB () const
Public Member Functions inherited from BALL::UnaryProcessor< Fragment >
 UnaryProcessor ()
 UnaryProcessor (const UnaryProcessor &)
virtual ~UnaryProcessor ()

Static methods.

const FragmentDBfragment_db_
list< Atom * > inserted_atoms_
static Matrix4x4 mapThreeVectors (const Vector3 &w1, const Vector3 &w2, const Vector3 &w3, const Vector3 &v1, const Vector3 &v2, const Vector3 &v3)
static Triple< bool, const Atom *, const Atom * > getTwoReferenceAtoms (const Atom &ref_center_atom, const HashSet< const Atom * > &allowed)
static list< Atom * > reconstructFragment (Fragment &frag, const Fragment &tplate)

Additional Inherited Members

Public Types inherited from BALL::UnaryFunctor< ArgumentType, ResultType >
typedef ResultType result_type
typedef ArgumentType argument_type
typedef ArgumentType & argument_reference
typedef const ArgumentType & const_argument_reference
typedef ArgumentType * argument_pointer
typedef const ArgumentType * const_argument_pointer

Detailed Description

Constructor & Destructor Documentation

◆ ReconstructFragmentProcessor() [1/3]

BALL::ReconstructFragmentProcessor::ReconstructFragmentProcessor ( )

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

◆ ReconstructFragmentProcessor() [2/3]

BALL::ReconstructFragmentProcessor::ReconstructFragmentProcessor ( const FragmentDB & db)

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

◆ ReconstructFragmentProcessor() [3/3]

BALL::ReconstructFragmentProcessor::ReconstructFragmentProcessor ( const ReconstructFragmentProcessor & db)

Copy Constructor.

◆ ~ReconstructFragmentProcessor()

virtual BALL::ReconstructFragmentProcessor::~ReconstructFragmentProcessor ( )
virtual

Destructor

Member Function Documentation

◆ finish()

virtual bool BALL::ReconstructFragmentProcessor::finish ( )
virtual

Processor finish method

Reimplemented from BALL::UnaryProcessor< Fragment >.

◆ getFragmentDB()

const FragmentDB * BALL::ReconstructFragmentProcessor::getFragmentDB ( ) const

Return the current fragment database.

◆ getInsertedAtoms()

list< Atom * > & BALL::ReconstructFragmentProcessor::getInsertedAtoms ( )

Returns a list of inserted atoms.

◆ getNumberOfInsertedAtoms()

Size BALL::ReconstructFragmentProcessor::getNumberOfInsertedAtoms ( ) const

Returns number of recently inserted atoms.

◆ getTwoReferenceAtoms()

Triple< bool, const Atom *, const Atom * > BALL::ReconstructFragmentProcessor::getTwoReferenceAtoms ( const Atom & ref_center_atom,
const HashSet< const Atom * > & allowed )
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.

◆ mapThreeVectors()

Matrix4x4 BALL::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.

◆ operator()()

virtual Processor::Result BALL::ReconstructFragmentProcessor::operator() ( Fragment & )
virtual

Processor applicaiton method. Tries to reconstruct the current fragment from a matching fragment from the current FragmentDB .

Reimplemented from BALL::UnaryProcessor< Fragment >.

◆ reconstructFragment()

list< Atom * > BALL::ReconstructFragmentProcessor::reconstructFragment ( Fragment & frag,
const Fragment & tplate )
static

◆ setFragmentDB()

void BALL::ReconstructFragmentProcessor::setFragmentDB ( const FragmentDB & fragment_db)

Set the fragment database

◆ start()

virtual bool BALL::ReconstructFragmentProcessor::start ( )
virtual

Processor start method

Reimplemented from BALL::UnaryProcessor< Fragment >.

Member Data Documentation

◆ fragment_db_

const FragmentDB* BALL::ReconstructFragmentProcessor::fragment_db_
protected

Definition at line 151 of file reconstructFragmentProcessor.h.

◆ inserted_atoms_

list<Atom*> BALL::ReconstructFragmentProcessor::inserted_atoms_
protected

Definition at line 155 of file reconstructFragmentProcessor.h.