00001
00002 #ifndef CrElectronPrimary_H
00003 #define CrElectronPrimary_H
00004
00005 #include <utility>
00006 #include <string>
00007 #include "CrSpectrum.h"
00008
00009
00010 class HepRandomEngine;
00011
00012
00014
00015 class CrElectronPrimary : public CrSpectrum
00016 {
00017 public:
00018 CrElectronPrimary();
00019 ~CrElectronPrimary();
00020
00021 std::pair<double,double> dir(double energy, HepRandomEngine* engine) const;
00022 double energySrc(HepRandomEngine* engine) const;
00025 double flux() const;
00026 double solidAngle() const;
00027 const char* particleName() const;
00028
00029
00030
00031
00033
00034 double calculate_rate(double old_rate);
00035 float flux(float latitude, float longitude) const;
00036 float flux(std::pair<double,double> coords) const;
00037 std::string title() const;
00039 float fraction(float energy);
00040 std::pair<float,float> dir(float energy) const;
00041 };
00042 #endif // CrElectronPrimary_H