BALL
1.4.2
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Groups
Pages
include
BALL
STRUCTURE
reconstructFragmentProcessor.h
Go to the documentation of this file.
1
// -*- Mode: C++; tab-width: 2; -*-
2
// vi: set ts=2:
3
//
4
5
#ifndef BALL_STRUCTURE_RECONSTRUCFRAGMENTPROCESSOR_H
6
#define BALL_STRUCTURE_RECONSTRUCFRAGMENTPROCESSOR_H
7
8
#include <list>
9
10
#ifndef BALL_COMMON_H
11
# include <
BALL/common.h
>
12
#endif
13
14
#ifndef BALL_DATATYPE_TRIPLE_H
15
# include <
BALL/DATATYPE/triple.h
>
16
#endif
17
18
#ifndef BALL_MATHS_MATRIX44_H
19
# include <
BALL/MATHS/matrix44.h
>
20
#endif
21
22
#ifndef BALL_KERNEL_FRAGMENT_H
23
# include <
BALL/KERNEL/fragment.h
>
24
#endif
25
26
namespace
BALL
27
{
28
class
FragmentDB;
29
33
class
BALL_EXPORT
ReconstructFragmentProcessor
34
:
public
UnaryProcessor
<Fragment>
35
{
36
37
public
:
38
42
48
ReconstructFragmentProcessor
();
49
54
ReconstructFragmentProcessor
(
const
FragmentDB
&
db
);
55
58
ReconstructFragmentProcessor
(
const
ReconstructFragmentProcessor
& db);
59
62
virtual
~
ReconstructFragmentProcessor
();
63
65
68
71
virtual
bool
start();
72
75
virtual
bool
finish();
76
81
virtual
Processor::Result
operator() (
Fragment
&);
82
84
88
91
list<Atom*>& getInsertedAtoms();
92
95
Size
getNumberOfInsertedAtoms()
const
;
96
99
void
setFragmentDB(
const
FragmentDB
& fragment_db);
100
103
const
FragmentDB
* getFragmentDB()
const
;
104
106
110
// ???? This should be replaced by the corresponding method in StructureMapper
111
// We don't need two implementations with the same code.
124
static
Matrix4x4
mapThreeVectors
125
(
const
Vector3
& w1,
const
Vector3
& w2,
const
Vector3
& w3,
126
const
Vector3
& v1,
const
Vector3
& v2,
const
Vector3
& v3);
127
134
static
Triple<bool, const Atom*, const Atom*>
135
getTwoReferenceAtoms(
const
Atom
& ref_center_atom,
const
HashSet<const Atom*>
& allowed)
136
;
137
140
static
list<Atom*> reconstructFragment(
Fragment
& frag,
const
Fragment
& tplate);
142
143
protected
:
144
145
/*_ @name Protected attributes
146
*/
147
//_@{
148
149
/*_ Pointer to the fragment DB
150
*/
151
const
FragmentDB
*
fragment_db_
;
152
153
/*_ List of atoms inserted during the last application of the processor.
154
*/
155
list<Atom*>
inserted_atoms_
;
156
//_@}
157
};
158
159
}
// namespace BALL
160
161
#endif // BALL_STRUCTURE_RECONSTRUCFRAGMENTPROCESSOR_H
Generated by
1.8.3.1