00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00012
00013 #ifndef STAR_StGammaScheduleMaker
00014 #define STAR_StGammaScheduleMaker
00015
00016 #include "StMaker.h"
00017 #include <vector>
00018
00019 using namespace std;
00020
00021 struct stamp
00022 {
00023 int date;
00024 int time;
00025 double weight;
00026 double event;
00027 };
00028
00029 class StGammaScheduleMaker : public StMaker
00030 {
00031
00032 public:
00033 StGammaScheduleMaker(const char* name = "GammaSchedule");
00034 ~StGammaScheduleMaker() {}
00035
00036 virtual const char* GetCVS() const
00037 {static const char cvs[] = "Tag $Name: $ $Id: StGammaScheduleMaker.h,v 1.2 2010/09/24 18:02:59 betan Exp $ built "__DATE__" "__TIME__; return cvs; }
00038
00039 Int_t Init();
00040 void Clear(Option_t *opts = "") { return StMaker::Clear(opts); }
00041 Int_t Make();
00042 Int_t Finish() { return kStOK; }
00043
00044 void addTimestamp(int date, int time, double weight);
00045 void rearrange();
00046
00047 int index() { return mStampIndex; }
00048 int nStamps() { return mStamps.size(); }
00049
00050 private:
00051
00052 double mTotalEvents;
00053 int mCurrentEvent;
00054 int mStampIndex;
00055 vector<stamp> mStamps;
00056
00057 ClassDef(StGammaScheduleMaker, 1);
00058
00059 };
00060
00061 #endif