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

SNEmEcalBar2.h

Go to the documentation of this file.
00001 #ifndef FASTSHOWER_SNEMECALBAR2_H
00002 #define FASTSHOWER_SNEMECALBAR2_H
00003 
00004 #ifndef FASTSHOWER_ISAMPLER_H
00005 #include "FastShowerUtils/ISampler.h"
00006 #endif
00007 
00008 #ifndef FASTSHOWER_ICELLSN_H
00009 #include "FastShowerUtils/ICellSN.h"
00010 #endif
00011 
00012 #ifndef FASTSHOWER_DEBUGBASE_H
00013 #include "FastShowerUtils/DebugBase.h"
00014 #endif
00015 
00016 #ifndef FASTSHOWER_IUPDATINGGAUSSIAN_H
00017 #include "FastShowerUtils/IUpdatingGaussian.h"
00018 #endif
00019 
00020 #ifndef FASTSHOWER_SP_H
00021 #include "FastShowerUtils/SP.h"
00022 #endif
00023 
00024 
00025 #ifndef STD_STRING_H
00026 #define STD_STRING_H
00027 #include <string>
00028 #endif
00029 
00030 namespace FastShower{
00049   class CoreSamples;
00050   class IProcessedDist;
00051   class PolyArgs;
00052   class IFn;
00053   class IInTail;
00054   class IConfigurer;
00055 
00056   class SNEmEcalBar2: 
00057     virtual public ISampler, 
00058     public ICellSN, private DebugBase{
00059     public:
00060     //
00061     SNEmEcalBar2(IUpdatingGaussian*, IProcessedDist*, IInTail*, IFn*);
00062     SNEmEcalBar2(const IConfigurer*, const std::string&);
00063     //
00065     virtual ISampler* clone()                             const;
00066     
00067     virtual void sample(const PolyArgs&, CoreSamples&)    const;
00068     virtual double lastValue(const CoreSamples& cs)       const;
00069     virtual void components(IDebug::Cpts& )               const;
00070 
00071     private:
00072     //
00073     double evalTail(const PolyArgs&) const;
00074     double evalPeak(const PolyArgs&) const;
00075     //
00076     SP<IUpdatingGaussian>                     m_peak;
00077     SP<IProcessedDist>                        m_tail;
00078     SP<IInTail>                               m_inTail;
00079     SP<IFn>                                   m_tailLowerBound;
00080     //
00081     static const double s_nSigma;
00082   };
00083 }//namespace
00084 #endif
00085 
00086 
00087 
00088 
00089 
00090 
00091 
00092 
00093 
00094 
00095 
00096 

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