BALL  1.4.79
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
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
10 # include <BALL/CONCEPT/processor.h>
11 #endif
12 
13 #ifndef BALL_KERNEL_ATOMCONTAINER_H
15 #endif
16 
17 namespace BALL
18 {
19 
20  template <typename Key, typename Value> class HashMap;
21 
26  : public UnaryProcessor<AtomContainer>
27  {
28  public:
29 
31 
32 
37  Descriptor();
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
const char * getName()
Definition: rtti.h:97
#define BALL_EXPORT
Definition: COMMON/global.h:50