00001 #ifndef FASTSHOWER_ENERGYLIMITER_H
00002 #define FASTSHOWER_ENERGYLIMITER_H
00003
00004 #ifndef FASTSHOWER_IDEBUG_H
00005 #include "FastShowerUtils/IDebug.h"
00006 #endif
00007
00008 #ifndef FASTSHOWER_DEBUGBASE_H
00009 #include "FastShowerUtils/DebugBase.h"
00010 #endif
00011
00012 #ifndef STD_STRING_H
00013 #include <string>
00014 #define STD_STRING_H
00015 #endif
00016
00017
00018 namespace FastShower{
00019 class std::ostream;
00020 class EnergyLimiter: virtual public IDebug, private DebugBase{
00021 public:
00022 EnergyLimiter(double lower, double u2pper,
00023 std::string name="EnergySaturator");
00024 EnergyLimiter* clone(){return new EnergyLimiter(*this);}
00025 double limit(double) const;
00026 double upper() const;
00027 double lower() const;
00028 private:
00029 double m_lower;
00030 double m_upper;
00031 };
00032 std::ostream& operator<<(std::ostream&, const EnergyLimiter&);
00033 }
00034 #endif
00035
00036
00037
00038
00039
00040