StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
StGammaTower.h
1 // //
3 // StGammaTower //
4 // //
5 // Lightweight class to hold tower information //
6 // //
7 // Definition of layers //
8 // //
9 // 0 - endcap tower //
10 // 1 - endcap preshower 1 //
11 // 2 - endcap preshower 2 //
12 // 3 - endcap postshower //
13 // //
14 // 10 - barrel tower //
15 // 11 - barrel preshower //
16 // //
17 // Original concept and implementation by //
18 // Jason Webb (Valpo) //
19 // //
21 
22 #ifndef STAR_StGammaTower_h
23 #define STAR_StGammaTower_h
24 
25 #include <TObject.h>
26 #include <vector>
27 #include <TRefArray.h>
28 #include <TMath.h>
29 
30 enum { kEEmcTower=0, kEEmcPre1, kEEmcPre2, kEEmcPost, kBEmcTower=10, kBEmcPres=11 };
31 
32 class StGammaTower: public TObject
33 {
34 
35  public:
36  StGammaTower() {};
37  ~StGammaTower() {};
38 
39  virtual const char* GetCVS() const
40  {static const char cvs[] = "Tag $Name: $ $Id: StGammaTower.h,v 1.7 2014/08/06 11:43:18 jeromel Exp $ built " __DATE__ " " __TIME__; return cvs; }
41 
42  Int_t id; // ID of the tower
43  Float_t energy; // scalar energy
44  Float_t eta; // eta (from event vertex to smd depth, or pre/post depth)
45  Float_t phi; // phi (from event vertex to smd depth, or pre/post depth)
46  Int_t stat; // status bits (non fatal HW problems)
47  Int_t fail; // fail bits (fatal HW problems)
48  Int_t layer; // see below
49 
50  Float_t pt() { return energy / TMath::CosH(eta); }
51 
52  Int_t sector(); // returns eemc sector [0,11]
53  Int_t subsector(); // returns eemc subsector [0,4]
54  Int_t etabin(); // returns eemc etabin [0,11]
55  Int_t phibin();
56 
57  TRefArray candidates; // referencing candidates
58  TRefArray tracks; // tracks which project to the tower
59 
60  ClassDef(StGammaTower, 3);
61 
62 };
63 
64 typedef std::vector<StGammaTower> StGammaTowerVec_t;
65 
66 #endif
Int_t subsector()