00001 #ifndef BtofHitList_h
00002 #define BtofHitList_h
00003
00004 #include "ScintHitList.h"
00005 #include <vector>
00006 #ifndef ST_NO_NAMESPACES
00007 using std::vector;
00008 #endif
00009 #ifndef __CINT__
00010 #if !defined(ST_NO_TEMPLATE_DEF_ARGS)
00011 typedef vector<Int_t> IntVec;
00012 #else
00013 typedef vector<Int_t, allocator<Int_t> > IntVec;
00014 #endif
00015 #endif
00016
00017 class StBTofTables;
00018 class StBTofCollection;
00019
00020 class BtofHitList : public ScintHitList {
00021 private:
00022 enum {mxTray=120,mxModule=32,mxCell=6};
00023 int tmc2bin[mxTray][mxModule][mxCell];
00024 StBTofTables *myTable;
00025
00026 public:
00027 BtofHitList();
00028 virtual ~BtofHitList();
00029 void clear();
00030 void initRun();
00031 void build(StBTofCollection *btofColl);
00032 int cell2bin(int tray, int module, int cell);
00033 int addBtofTrack(int tray, int module, int cell);
00034 int addBtofMatch(IntVec ibinVec);
00035 bool isMatched(IntVec ibinVec);
00036 bool isVetoed(IntVec ibinVec);
00037 float getWeight(IntVec ibinVec);
00038 virtual int etaBin(float eta);
00039 virtual float bin2EtaLeft(int iEta);
00040 };
00041
00042 #endif