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

S0EmEcalBar1.h

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

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