00001
00008 #ifndef _DUST_RF_THINSHELL_HXX__
00009 #define _DUST_RF_THINSHELL_HXX__
00010
00011 #include <valarray>
00012 #include <interpolate_forwd.hxx>
00013
00014 #include "radfield.hxx"
00015
00016 namespace Dust {
00017
00021 class ThinShell :
00022 public RadField {
00023
00024
00025 InterpolatorBase * lumiplt;
00026
00027
00028 void SetupIplt(void);
00029
00030 public:
00031
00032
00033
00035 std::valarray<double> energies;
00037 std::valarray<double> speclum;
00038
00040 double R;
00041
00042
00043
00049 ThinShell ( double * energy, double * lum , double R , size_t n);
00050
00051
00054 ThinShell( std::valarray<double> & energies ,
00055 std::valarray<double> & speclum ,
00056 double R );
00057
00058
00059 virtual ~ThinShell();
00060
00061
00062
00063
00064 virtual double operator() (double E) ;
00065
00066
00067 };
00068
00069
00070 }
00071
00072 #endif