BALL  1.5.0
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 
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 
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 
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
fragment.h
BALL::Triple
Definition: triple.h:24
BALL::Atom
Definition: atom.h:87
BALL::TMatrix4x4< float >
BALL::ReconstructFragmentProcessor::fragment_db_
const FragmentDB * fragment_db_
Definition: reconstructFragmentProcessor.h:151
db
db
Definition: GAFFTypeProcessor.h:74
BALL
Definition: constants.h:12
BALL::HashSet
Definition: hashSet.h:45
BALL_SIZE_TYPE
BALL::UnaryProcessor
Definition: processor.h:58
BALL::TVector3< float >
BALL::FragmentDB
Definition: fragmentDB.h:44
BALL::ReconstructFragmentProcessor::inserted_atoms_
list< Atom * > inserted_atoms_
Definition: reconstructFragmentProcessor.h:155
BALL::Fragment
Definition: fragment.h:20
common.h
matrix44.h
triple.h
BALL::ReconstructFragmentProcessor
Definition: reconstructFragmentProcessor.h:33
BALL::Processor::Result
int Result
Definition: processor.h:36
BALL_EXPORT
#define BALL_EXPORT
Definition: COMMON/global.h:50