Main Page   Namespace List   Class Hierarchy   Compound List   File List   Namespace Members   Compound Members   File Members  

AlbedoPSpectrum.h

Go to the documentation of this file.
00001 // $Id: AlbedoPSpectrum.h,v 1.9 2001/10/18 03:30:16 srobinsn Exp $
00002 
00003 
00004 // File: AlbedoPSpectrum.h
00005 
00006 
00010 
00011 //  Patrick Nolan, Stanford University, 1999
00012 
00029 #ifndef ALBEDO_P_SPECTRUM_H
00030 #define ALBEDO_P_SPECTRUM_H
00031 
00032 #include "flux/Spectrum.h"
00033 #include "facilities/Observer.h"
00034 #include <string>
00035 
00036 
00037 class AlbedoPSpectrum : public Spectrum
00038 {
00039   
00040  public:
00041     AlbedoPSpectrum(const std::string& params);
00042 
00043     virtual double calculate_rate(double old_rate);
00044 
00046     virtual double flux() const;
00047 
00049     virtual double solidAngle()const;
00050 
00052     virtual float flux(float lat, float lon) const;
00053     virtual float flux(std::pair<double, double> coords) const;
00054 
00056     virtual float operator() (float)const;
00057 
00059     virtual void setPosition(float lat, float lon);
00060     virtual void setPosition(std::pair<double,double> coords);
00061     int askGPS(); // this one asks the GPS for position
00062 
00064     virtual std::pair<float,float> dir(float energy)const;
00065 
00066     virtual std::string title() const;
00067     virtual const char * particleName() const;
00068     inline  const char * nameOf() const {return "AlbedoPSpectrum";}
00069     //   use default destructor, copy constructor, and assignment op.
00070 
00072     void setParticleName(std::string name);
00073     
00074 
00075  private:
00076 
00077     void init(const std::vector<float>& params);
00078 
00080     float m_flux;   
00081 
00082     std::string m_particle_name;
00083     ObserverAdapter< AlbedoPSpectrum > m_observer; //obsever tag
00084     void FitParams(const double lat, const double lon, double& alf1, 
00085         double& alf2, double& emin, double& emax, double& v1, double& v2, 
00086         double& Ejoin) const;
00087 };
00088 
00089 #endif // ALBEDO_P_SPECTRUM_H
00090 

Generated at Wed Nov 21 12:20:33 2001 by doxygen1.2.3 written by Dimitri van Heesch, © 1997-2000