00001 #ifndef FASTSHOWER_IUPDATINGGAUSSIAN_H
00002 #define FASTSHOWER_IUPDATINGGAUSSIAN_H
00003
00004
00005 #ifndef FASTSHOWER_IDEBUG_H
00006 #include "FastShowerUtils/IDebug.h"
00007 #endif
00008
00009 #ifndef STD_PAIR_H
00010 #define STD_PAIR_H
00011 #include <pair.h>
00012 #endif
00013
00014 namespace FastShower{
00021
00022
00023 class PolyArgs;
00024
00025 class IUpdatingGaussian: virtual public IDebug{
00026 public:
00029 virtual double sample(double phyiscalLow,
00030 double nSigmaLow,
00031 double physicalUp,
00032 double nSigmaUp,
00033 const PolyArgs&
00034 ) const = 0;
00035
00038 virtual std::pair<double, double> parameters( const PolyArgs& ) const= 0;
00039 virtual IUpdatingGaussian* clone() const= 0;
00040 };
00041 }
00042 #endif
00043
00044
00045
00046
00047
00048
00049