Open PaperOpt
OpenPaperOpt/Fluorescence.h
Go to the documentation of this file.
00001 #ifndef FLUORESCENCE_H
00002 #define FLUORESCENCE_H
00003 
00004 #include <vector>
00005 #include "Array2D.h"
00006 #include "utilities.h" //we need GenerateRandom()
00007 #include "WavePacket.h"
00008 
00009 using namespace std;
00010 
00011 class Fluorescence
00012 {
00013 public:
00021         Fluorescence(Array2D<float>& ar, vector<float>& rLambda, float rScalFactor);
00022         ~Fluorescence(void){delete (mTransferMatrix);};
00023         
00031         int Process(WavePacket& wp) const;
00032         float GetLambda(int lambdaIndex) const { return mLambda[lambdaIndex]; }
00033 private:
00034         Array2D<double>* mTransferMatrix;
00035         vector<float> mLambda;
00036 
00041         float mTransMatrixScalingFactor;
00042 
00043         //TODO: interp functions should be external functions (e.g. utilities)
00044         double Interp(double X1, double X2, double Y1, double Y2, double X);
00045         double Interp2D(double X1, double X2, double Y1, double Y2, double Z1, double Z2, double Z3, double Z4, double X, double Y);
00046 };
00047 
00048 #endif