00001 #ifndef FASTSHOWER_DEBUGBASE_H
00002 #define FASTSHOWER_DEBUGBASE_H
00003
00004 #ifndef FASTSHOWER_IDEBUG_H
00005 #include "FastShowerUtils/IDebug.h"
00006 #endif
00007
00008 #ifndef STD_VECTOR_H
00009 #define STD_VECTOR_H
00010 #include <vector>
00011 #endif
00012
00013 #ifndef STD_STRING_H
00014 #define STD_STRING_H
00015 #include <string>
00016 #endif
00017
00018 namespace FastShower{
00023 class Pinger;
00024 class ParticleParameters;
00025
00026 class DebugBase: virtual public IDebug{
00027 public:
00028 DebugBase(std::string s="Anonymous");
00029 DebugBase(const DebugBase& );
00030 DebugBase& operator=(const DebugBase& );
00031 ~DebugBase(){};
00033 void ping(IPinger& ) const;
00034 virtual std::string name() const;
00035 virtual std::string text() const;
00036 virtual void bumpStats(double x) const;
00037 virtual void bumpStats(double x,
00038 const ParticleParameters* ) const;
00039 virtual void components(IDebug::Cpts&) const;
00040 virtual void arm() const;
00041 const IFunctionStats* statistics() const;
00042 private:
00043 IFunctionStats* m_stats;
00044 std::string m_text;
00045 };
00046 }
00047 #endif
00048
00049
00050