ReFRACtor
stacked_radiance_mixin.h
Go to the documentation of this file.
1 #ifndef STACKED_RADIANCE_MIXIN_H
2 #define STACKED_RADIANCE_MIXIN_H
3 
4 #include "spectral_domain.h"
5 #include "spectrum.h"
6 #include <blitz/array.h>
7 #include <boost/optional.hpp>
8 
9 namespace FullPhysics {
10 
12 public:
14  virtual int num_channels() const = 0;
15 
17  virtual const SpectralDomain spectral_domain(int channel_index) const = 0;
18 
26  virtual const boost::optional<blitz::Range> stacked_pixel_range(int channel_index) const;
27 
29  virtual Spectrum radiance(int channel_index, bool skip_jacobian = false) const = 0;
30 
33  virtual Spectrum radiance_all(bool skip_jacobian = false) const;
34 };
35 }
36 
37 #endif
For different instruments, it is more natural to either work with wavenumbers (e.g., GOSAT) or wavelength (e.g., OCO).
virtual const SpectralDomain spectral_domain(int channel_index) const =0
The spectral grid of the radiance values, implemented by inheriting class.
This is a full spectrum, which contains a SpectralRange and SpectralDomain.
Definition: spectrum.h:18
virtual const boost::optional< blitz::Range > stacked_pixel_range(int channel_index) const
The range of indicies that corresponds to a particular band in the stacked radiances.
virtual Spectrum radiance_all(bool skip_jacobian=false) const
Radiance data all stacked together as one long spectrum (so band 0, followed by band 1...
Contains classes to abstract away details in various Spurr Radiative Transfer software.
Definition: doxygen_python.h:1
virtual Spectrum radiance(int channel_index, bool skip_jacobian=false) const =0
Per channel radiance data, implemented by inheriting class.
virtual int num_channels() const =0
Number of spectral channels.

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