Main Page   Namespace List   Class Hierarchy   Compound List   File List   Namespace Members   Compound Members   File Members  

IDebug.h

Go to the documentation of this file.
00001 #ifndef FASTSHOWER_IDEBUG_H
00002 #define FASTSHOWER_IDEBUG_H
00003 
00004 #ifndef STD_VECTOR_H
00005 #define STD_VECTOR_H
00006 #include <vector>
00007 #endif
00008 
00009 #ifndef STD_STRING_H
00010 #define STD_STRING_H
00011 #include <string>
00012 #endif
00013 
00014 namespace FastShower{
00019   class IPinger;
00020   class StatsCollector;
00021   class IFunctionStats;
00022   class ParticleParameters;
00023   class ostream;
00024   class IDebug{
00025   public:
00026 
00027     typedef std::vector<const IDebug*> Cpts;
00028 
00029     virtual ~IDebug();  
00030     virtual void ping(IPinger&)                         const = 0;
00031     virtual std::string name()                          const = 0;
00032     virtual std::string text()                          const = 0;
00033     virtual void bumpStats(double x)                    const = 0;//yes, const!
00034     virtual void bumpStats(double x,
00035                            const ParticleParameters*)   const = 0;//yes, const!
00036     virtual void components(Cpts&)                      const = 0;
00037     virtual const IFunctionStats* statistics()          const = 0;
00038     virtual void  arm()                                 const = 0;
00039   };
00040   class SimplePinger;
00041   class PingEach{
00042   public:
00043     PingEach(IPinger&);            
00044     ~PingEach();
00045     void operator()(const IDebug*);
00046   private:
00047     IPinger& m_pinger;
00048   };
00049 }
00050 #endif
00051 
00052 

Generated on Tue Mar 18 11:50:00 2003 for FastShowerUtils by doxygen1.3-rc1