00001 #ifndef ANP_INTERFACE_H
00002 #define ANP_INTERFACE_H
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030 #include <string>
00031 #include <map>
00032
00033 class DataBlock;
00034 class Registry;
00035 class TObject;
00036
00037 namespace Anp
00038 {
00039 class Record;
00040 class RunAlgSnarl;
00041 class RunAlgStore;
00042
00043 class Interface
00044 {
00045 public:
00046
00047 Interface();
00048 ~Interface();
00049
00050 bool FillSnarl(TObject *record);
00051
00052 float GetVar(const std::string &vname, TObject *object) const;
00053
00054 void Config(const Registry ®);
00055
00056 const std::map<short, float> GetData(TObject *object) const;
00057
00058 private:
00059
00060 typedef std::map<std::string, int> KeyMap;
00061
00062 private:
00063
00064 RunAlgStore *fAlgStore;
00065 RunAlgSnarl *fAlgSnarl;
00066 DataBlock *fBlock;
00067 Record *fRecord;
00068
00069 bool fPrint;
00070 bool fQuiet;
00071 bool fValid;
00072
00073 unsigned int fNSnarlPass;
00074 unsigned int fNSnarlFail;
00075
00076 mutable unsigned int fNEvent;
00077 mutable unsigned int fNTrack;
00078
00079 double fDefault;
00080 KeyMap fKeys;
00081 };
00082 }
00083
00084 #endif