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

AlbedoPSpectrum.h

Go to the documentation of this file.
00001 // $Id: AlbedoPSpectrum.h,v 1.7 2002/07/25 05:18:58 srobinsn Exp $
00002 // File: AlbedoPSpectrum.h
00003 #ifndef ALBEDO_P_SPECTRUM_H
00004 #define ALBEDO_P_SPECTRUM_H
00005 
00033 #include "Spectrum.h"
00034 #include "facilities/Observer.h"
00035 #include <string>
00036 
00037 
00038 class AlbedoPSpectrum : public Spectrum
00039 {
00040     
00041 public:
00042     AlbedoPSpectrum(const std::string& params);
00043     
00044     virtual double calculate_rate(double old_rate);
00045     
00047     virtual double flux(double) const;
00048     
00050     virtual double solidAngle()const;
00051     
00053     virtual float flux(float lat, float lon) const;
00054     virtual float flux(std::pair<double, double> coords) const;
00055     
00057     virtual float operator() (float)const;
00058     
00060     virtual void setPosition(float lat, float lon);
00061     virtual void setPosition(std::pair<double,double> coords);
00062     int askGPS(); // this one asks the GPS for position
00063     
00065     virtual std::pair<float,float> dir(float energy)const;
00066     
00067     virtual std::string title() const;
00068     virtual const char * particleName() const;
00069     inline  const char * nameOf() const {return "AlbedoPSpectrum";}
00070     //   use default destructor, copy constructor, and assignment op.
00071     
00073     void setParticleName(std::string name);
00074     
00075     
00076 private:
00077     
00078     void init(const std::vector<float>& params);
00079     
00081     float m_flux;   
00082     
00083     std::string m_particle_name;
00084     ObserverAdapter< AlbedoPSpectrum > m_observer; //obsever tag
00085     void fitParams(const double lat, const double lon, double& alf1, 
00086         double& alf2, double& emin, double& emax, double& v1, double& v2, 
00087         double& Ejoin) const;
00088 };
00089 
00090 #endif // ALBEDO_P_SPECTRUM_H
00091 

Generated on Wed Oct 16 14:01:28 2002 by doxygen1.2.13.1 written by Dimitri van Heesch, © 1997-2001