00001 #ifndef FASTSHOWER_UPDATINGGAUSSIAN0LP_H 00002 #define FASTSHOWER_UPDATINGGAUSSIAN0LP_H 00003 00004 #ifndef FASTSHOWER_IUPDATINGGAUSSIAN_H 00005 #include "FastShowerUtils/IUpdatingGaussian.h" 00006 #endif 00007 00008 #ifndef FASTSHOWER_UPDATINGGAUSSIANBASE_H 00009 #include "FastShowerUtils/UpdatingGaussianBase.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 UpdatingGaussian0LP: 00049 virtual public IUpdatingGaussian, private UpdatingGaussianBase{ 00050 public: 00051 UpdatingGaussian0LP(const std::string& samplerName, const IConfigurer&); 00052 virtual ~UpdatingGaussian0LP(){}; 00053 00054 00059 virtual std::pair<double, double> getLims(double phyiscalLow, 00060 double nSigmaLow, 00061 double physicalUp, 00062 double nSigmaUp, 00063 const PolyArgs&) const; 00064 virtual IDistProcessor* makeIDistProcessor(const PolyArgs&) const; 00065 virtual IUpdatingGaussian* clone() const; 00066 }; 00067 }//namespace 00068 #endif 00069 00070 00071 00072 00073