BALL 1.5.0
Loading...
Searching...
No Matches
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
26namespace BALL
27{
28 class FragmentDB;
29
34 : public UnaryProcessor<Fragment>
35 {
36
37 public:
38
42
49
55
59
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
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.
125 (const Vector3& w1, const Vector3& w2, const Vector3& w3,
126 const Vector3& v1, const Vector3& v2, const Vector3& v3);
127
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 */
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
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)
ReconstructFragmentProcessor(const FragmentDB &db)
list< Atom * > & getInsertedAtoms()
static Matrix4x4 mapThreeVectors(const Vector3 &w1, const Vector3 &w2, const Vector3 &w3, const Vector3 &v1, const Vector3 &v2, const Vector3 &v3)
ReconstructFragmentProcessor(const ReconstructFragmentProcessor &db)
void setFragmentDB(const FragmentDB &fragment_db)
const FragmentDB * getFragmentDB() const
#define BALL_EXPORT