00001
00002 #ifndef STAR_St_trg_Maker
00003 #define STAR_St_trg_Maker
00004
00006
00016
00017
00018 #ifndef StMaker_H
00019 #include "StMaker.h"
00020 #endif
00021 class St_ctu_raw;
00022 #if 0
00023 class St_mwc_raw;
00024 #endif
00025 class St_dst_L0_Trigger;
00026 class St_dst_L1_Trigger;
00027 class St_dst_L2_Trigger;
00028 class St_dst_TrgDet;
00029 class StDAQReader;
00030 class StTRGReader;
00031 struct TrgDataType2003;
00032
00033 class St_trg_Maker : public StMaker {
00034 private:
00035 Bool_t drawinit;
00036 StDAQReader *fVictorPrelim;
00037 StTRGReader *fVictor;
00038 struct TrgDataType2003 *mS2003;
00039 unsigned short mActionWord;
00040
00041 void dumpDataToScreenAndExit ();
00042 void dumpDataToScreenAndExit2000();
00043 void dumpDataToScreenAndExit2003();
00044 #if 0
00045 void InitMwcArrays();
00046 #endif
00047 void InitCtbArrays();
00048 int YearOfData(St_DataSet *herb);
00049 void InitCtbArrays2001();
00050 Int_t SanityCheck ();
00051 Int_t SanityCheck2000();
00052 Int_t SanityCheck2003();
00053 int auxctbmap[16],ctbmap[120][2];
00054 #if 0
00055 int auxmwcmap[32],mwcmap[24][4];
00056 #endif
00057 protected:
00058
00059 public:
00060 int getTrayCtb ( float phi, float z ) ;
00061 int HandleCtu(St_ctu_raw *ctu_raw,St_dst_TrgDet *dst1);
00062 #if 0
00063 int HandleMwc(St_mwc_raw *mwc_raw,St_dst_TrgDet *dst1);
00064 #endif
00065 void Vladimir2Herbert(int,int*,int*);
00066 void Emc (St_dst_TrgDet *dst1);
00067 void Emc2000(St_dst_TrgDet *dst1);
00068 void Emc2003(St_dst_TrgDet *dst1);
00069
00070 void CtbMwcDaq (St_dst_TrgDet *dst1);
00071 void CtbMwcDaq2000(St_dst_TrgDet *dst1);
00072 void CtbMwcDaq2003(St_dst_TrgDet *dst1);
00073 void SecondDstSim(St_dst_L0_Trigger *dst2);
00074 void TakeCareOfL1andL2Daq (St_dst_L1_Trigger*,St_dst_L2_Trigger*);
00075 void TakeCareOfL1andL2Daq2000(St_dst_L1_Trigger*,St_dst_L2_Trigger*);
00076 void TakeCareOfL1andL2Daq2003(St_dst_L1_Trigger*,St_dst_L2_Trigger*);
00077 void TakeCareOfL1andL2Sim(St_dst_L1_Trigger*,St_dst_L2_Trigger*);
00078 void SecondDstDaq (St_dst_L0_Trigger *dst2);
00079 void SecondDstDaq2000(St_dst_L0_Trigger *dst2);
00080 void SecondDstDaq2003(St_dst_L0_Trigger *dst2);
00081 void VpdSim(St_dst_TrgDet *dst);
00082 void ZdcSim(St_dst_TrgDet *dst);
00083 void VpdDaq (St_dst_TrgDet *dst);
00084 void VpdDaq2000(St_dst_TrgDet *dst);
00085 void VpdDaq2003(St_dst_TrgDet *dst);
00086 void ZdcDaq (St_dst_TrgDet *dst);
00087 void ZdcDaq2000(St_dst_TrgDet *dst);
00088 void ZdcDaq2003(St_dst_TrgDet *dst);
00089 void BbcDaq2003(St_dst_TrgDet *dst);
00090
00091 int Daq (St_DataSet*,St_dst_TrgDet*,St_dst_L0_Trigger*,St_dst_L1_Trigger*,St_dst_L2_Trigger*);
00092 int Daq2000(St_DataSet*,St_dst_TrgDet*,St_dst_L0_Trigger*,St_dst_L1_Trigger*,St_dst_L2_Trigger*);
00093 int Daq2003(St_DataSet*,St_dst_TrgDet*,St_dst_L0_Trigger*,St_dst_L1_Trigger*,St_dst_L2_Trigger*);
00094 int Sim (St_dst_TrgDet*,St_dst_L0_Trigger*,St_dst_L1_Trigger*,St_dst_L2_Trigger*);
00095
00096 St_trg_Maker(const char *name="trg");
00097 virtual ~St_trg_Maker();
00098
00099 virtual Int_t Init();
00100 virtual Int_t Make();
00101
00102 virtual const char *GetCVS() const {
00103 static const char cvs[]="Tag $Name: $ $Id: St_trg_Maker.h,v 1.23 2009/01/26 15:14:13 fisyak Exp $ built "__DATE__" "__TIME__ ;
00104 return cvs;
00105 }
00106
00107 ClassDef(St_trg_Maker,0)
00108 };
00109
00110 #endif
00111
00112
00113
00114
00115
00116
00117
00118
00119
00120
00121
00122
00123
00124
00125
00126
00127
00128
00129
00130
00131
00132
00133
00134
00135
00136
00137
00138
00139
00140
00141
00142
00143
00144
00145
00146
00147
00148
00149
00150
00151
00152
00153
00154
00155
00156
00157
00158
00159
00160
00161
00162
00163
00164
00165
00166
00167
00168
00169
00170
00171
00172
00173
00174
00175
00176
00177
00178
00179
00180
00181
00182
00183
00184
00185
00186
00187
00188
00189
00190
00191
00192
00193