ReFRACtor
spectrum.h
Go to the documentation of this file.
1 #ifndef SPECTRUM_H
2 #define SPECTRUM_H
3 
4 #include "spectral_domain.h"
5 #include "spectral_range.h"
6 
7 namespace FullPhysics {
8 /****************************************************************/
18 class Spectrum: public Printable<Spectrum> {
19 public:
20 //-----------------------------------------------------------------------
22 //-----------------------------------------------------------------------
23 
24  Spectrum(const SpectralDomain& Spec_domain,
25  const SpectralRange& Spec_range)
26  : spec_domain_(Spec_domain), spec_range_(Spec_range) {}
27 
28 //-----------------------------------------------------------------------
30 //-----------------------------------------------------------------------
31 
32  const SpectralDomain& spectral_domain() const {return spec_domain_;}
33  SpectralDomain& spectral_domain() {return spec_domain_;}
34 
35 //-----------------------------------------------------------------------
37 //-----------------------------------------------------------------------
38 
39  const SpectralRange& spectral_range() const {return spec_range_;}
40  SpectralRange& spectral_range() {return spec_range_;}
41 
42 //-----------------------------------------------------------------------
44 //-----------------------------------------------------------------------
45 
46  const Spectrum clone() const { return Spectrum(spec_domain_.clone(), spec_range_.clone()); }
47 
48  void print(std::ostream& Os) { Os << "Spectrum";}
49 
51  Spectrum() {}
52  // Put in virtual table, again for use by SWIG
53  virtual ~Spectrum() {}
54 private:
55  SpectralDomain spec_domain_;
56  SpectralRange spec_range_;
57 };
58 }
59 #endif
For different instruments, it is more natural to either work with wavenumbers (e.g., GOSAT) or wavelength (e.g., OCO).
const SpectralDomain clone() const
Clones object into a new copy.
const SpectralRange & spectral_range() const
Spectral range (e.g, radiance values)
Definition: spectrum.h:39
This is a Mixin for classes that can be printed.
Definition: printable.h:24
const Spectrum clone() const
Clones object into a new copy.
Definition: spectrum.h:46
Spectrum()
Default constructor needed for SWIG.
Definition: spectrum.h:51
This is a full spectrum, which contains a SpectralRange and SpectralDomain.
Definition: spectrum.h:18
SpectralDomain & spectral_domain()
Definition: spectrum.h:33
Spectrum(const SpectralDomain &Spec_domain, const SpectralRange &Spec_range)
Constructor.
Definition: spectrum.h:24
SpectralRange & spectral_range()
Definition: spectrum.h:40
We have a number of different spectrums that appear in different parts of the code.
Contains classes to abstract away details in various Spurr Radiative Transfer software.
Definition: doxygen_python.h:1
virtual ~Spectrum()
Definition: spectrum.h:53
const SpectralDomain & spectral_domain() const
Spectral domain (i.e., wavenumber or wavelength).
Definition: spectrum.h:32
void print(std::ostream &Os)
Definition: spectrum.h:48
const SpectralRange clone() const
Clones object into a new copy.

Copyright © 2017, California Institute of Technology.
ALL RIGHTS RESERVED.
U.S. Government Sponsorship acknowledged.
Generated Fri Aug 24 2018 15:44:11