00001 #ifndef FASTSHOWER_FUNCTIONSTATSDIST_H 00002 #define FASTSHOWER_FUNCTIONSTATSDIST_H 00003 00004 #ifndef FASTSHOWER_IFUNCTIONSTATS_H 00005 #include "FastShowerUtils/IFunctionStats.h" 00006 #endif 00007 00008 #ifndef FASTSHOWER_FUNCTIONSTATS_H 00009 #include "FastShowerUtils/FunctionStats.h" 00010 #endif 00011 00012 #ifndef FASTSHOWER_QUARTET_H 00013 #include "FastShowerUtils/Quartet.h" 00014 #endif 00015 00016 #ifndef STD_VECTOR_H 00017 #define STD_VECTOR_H 00018 #include <vector> 00019 #endif 00020 00021 00022 #ifndef STD_STRING_H 00023 #define STD_STRING_H 00024 #include <string> 00025 #endif 00026 00027 namespace FastShower{ 00028 00029 class ParticleParameters; 00030 class FunctionStatsDist: 00031 virtual public IFunctionStats, private FunctionStats{ 00032 public: 00033 FunctionStatsDist(); 00034 FunctionStatsDist(std::string name); 00035 FunctionStatsDist(const FunctionStatsDist&); 00036 FunctionStatsDist& operator=(const FunctionStatsDist&); 00037 virtual void bump(double x); 00038 virtual void bump(double x, const ParticleParameters*); 00039 virtual void report(std::ostream&) const; 00040 private: 00041 std::string m_name; 00042 std::vector< Quartet<double> > m_values; 00043 }; 00044 }//namesapce 00045 #endif 00046 00047 00048 00049