StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
StjeBemcEnergySumCalculator.h
1 // -*- mode: c++;-*-
2 // $Id: StjeBemcEnergySumCalculator.h,v 1.7 2008/11/04 08:08:11 tai Exp $
3 // Copyright (C) 2008 Tai Sakuma <sakuma@bnl.gov>
4 #ifndef STJEBEMCENERGYSUMCALCULATOR_H
5 #define STJEBEMCENERGYSUMCALCULATOR_H
6 
7 #include "StjTowerEnergyList.h"
8 
9 class StjBEMC;
11 
13 
14 public:
15 
17  virtual ~StjeBemcEnergySumCalculator() { }
18 
19  virtual void Init() { }
20  virtual void Make() { }
21  virtual void Clear() { }
22 
23  virtual int nDylanPoints() const = 0;
24  virtual double sumEmcEt() const = 0;
25 
26 private:
27 
28 };
29 
31 
32 public:
33 
35  virtual ~StjeBemcEnergySumCalculatorNull() { }
36 
37  void Init() { }
38  void Make() { }
39  void Clear() { }
40 
41  int nDylanPoints() const { return 0; }
42  double sumEmcEt() const { return 0; }
43 
44 private:
45 
46 };
47 
49 
50 public:
51 
53  virtual ~StjeBemcEnergySumCalculatorImp() { }
54 
55  void Init();
56  void Make();
57  void Clear();
58 
59  int nDylanPoints() const { return _DylanPoints; }
60  double sumEmcEt() const { return _SumEmcEt; }
61 
62 private:
63 
64  double sumEnergyOverBemcTowers(double minE, const StjTowerEnergyList &energyDepositList);
65 
66  int numberOfBemcTowersWithEnergyAbove(double minE, const StjTowerEnergyList &energyDepositList);
67 
68  StjBEMC* _bemc;
70 
71  int _DylanPoints;
72  double _SumEmcEt;
73 
74 };
75 
76 #endif // STJEBEMCENERGYSUMCALCULATOR_H