00001 #ifndef STAR_StRTSBaseMaker_H
00002 #define STAR_StRTSBaseMaker_H
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012 #include "StMaker.h"
00013
00014 class StRtsTable;
00015
00016
00019
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035 class StRTSBaseMaker : public StMaker
00036 {
00037 private:
00038 static const char *fRTSRootDataset;
00039 StRtsTable *fDaq_Dta;
00040 TString fDetectorName;
00041
00042 protected:
00043 StRtsTable *GetNextDaqElement(const char *elementPath);
00044
00046
00050 StRtsTable *DaqDta() {return fDaq_Dta;}
00051
00052 StRtsTable *GetNext(const char* bank);
00053
00054 virtual StRtsTable *GetNextRaw();
00055 virtual StRtsTable *GetNextRaw(int sec);
00056 virtual StRtsTable *GetNextAdc();
00057 virtual StRtsTable *GetNextAdc(int sec);
00058 virtual StRtsTable *GetNextLegacy();
00059 virtual StRtsTable *GetNextLegacy(int sec);
00060
00061 public:
00062
00063 StRTSBaseMaker(const char *detectorName,const char *makerName="");
00064 virtual ~StRTSBaseMaker() ;
00065
00066 Int_t Sector () const;
00067 Int_t Pad () const;
00068 Int_t Rdo () const;
00069 Int_t Row () const;
00070
00071
00072
00073 static UInt_t Token();
00074 static UInt_t Trgcmd();
00075 static UInt_t Daqcmd();
00076 static UInt_t Trgword();
00077 static UInt_t Phyword();
00078 static UInt_t Daqbits();
00079 static UInt_t Daqbits_l1();
00080 static UInt_t Daqbits_l2();
00081 static UInt_t Evpgroups() ;
00082
00083 UInt_t Detectors() const;
00084
00085 const TString &DetectorName() const { return fDetectorName; }
00090 virtual Int_t Make() = 0;
00091
00092
00093 virtual const char *GetCVS() const
00094 {
00095 static const char cvs[]="Tag $Name: $Id: built " __DATE__ " " __TIME__ ; return cvs;
00096 }
00097
00098 ClassDef(StRTSBaseMaker, 1)
00099 };
00100
00101
00102 #endif