00001 #ifndef FASTSHOWER_IFUNCTIONSTATS_H
00002 #define FASTSHOWER_IFUNCTIONSTATS_H
00003
00004 class ostream;
00005 namespace FastShower{
00006
00007 class ParticleParameters;
00008
00009 class IFunctionStats{
00010 public:
00011 virtual ~IFunctionStats() = 0;
00012 virtual void bump(double x) = 0;
00013 virtual void bump(double x, const ParticleParameters* ) = 0;
00014 virtual int nCalls() const = 0;
00015 virtual double mean() const = 0;
00016 virtual double variance() const = 0;
00017 virtual double lastX() const = 0;
00018 virtual void report(std::ostream&) const = 0;
00019 virtual void prime() = 0;
00020 virtual bool lastIsValid() const = 0;
00021 virtual void header(std::ostream& ostr) const = 0;
00022 };
00023 }
00024 #endif
00025
00026
00027
00028