00001 #include "FastShowerUtils/EnergyLimiter.h" 00002 #include <string> 00003 #include <iostream> 00004 00005 00006 00007 namespace FastShower{ 00008 std::ostream& operator<<(std::ostream& ostr, const EnergyLimiter& limiter){ 00009 ostr << "["<<limiter.lower()<<","<<limiter.upper()<<"]"; 00010 return ostr; 00011 } 00012 EnergyLimiter::EnergyLimiter(double lower, double upper, std::string name): 00013 DebugBase(name),m_lower(lower), m_upper(upper){} 00014 double EnergyLimiter::limit(double energy) const{ 00015 if(energy < m_lower) return m_lower; 00016 if(energy > m_upper) return m_upper; 00017 return energy; 00018 } 00019 double EnergyLimiter::lower() const {return m_lower;} 00020 double EnergyLimiter::upper() const {return m_upper;} 00021 } 00022 00023