ReFRACtor
ground_coxmunk_plus_lambertian_output.cc
Go to the documentation of this file.
2 
3 using namespace FullPhysics;
4 using namespace blitz;
5 
6 #ifdef HAVE_LUA
7 #include "register_lua.h"
8 
9 boost::shared_ptr<RegisterOutputBase> ground_cm_plus_lamb_output_create(boost::shared_ptr<Ground>& coxmunk, boost::shared_ptr<Ground>& lambertian, const std::vector<std::string>& hdf_band_names)
10 {
12  (new GroundCoxmunkPlusLambertianOutput(boost::dynamic_pointer_cast<GroundCoxmunk>(coxmunk),
13  boost::dynamic_pointer_cast<GroundLambertian>(lambertian),
14  hdf_band_names));
15 }
16 
18 .def(luabind::constructor<const boost::shared_ptr<GroundCoxmunk>&,
20  const std::vector<std::string>&>())
21 .scope
22 [
23  luabind::def("create", &ground_cm_plus_lamb_output_create)
24 ]
26 #endif
27 
29  const boost::shared_ptr<GroundCoxmunk>& Coxmunk,
30  const boost::shared_ptr<GroundLambertian>& Lambertian,
31  const std::vector<std::string>& Hdf_band_names)
32 : surface_type("Coxmunk,Lambertian")
33 {
34  coxmunk_output.reset(new GroundCoxmunkOutput(Coxmunk));
35  lambertian_output.reset(new GroundLambertianOutput(Lambertian, Hdf_band_names));
36 }
37 
39 {
40  coxmunk_output->register_output_apriori(out);
41  lambertian_output->register_output_apriori(out);
42 }
43 
45 {
46  coxmunk_output->register_output(out);
47  lambertian_output->register_output(out);
48 
49  out->register_data_source("/RetrievalResults/surface_type", surface_type.c_str());
50 }
This registers the portions of the GroundCoxmunkPlusLambertian class that should be written as output...
#define REGISTER_LUA_DERIVED_CLASS(X, Y)
Definition: register_lua.h:136
This registers the portions of the GroundLambertian class that should be written as output...
Apply value function to a blitz array.
GroundCoxmunkPlusLambertianOutput(const boost::shared_ptr< GroundCoxmunk > &Coxmunk, const boost::shared_ptr< GroundLambertian > &Lambertian, const std::vector< std::string > &Hdf_band_names)
As described in the Output class, we have a decentralized model of producing output for L2 Full Physi...
Contains classes to abstract away details in various Spurr Radiative Transfer software.
Definition: doxygen_python.h:1
#define REGISTER_LUA_END()
Definition: register_lua.h:134
def(luabind::constructor< int >()) .def("rows"
This registers the portions of the GroundCoxmunk class that should be written as output.
virtual void register_output(const boost::shared_ptr< Output > &out) const
Register portions of class that will be written to output.
virtual void register_output_apriori(const boost::shared_ptr< Output > &out) const
Register apriori portions of class.

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