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

SmearSoftPhotonBase.h

Go to the documentation of this file.
00001 #ifndef FASTSHOWER_SMEARSOFTPHOTONBASE_H
00002 #define FASTSHOWER_SMEARSOFTPHOTONBASE_H
00003 
00004 #ifndef FASTSHOWER_IFNOFPARTICLEPARAMETERS_H
00005 #include "FastShowerUtils/IFnOfParticleParameters.h"
00006 #endif
00007 
00008 #ifndef FASTSHOWER_DEBUGBASE_H
00009 #include "FastShowerUtils/DebugBase.h"
00010 #endif
00011 
00012 #include <map>
00013 #include <vector>
00014 #include <string>
00015 #include <iostream>
00016 namespace FastShower{
00024   class ISingleShowererSelectorConfig;
00025   class DistRandomiser1D;
00026 
00027   class SmearSoftPhotonBase: 
00028     virtual public IFnOfParticleParameters, private DebugBase{
00029   public:
00030     SmearSoftPhotonBase(const ISingleShowererSelectorConfig*, 
00031                         const std::string&);
00032     virtual ~SmearSoftPhotonBase();
00033     virtual double value(const ParticleParameters&) const;
00034     void nudge(const double, const double, double&) const;
00035     virtual double mean(const double) const=0;
00036     virtual IFnOfParticleParameters* clone() const=0;
00037 
00038     typedef std::map<double,std::string>::const_iterator MCItr_Type1;
00039     typedef std::map<double,DistRandomiser1D*>::const_iterator MCItr_Type2;
00040 
00041   private:
00042     std::map<double,std::string> m_histograms;
00043     std::map<double,DistRandomiser1D*>  m_energyDists;
00044   };
00045 }//namespace
00046 #endif
00047 

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