BALL 1.5.0
descriptor.h
Go to the documentation of this file.
1// -*- Mode: C++; tab-width: 2; -*-
2// vi: set ts=2:
3//
4//
5
6#ifndef BALL_QSAR_DESCRIPTOR_H
7#define BALL_QSAR_DESCRIPTOR_H
8
9#ifndef BALL_CONCEPT_PROCESSOR_H
11#endif
12
13#ifndef BALL_KERNEL_ATOMCONTAINER_H
15#endif
16
17namespace BALL
18{
19
20 template <typename Key, typename Value> class HashMap;
21
26 : public UnaryProcessor<AtomContainer>
27 {
28 public:
29
31
32
38
41 Descriptor(const Descriptor& descriptor);
42
45 Descriptor(const String& name);
46
49 Descriptor(const String& name, const String& unit);
50
53 virtual ~Descriptor();
55
61 Descriptor& operator = (const Descriptor& descriptor);
63
67 Processor::Result operator () (AtomContainer& ac);
69
73 /*_ This getter resturns the name of the descriptor as
74 a string reference
75 */
76 const String& getName() const;
77
78 /*_ This setter sets the name of a descriptor
79 @param name as string
80 */
81 void setName(const String& name);
82
83 /*_ Setter, to set the unit of a descriptor
84 @param unit as string
85 */
86 void setUnit(const String& name);
87
88 /*_ Getter, returns the unit of the descriptor
89 as a string reference
90 */
91 const String& getUnit() const;
92
93 /*_ Generic compute method
94 */
95 virtual double compute(AtomContainer& ac);
97
98
99 protected:
100
101 /*_ Generic calculate function
102 */
103 virtual void calculate_(AtomContainer& ac);
104
108 /*_ Predicate which returns true if the descriptor
109 data is calculated and valid.
110 */
111 virtual bool isValid_(AtomContainer& ac);
113
114
115 private:
116
117 //static HashMap<Handle, PreciseTime> mod_times_;
118
119 /*_ String which saves the name of the descriptor
120 */
121 String name_;
122
123 /*_ String which saves the unit of the values
124 from the descriptor
125 */
126 String unit_;
127 };
128} // namespace BALL
129
130#endif // BALL_QSAR_DESCRIPTOR_H
131
#define BALL_CREATE(name)
Definition: create.h:62
Definition: constants.h:13
const char * getName()
Definition: rtti.h:97
#define BALL_EXPORT
Definition: COMMON/global.h:50