StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
l3EmcCalibration.h
1 #ifndef EMC_CALIBRATION_H
2 #define EMC_CALIBRATION_H
3 
4 #include <iostream>
5 //#include <fstream>
6 
7 using namespace std;
8 
10 {
11 public:
13 
14  inline float getPhi() { return phi; };
15  inline float getEta() { return eta; };
16  inline float getEtaMin() { return etamin; };
17  inline float getEtaMax() { return etamax; };
18  inline float getPed() { return ped; };
19  inline float getGain() { return gain; };
20  inline int getID() { return id; };
21  inline int getDaqID() { return daqId; };
22 
23  inline void setPhi(float _phi) { phi = _phi ; };
24  inline void setEta(float _eta) { eta = _eta ; };
25  inline void setEtaMin(float _etamin) { etamin = _etamin ; };
26  inline void setEtaMax(float _etamax) { etamax = _etamax ; };
27  inline void setPed(float _ped) { ped= _ped ; };
28  inline void setGain(float _gain) { gain = _gain ; }
29  inline void setID(int _id) { id = _id ; } ;
30  inline void setDaqID(int _daqid) { daqId = _daqid ; } ;
31 
32  inline void set(float _phi, float _eta, float _etamin, float _etamax,
33  float _ped, float _gain, int _id, int _daqID) {
34  setPhi(_phi);
35  setEta(_eta);
36  setEtaMin(_etamin);
37  setEtaMax(_etamax);
38  setPed(_ped);
39  setGain(_gain);
40  setID(_id);
41  setDaqID(_daqID);
42  }
43 
44 private:
45  float phi;
46  float eta;
47  float etamin;
48  float etamax;
49  float ped;
50  float gain;
51  int id;
52  int daqId;
53 };
54 
55 
56 // The class l3EmcCalibration translates from DAQ tower IDs to other
57 // tower information
58 
60 {
61 public:
62  l3EmcCalibration(int nTow);
64 
65  int loadMap(const char *filename);
66  int loadTextMap(const char *filename);
67  int saveTextMap(const char *filename);
68 
69  inline l3EmcTowerInfo *getTowerInfo(int ID) {
70  return &(tower[ID]);
71  }
72 
73  inline int daqToId(int daq) { if(daq > nTowers) return 0; else return daq2id[daq]; }
74 
75  inline int getNTowers() { return nTowers; }
76 
77 private:
78 
79  int nTowers;
80  l3EmcTowerInfo *tower;
81 
82  int *daq2id;
83 
84  struct colDef_t {
85 
86  void set(int _nCols, int _id, int _daqId, int _phi,
87  int _eta, int _etamin, int _etamax, int _ped, int _gain) {
88 
89  nCols = _nCols;
90  id = _id;
91  daqId = _daqId;
92  phi = _phi;
93  eta = _eta;
94  etamin = _etamin;
95  etamax = _etamax;
96  ped = _ped;
97  gain = _gain;
98 
99  }
100 
101 
102  int nCols;
103 
104  int id;
105  int daqId;
106 
107  int phi;
108  int eta;
109  int etamin;
110  int etamax;
111 
112  int ped;
113  int gain;
114  };
115 
116  int readCalib(ifstream *from, colDef_t colDef);
117 
118 };
119 
120 
121 
122 #endif