00001 // 00002 // This program is free software: you can redistribute it and/or modify 00003 // it under the terms of the GNU Lesser General Public License as published by 00004 // the Free Software Foundation, either version 3 of the License, or 00005 // (at your option) any later version. 00006 // 00007 // This program is distributed in the hope that it will be useful, 00008 // but WITHOUT ANY WARRANTY; without even the implied warranty of 00009 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00010 // GNU Lesser General Public License for more details. 00011 // 00012 // You should have received a copy of the GNU Lesser General Public License 00013 // along with this program. If not, see http://www.gnu.org/licenses/. 00014 // 00015 00016 #ifndef LOGNORMALSHADOWING_H_ 00017 #define LOGNORMALSHADOWING_H_ 00018 00019 #include "AnalogueModel.h" 00020 00042 class LogNormalShadowing: public AnalogueModel { 00043 protected: 00045 static DimensionSet dimensions; 00046 00048 double mean; 00049 00051 double stdDev; 00052 00054 simtime_t interval; 00055 00056 protected: 00062 double randomLogNormalGain() const; 00063 00064 public: 00070 LogNormalShadowing(double mean, double stdDev, simtime_t interval); 00071 00072 virtual ~LogNormalShadowing(); 00073 00077 virtual void filterSignal(Signal& s); 00078 }; 00079 00080 #endif /* LOGNORMALSHADOWING_H_ */