BALL 1.5.0
Loading...
Searching...
No Matches
hybridisationProcessor.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_HYBRIDISATIONPROCESSOR_H
6#define BALL_STRUCTURE_HYBRIDISATIONPROCESSOR_H
7
8#ifndef BALL_CONCEPT_PROCESSOR_H
10#endif
11
12#ifndef BALL_KERNEL_ATOMCONTAINER_H
14#endif
15
16#ifndef BALL_DATATYPE_HASHMAP_H
18#endif
19
20#ifndef BALL_KERNEL_BOND_H
21 #include <BALL/KERNEL/bond.h>
22#endif
23
24#ifndef BALL_DATATYPE_OPTIONS_H
26#endif
27
28#ifndef BALL_DATATYPE_STRINGHASHMAP_H
30#endif
31
32
33#include <map>
34
35
36namespace BALL
37{
38
43 : public UnaryProcessor<AtomContainer>
44 {
45
46 public:
47
53 {
57 static const char* ATOM_TYPE_SMARTS_FILENAME;
58
62 static const char* ATOM_TYPE_FF_FILENAME;
63
73 static const String METHOD;
74
75 };
76
79 {
81 static const char* ATOM_TYPE_SMARTS_FILENAME;
82
86 static const char* ATOM_TYPE_FF_FILENAME;
87
91 static const String METHOD;
92 };
93
95 {
96 static const String SMART_MATCHING;
97 static const String STRUCTURE_BASED;
98 static const String FF_BASED;
99 };
100
101
103
104
108
110
113
116
121 HybridisationProcessor(const String& smarts_file_name, const String& ff_file_name);
122
126
130
132 virtual bool start();
133
135 virtual Processor::Result operator () (AtomContainer& ac);
137
143
147 void setAtomTypeSmarts(const String& file_name);
148
150 vector< std::pair<String, Size> > getHybridisationMap() { return atom_type_smarts_;};
152
159
165
170
171 protected:
172
176 {
180 unsigned char hyb;
181 };
182
194
198 bool readAtomTypeSmartsFromFile_(const String& file_name = "");
199
202
204 vector< std::pair<String, Size> > atom_type_smarts_;
205
210
212 bool readAndInitBondAnglesFromFile_(const String& file_name = "");
213
217
218
220 bool valid_;
221
222
225
226 };
227
228} // namespace BALL
229
230
231#endif // BALL_STRUCTURE_HYBRIDISATIONPROCESSOR_H
StringHashMap< Elements_ > elements_
void setAtomTypeSmarts(const String &file_name)
vector< std::pair< String, Size > > atom_type_smarts_
structure where atom type smarts and the corresponding hybridisation states are stored in
bool readAtomTypeSmartsFromFile_(const String &file_name="")
StringHashMap< StringHashMap< StringHashMap< std::multimap< float, AtomNames_ > > > > bond_angles_
Size num_hybridisation_states_
number of bonds, which are created during the processor call
virtual bool start()
processor method which is called before the operator () call
double AverageBondAngle_(Atom *a)
computes the averaged bond angle for the given Atom
HybridisationProcessor()
default constructor
BALL_CREATE(HybridisationProcessor)
HybridisationProcessor(const HybridisationProcessor &hp)
copy construcor
vector< std::pair< String, Size > > getHybridisationMap()
Return the atom_types–hybridisation Hashmap.
Size getNumberOfHybridisationStatesSet()
Return the number of hybridisation states set during the last application.
bool readAndInitBondAnglesFromFile_(const String &file_name="")
HybridisationProcessor(const String &smarts_file_name, const String &ff_file_name)
virtual ~HybridisationProcessor()
destructor
static const char * ATOM_TYPE_SMARTS_FILENAME
default file name for the atom type smarts
unsigned char hyb
Hybridization state.
#define BALL_EXPORT