Program Listing for File ext.h

Return to documentation for file (src/lib/ext.h)

/*
 15/12/2014
 Class to store one extinction law
*/

// avoid multiple def of the same class
#ifndef EXT_H  // check that this keyword has been set already
#define EXT_H  // define the keyword to be checked

#include <string>
#include <vector>

#include "flt.h"
#include "oneElLambda.h"

using std::string;
using std::vector;

class ext {
 public:
  vector<oneElLambda> lamb_ext;
  string name;
  double lmin;
  double lmax;
  int numext;

  ext(const string nameC, int numextC = 0) {
    name = nameC;
    numext = numextC;
  }

  void read(string extFile);

  void add_element(double lam, double val, double ori);
};

double compute_filter_extinction(const flt &filter, const ext &extinction);
double cardelli_ext(flt &oneFlt);
double cardelli_law(double lb);
void resample(vector<oneElLambda> &lamb_all, vector<oneElLambda> &lamb_interp,
              const int origine, const double lmin, const double lmax);
vector<flt> read_flt(ifstream &sfiltIn);

#endif