NoiseCCIR670.h
Go to the documentation of this file.
1 #ifndef _utl_NoiseCCIR670_h_
2 #define _utl_NoiseCCIR670_h_
3 
4 #include <utl/AugerException.h>
5 #include <utl/Noise.h>
6 #include <utl/TabulatedFunction.h>
7 #include <cmath>
8 
17 namespace utl {
18 
19  class RandomEngine;
20 
31 
32  class NoiseCCIR670 : public Noise {
33  public:
34  NoiseCCIR670(AtmosphereNoise AtmoScenario, IndustryNoise IndustryScenario, RandomEngine* parRandomEngine);
35  virtual ~NoiseCCIR670();
36 
38  virtual std::complex<double> GetSpectralFieldNoiseAtFrequency(double parFrequency, double parBandwidth) const;
39 
40  private:
41 
42  static const double tempAt0dB; // temperature that corresponds to 0 dB
43  static const double noNoisedB; // number to characterise absence of noise
44 
45  static const double NoiseGalacticTable[][2]; // galactic noise table (Hz, dB)
46  static const double NoiseIndustryRuralTable[][2]; // industry noise rural table (Hz, dB)
47  static const double NoiseIndustryUrbanTable[][2]; // industry noise urban table (Hz, dB)
48  static const double NoiseAtmosphereDayTable[][2]; // atmospheric noise day table (Hz, dB)
49  static const double NoiseAtmosphereNightTable[][2]; // atmospheric noise night table (Hz, dB)
50 
51  static const long LengthOfNoiseGalacticTable;
56 
60  };
61 
62 } // utl
63 
64 #endif
Abstract base class for noise profiles.
Definition: Noise.h:26
utl::TabulatedFunction fGalacticNoise
Definition: NoiseCCIR670.h:59
virtual ~NoiseCCIR670()
Class to hold collection (x,y) points and provide interpolation between them.
static const double NoiseIndustryRuralTable[][2]
Definition: NoiseCCIR670.h:46
static const double NoiseIndustryUrbanTable[][2]
Definition: NoiseCCIR670.h:47
NoiseCCIR670(AtmosphereNoise AtmoScenario, IndustryNoise IndustryScenario, RandomEngine *parRandomEngine)
static const double NoiseAtmosphereNightTable[][2]
Definition: NoiseCCIR670.h:49
static const double tempAt0dB
Definition: NoiseCCIR670.h:42
Noise profiles based on the textbook of Meinke and Grundlach.
Definition: NoiseCCIR670.h:32
AtmosphereNoise
Definition: NoiseCCIR670.h:29
static const long LengthOfNoiseGalacticTable
Definition: NoiseCCIR670.h:51
Wraps the random number engine used to generate distributions.
Definition: RandomEngine.h:27
static const long LengthOfNoiseAtmosphereNightTable
Definition: NoiseCCIR670.h:55
utl::TabulatedFunction fAtmosphereNoise
Definition: NoiseCCIR670.h:57
static const double NoiseGalacticTable[][2]
Definition: NoiseCCIR670.h:45
utl::TabulatedFunction fIndustryNoise
Definition: NoiseCCIR670.h:58
static const long LengthOfNoiseAtmosphereDayTable
Definition: NoiseCCIR670.h:54
static const double NoiseAtmosphereDayTable[][2]
Definition: NoiseCCIR670.h:48
static const long LengthOfNoiseIndustryRuralTable
Definition: NoiseCCIR670.h:52
virtual std::complex< double > GetSpectralFieldNoiseAtFrequency(double parFrequency, double parBandwidth) const
Returns the noise (complex value representing amplitude and phase) at a given frequency.
static const double noNoisedB
Definition: NoiseCCIR670.h:43
static const long LengthOfNoiseIndustryUrbanTable
Definition: NoiseCCIR670.h:53
IndustryNoise
Definition: NoiseCCIR670.h:30

, generated on Tue Sep 26 2023.