00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011 #ifndef STAR_StGenericL2Emulator
00012 #define STAR_StGenericL2Emulator
00013 #include <vector>
00014
00015 class StTriggerSimuMaker;
00016 class StEEmcDb;
00017 class StEmcGeom;
00018 class StEmcDecoder;
00019 class L2EmcDb;
00020
00021 #include "L2algoUtil/L2VirtualAlgo.h"
00022 #include "StVirtualTriggerSimu.h"
00023
00024
00025 class StGenericL2Emulator {
00026 private:
00027 int mTotInpEve;
00028 TString mOutPath;
00029 TString mSetPath;
00030
00031 void doBanksFromStRawData();
00032 void doBanksFromMuDst();
00033
00034
00035 StEEmcDb *mDbE;
00036 StEmcGeom *mGeomB;
00037 StEmcDecoder *mMappB;
00038
00039
00040
00041
00042 protected:
00043 int mMCflag;
00044 int mYear;
00045 bool mUseMuDst;
00046
00047
00048 L2VirtualAlgo **mL2algo;
00049 int mL2algoN;
00050
00051 L2EmcDb *mL2EmcDb;
00052 int mYearMonthDay,mHourMinSec;
00053 TString mSetupPath;
00054
00055
00056 unsigned short *mBTOW_BANK;
00057 unsigned short *mETOW_BANK;
00058 int mBTOW_in, mETOW_in;
00059 void *mTrigData;
00060
00061 void init();
00062 void make();
00063 void addTriggerList();
00064 void initRun1();
00065 void initRun2(int runNo);
00066 void finish();
00067 void clear();
00068
00069 public:
00070 StGenericL2Emulator();
00071 virtual ~StGenericL2Emulator();
00072 void printBEtowers();
00073 void printBEblocks();
00074
00075 unsigned short *getBtowBank(){return mBTOW_BANK;}
00076 unsigned short *getEtowBank(){return mETOW_BANK;}
00077 int getBtowIn(){return mBTOW_in;}
00078 int getEtowIn(){return mETOW_in;}
00079
00080 void useStEvent() {mUseMuDst=false;}
00081 void setMC(int x=true) {mMCflag=x;}
00082 void setSetupPath(char *x) { mSetupPath=x;}
00083 void setOutPath(char *x) { mOutPath=x;}
00084
00085 vector <int> mAcceptTriggerList;
00086 vector <int> mVetoTriggerList;
00087 StTriggerSimuDecision isTrigger(int trigId);
00088
00090 const unsigned int* result() const;
00091
00092 ClassDef(StGenericL2Emulator,0)
00093 };
00094
00095 #endif
00096
00097
00098
00099
00100
00101
00102
00103
00104
00105
00106
00107
00108
00109
00110
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