StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
L2eventStream2009.h
1 #ifndef L2eventStream2009_h
2 #define L2eventStream2009_h
3 #include "L2EmcGeom.h"
4 
5 
6 class L2btowCalAlgo09;
7 class L2etowCalAlgo09;
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  float low_noise_et;//GeV
16 };
17 
18 //........................................
19 class L2BtowCalibData09{// Barrel calibrated data
20  public:
21  enum {mxListSize=500}; // keep this size small
22  private:
23  friend class L2btowCalAlgo09;
24  friend class L2eventStream2009;
25  int hitSize;
26  HitTower1 hit[mxListSize];
27  int nInputBlock; // counts seen blocks over the whole run
28  public:
29  const int get_hitSize() const {return hitSize;}
30  const HitTower1 * get_hits() const { return hit;}
31 };
32 
33 
34 //........................................
35 class L2EtowCalibData09{// Endcap calibrated data
36  public:
37  enum {mxListSize=200}; // keep this size small
38  private:
39  friend class L2etowCalAlgo09;
40  friend class L2eventStream2009;
41  int hitSize;
42  HitTower1 hit[mxListSize];
43  int nInputBlock; // counts seen blocks over the whole run
44  public:
45  const int get_hitSize() const {return hitSize;}
46  const HitTower1 * get_hits() const { return hit;}
47 };
48 
49 
50 //========================================
51 class L2eventStream2009{ // E V E N T S T R E A M
52  public:
53  enum {mxToken=4096, tokenZero=0, tokenMask=0xfff};
54  private:
55  friend class L2btowCalAlgo09;
56  friend class L2etowCalAlgo09;
57 
58  L2BtowCalibData09 btow[mxToken];
59  L2EtowCalibData09 etow[mxToken];
60 
61  public:
62  const L2BtowCalibData09 * get_btow() { return btow;}
63  const L2EtowCalibData09 * get_etow() { return etow;}
64 
65 };
66 
67 extern L2eventStream2009 globL2eventStream2009;
68 #endif
69