StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
L2eventStream2008.h
1 #ifndef L2eventStream2008_h
2 #define L2eventStream2008_h
3 #include "L2EmcGeom.h"
4 
5 
6 class L2btowCalAlgo08;
7 class L2etowCalAlgo08;
8 
9 //........................................
10 class HitTower1{// single tower container
11  public:
12  short rdo;
13  short adc; // ADC, pedestal corrected
14  float et,ene; // GeV
15 };
16 
17 //........................................
18 class L2BtowCalibData08{// Barrel calibrated data
19  public:
20  enum {mxListSize=500}; // keep this size small
21  private:
22  friend class L2btowCalAlgo08;
23  friend class L2eventStream2008;
24  int hitSize;
25  HitTower1 hit[mxListSize];
26  int nInputBlock; // counts seen blocks over the whole run
27  public:
28  const int get_hitSize() const {return hitSize;}
29  const HitTower1 * get_hits() const { return hit;}
30 };
31 
32 
33 //........................................
34 class L2EtowCalibData08{// Endcap calibrated data
35  public:
36  enum {mxListSize=200}; // keep this size small
37  private:
38  friend class L2etowCalAlgo08;
39  friend class L2eventStream2008;
40  int hitSize;
41  HitTower1 hit[mxListSize];
42  int nInputBlock; // counts seen blocks over the whole run
43  public:
44  const int get_hitSize() const {return hitSize;}
45  const HitTower1 * get_hits() const { return hit;}
46 };
47 
48 
49 //========================================
50 class L2eventStream2008{ // E V E N T S T R E A M
51  public:
52  enum {mxToken=4096, tokenZero=0, tokenMask=0xfff};
53  private:
54  friend class L2btowCalAlgo08;
55  friend class L2etowCalAlgo08; // not implemented yet
56 
57  L2BtowCalibData08 btow[mxToken];
58  L2EtowCalibData08 etow[mxToken];// not implemented yet
59 
60  public:
61  const L2BtowCalibData08 * get_btow() { return btow;}
62  const L2EtowCalibData08 * get_etow() { return etow;}
63 };
64 
65 extern L2eventStream2008 globL2eventStream2008;
66 #endif
67