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