StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
BtofHitList.h
1 #ifndef BtofHitList_h
2 #define BtofHitList_h
3 
4 #include "StGenericVertexMaker/StiPPVertex/ScintHitList.h"
5 #include <vector>
6 
7 #ifndef ST_NO_NAMESPACES
8 using std::vector;
9 #endif
10 #ifndef __CINT__
11 #if !defined(ST_NO_TEMPLATE_DEF_ARGS)
12 typedef vector<Int_t> IntVec;
13 #else
14 typedef vector<Int_t, allocator<Int_t> > IntVec;
15 #endif
16 #endif
17 
18 class StBTofTables;
19 class StBTofCollection;
20 class StBTofGeometry;
21 class St_db_Maker;
22 
23 
24 class BtofHitList : public ScintHitList {
25  private:
26  enum {mxTray=120,mxModule=32,mxCell=6};
27  int tmc2bin[mxTray][mxModule][mxCell]; // map {t,m,c}--> my bin
28  StBTofTables *myTable;
29 
30  StBTofGeometry* geometry;
31 
32  public:
33  BtofHitList();
34  virtual ~BtofHitList();
35  void clear();
36  void initRun(St_db_Maker* db_maker);
37  void build(StBTofCollection *btofColl);
38  int cell2bin(int tray, int module, int cell);
39  int addBtofTrack(int tray, int module, int cell);
40  int addBtofMatch(IntVec ibinVec);
41  bool isMatched(IntVec ibinVec);
42  bool isVetoed(IntVec ibinVec);
43  float getWeight(IntVec ibinVec);
44  virtual int etaBin(float eta);
45  virtual float bin2EtaLeft(int iEta);
46 
47  StBTofGeometry* Geometry() { return geometry; }
48 };
49 
50 #endif