00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013 #ifndef TUpdater_FLAG_
00014 #define TUpdater_FLAG_
00015
00016 #ifdef TRKRECO_DEBUG_DETAIL
00017 #ifndef TRKRECO_DEBUG
00018 #define TRKRECO_DEBUG
00019 #endif
00020 #endif
00021
00022 #include <string>
00023
00025 class TUpdater {
00026
00027 public:
00029 TUpdater();
00030
00031 public:
00033 virtual ~TUpdater();
00034
00035 public:
00037 void dump(const std::string & message = std::string(""),
00038 const std::string & prefix = std::string("")) const;
00039
00040 public:
00042 virtual bool updated(void) const;
00043
00045 virtual void update(void);
00046
00048 virtual bool initialized(void) const;
00049
00051 virtual void initialize(void);
00052
00054 virtual void clear(void);
00055
00056 private:
00057 int _expN;
00058 int _runN;
00059 int _evtN;
00060 bool _init;
00061 };
00062
00063
00064
00065 #ifdef TRKRECO_NO_INLINE
00066 #define inline
00067 #else
00068 #undef inline
00069 #define TUpdater_INLINE_DEFINE_HERE
00070 #endif
00071
00072 #ifdef TUpdater_INLINE_DEFINE_HERE
00073
00074 inline
00075 bool
00076 TUpdater::initialized(void) const {
00077 return _init;
00078 }
00079
00080 inline
00081 void
00082 TUpdater::initialize(void) {
00083 _init = true;
00084 }
00085
00086 inline
00087 void
00088 TUpdater::clear(void) {
00089 _expN = -1;
00090 }
00091
00092 #endif
00093
00094 #undef inline
00095
00096 #endif