Hall-D Software  alpha
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
DPSGeometry.h
Go to the documentation of this file.
1 
2 #ifndef _DPSGeometry_
3 #define _DPSGeometry_
4 
5 #include <JANA/JObject.h>
6 #include <JANA/JFactory.h>
7 using namespace jana;
8 
9 #include <string>
10 
11 class DPSGeometry : public JObject {
12 
13  public:
14 
15  JOBJECT_PUBLIC(DPSGeometry);
16 
17  DPSGeometry(JEventLoop *loop);
18  ~DPSGeometry();
19 
20  enum Arm { kNorth, kSouth };
21 
22  static const int NUM_ARMS = 2;
23 
24  // number of channels in coarse and fine detectors in each arm
25  static const int NUM_COARSE_COLUMNS = 8;
26  static const int NUM_FINE_COLUMNS = 145;
27 
28  // columns are numbered 1..NUM_FINE_COLUMNS; arm is 0:North or 1:South
29  double getElow(int arm,int column) const;
30  double getEhigh(int arm,int column) const;
31 
32  private:
33  double m_energy_low[NUM_ARMS][NUM_FINE_COLUMNS];
34  double m_energy_high[NUM_ARMS][NUM_FINE_COLUMNS];
35 };
36 
37 #endif // _DPSGeometry_