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

UpdatingGaussianBase.h

Go to the documentation of this file.
00001 #ifndef FASTSHOWER_UPDATINGGAUSSIANBASE_H
00002 #define FASTSHOWER_UPDATINGGAUSSIANBASE_H
00003 
00004 #ifndef FASTSHOWER_IUPDATINGGAUSSIAN_H
00005 #include "FastShowerUtils/IUpdatingGaussian.h"
00006 #endif
00007 
00008 #ifndef FASTSHOWER_DEBUGBASE_H
00009 #include "FastShowerUtils/DebugBase.h"
00010 #endif
00011 
00012 #ifndef FASTSHOWER_SP_H
00013 #include "FastShowerUtils/SP.h"
00014 #endif
00015 
00016 #ifndef FASTSHOWER_LINEARPROCESSOR_H
00017 #include "FastShowerUtils/LinearProcessor.h"
00018 #endif
00019 
00020 #ifndef FASTSHOWER_IPROCESSEDDIST_H
00021 #include "FastShowerUtils/IProcessedDist.h"
00022 #endif
00023 
00024 #ifndef FASTSHOWER_IFN_H
00025 #include "FastShowerUtils/IFn.h"
00026 #endif
00027 
00028 #ifndef STD_VECTOR_H
00029 #define STD_VECTOR_H
00030 #include <vector>
00031 #endif
00032 
00033 #ifndef STD_PAIR_H
00034 #define STD_PAIR_H
00035 #include <pair.h>
00036 #endif
00037 
00038 namespace FastShower{
00046   class IConfigurer;
00047 
00048   class UpdatingGaussianBase: 
00049     virtual public IUpdatingGaussian, private DebugBase{
00050   public:
00051     UpdatingGaussianBase(const std::string& samplerName, const IConfigurer&);
00052     virtual ~UpdatingGaussianBase(){};
00053 
00054 
00057     virtual double sample(double phyiscalLow,
00058                           double nSigmaLow,
00059                           double physicalUp,
00060                           double nSigmaUp,
00061                           const PolyArgs&)                        const;
00062     
00065     virtual std::pair<double, double> 
00066       parameters( const PolyArgs& )                               const;
00067     virtual void components(std::vector<const IDebug*>&)          const;    
00068     virtual IDistProcessor* makeIDistProcessor( const PolyArgs&)  const=0;
00069     virtual std::pair<double, double> getLims(double phyiscalLow, 
00070                                               double nSigmaLow,
00071                                               double physicalUp,
00072                                               double nSigmaUp,
00073                                               const PolyArgs&)    const=0;
00074     
00075     virtual IUpdatingGaussian* clone()                            const=0;
00076     private:
00078     SP<IFn> m_mean;
00079     SP<IFn> m_sigma;
00080     SP<IProcessedDist> m_normal;
00081   };
00082 }//namespace
00083 #endif
00084 
00085 
00086 
00087 
00088 

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