1 #ifndef SPECTRAL_WINDOW_RANGE_H 2 #define SPECTRAL_WINDOW_RANGE_H 26 const blitz::Array<T, 2>& Bad_sample_mask);
34 const std::vector<boost::shared_ptr<Dispersion> >&
dispersion()
const 42 int Spec_index)
const;
43 void print(std::ostream& Os)
const;
48 {
return bad_sample_mask_; }
50 { bad_sample_mask_.reference(M.copy()); }
54 blitz::Array<bool, 2> bad_sample_mask_;
55 std::vector<boost::shared_ptr<Dispersion> > disp_;
void print(std::ostream &Os) const
Print to a stream.
SpectralWindowRange(const ArrayWithUnit< double, 3 > &Microwindow_ranges)
Construct a new window from the supplied information.
void bad_sample_mask(const blitz::Array< bool, 2 > &M)
virtual SpectralBound spectral_bound() const
Bounds of spectral window.
const ArrayWithUnit< double, 3 > & range_array() const
For different instruments, it is more natural to either work with wavenumbers (e.g., GOSAT) or wavelength (e.g., OCO).
blitz::Array< T, D > value
virtual std::vector< int > grid_indexes(const SpectralDomain &Grid, int Spec_index) const
Given a list of wavenumbers, this returns the indices that fall within the window.
This is an implementation of a SpectralWindow that covers a fixed window.
This gives the upper and lower bounds of the SpectralWindow.
void dispersion(const std::vector< boost::shared_ptr< Dispersion > > &D)
This class represents a the spectral window.
virtual int number_spectrometer() const
Number of spectrometers.
Contains classes to abstract away details in various Spurr Radiative Transfer software.
const blitz::Array< bool, 2 > & bad_sample_mask() const
virtual ~SpectralWindowRange()
void range_array(const ArrayWithUnit< double, 3 > &Ran)
const std::vector< boost::shared_ptr< Dispersion > > & dispersion() const
The Dispersion is optional.