00001
00011 #ifndef GRB_SIMVEC_CREATOR_H
00012 #define GRB_SIMVEC_CREATOR_H
00013
00014 #include <vector>
00015
00016
00017
00018 class GRBsimvecCreator
00019 {
00020 public:
00021
00025 static GRBsimvecCreator *instance();
00026
00030 static void kill ();
00031
00032
00033
00034
00035 const std::vector<double> &dur_loEdge() const { return m_dur_loEdge; }
00036 const std::vector<int> &dur_long() const { return m_dur_long; }
00037 const std::vector<int> &dur_short() const { return m_dur_short; }
00038 const std::vector<long> &flux_n() const { return m_flux_n; }
00039 const std::vector<long> &flux_m() const { return m_flux_m; }
00040 const std::vector<double> &flux_p() const { return m_flux_p; }
00041 const std::vector<double> &flux_q() const { return m_flux_q; }
00042 const std::vector<double> &pl_loEdge() const { return m_pl_loEdge; }
00043 const std::vector<int> &pl_histplaw() const { return m_pl_histplaw; }
00044 const std::vector<int> &pl_histalpha() const { return m_pl_histalpha; }
00045 const std::vector<int> &pl_histbeta() const { return m_pl_histbeta; }
00046
00047 protected:
00051 GRBsimvecCreator();
00052 virtual ~GRBsimvecCreator();
00053
00054 private:
00058 static GRBsimvecCreator* s_instance;
00059
00060
00061 std::vector<double> m_dur_loEdge;
00062 std::vector<int> m_dur_long;
00063 std::vector<int> m_dur_short;
00064
00065 std::vector<long> m_flux_n;
00066 std::vector<long> m_flux_m;
00067 std::vector<double> m_flux_p;
00068 std::vector<double> m_flux_q;
00069
00070 std::vector<double> m_pl_loEdge;
00071 std::vector<int> m_pl_histplaw;
00072 std::vector<int> m_pl_histalpha;
00073 std::vector<int> m_pl_histbeta;
00074
00075
00076
00077 void load_dur_loEdge();
00078 void load_dur_long();
00079 void load_dur_short();
00080
00081 void load_flux_n();
00082 void load_flux_m();
00083 void load_flux_p();
00084 void load_flux_q();
00085
00086 void load_pl_loEdge();
00087 void load_pl_histplaw();
00088 void load_pl_histalpha();
00089 void load_pl_histbeta();
00090 };
00091
00092
00093 #endif // GRB_SIMVEC_CREATOR_H