Hall-D Software  alpha
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
DTAGMGeometry.h
Go to the documentation of this file.
1 //
2 // File: DTAGMGeometry.h
3 // Created: Sat Jul 5, 10:09:27 EST 2014
4 // Creator: jonesrt on gluey.phys.uconn.edu
5 //
6 
7 #ifndef _DTAGMGeometry_
8 #define _DTAGMGeometry_
9 
10 #include <string>
11 
12 #include <JANA/JFactory.h>
13 #include <JANA/JObject.h>
14 using namespace jana;
15 
16 #include "units.h"
17 
18 #define TAGM_MAX_ROW 5
19 #define TAGM_MAX_COLUMN 102
20 
21 
22 class DTAGMGeometry : public JObject {
23  public:
24 
25  JOBJECT_PUBLIC(DTAGMGeometry);
26 
27  DTAGMGeometry(JEventLoop *loop);
28  ~DTAGMGeometry();
29 
30  static const unsigned int kRowCount;
31  static const unsigned int kColumnCount;
32  static const double kFiberWidth; // cm
33  static const double kFiberLength; // cm
34 
35  // columns are numbered 1..kColumnCount
36  double getElow(unsigned int column) const;
37  double getEhigh(unsigned int column) const;
38  bool E_to_column(double E, unsigned int &column) const;
39 
40  void toStrings(vector<pair<string,string> > &items) const {
41  AddString(items, "kFiberWidth", "%f cm", kFiberWidth);
42  AddString(items, "kFiberLength", "%f cm", kFiberLength);
43  AddString(items, "kRowCount", "%d", kRowCount);
44  AddString(items, "kColumnCount", "%d", kColumnCount);
45  }
46 
47  private:
49  double m_column_xlow[TAGM_MAX_COLUMN+1];
50  double m_column_xhigh[TAGM_MAX_COLUMN+1];
51 };
52 
53 #endif // _DTAGMGeometry_
static const double kFiberLength
Definition: DTAGMGeometry.h:33
#define TAGM_MAX_COLUMN
Definition: DTAGMGeometry.h:19
static const double kFiberWidth
Definition: DTAGMGeometry.h:32
void toStrings(vector< pair< string, string > > &items) const
Definition: DTAGMGeometry.h:40
static const unsigned int kRowCount
Definition: DTAGMGeometry.h:30
static const unsigned int kColumnCount
Definition: DTAGMGeometry.h:31
double m_endpoint_energy_GeV
Definition: DTAGMGeometry.h:48