1 #ifndef CONFIGPARAMETERS
2 #define CONFIGPARAMETERS
4 #include "pxardllexport.h"
7 #if ((defined WIN32) && (defined __CINT__))
8 typedef unsigned short int uint16_t;
9 typedef unsigned char uint8_t;
16 typedef char __signed;
30 double p0, p1, p2, p3;
40 bool readConfigParameterFile(std::string filename);
41 void readAllConfigParameterFiles();
42 void readRocPixelConfig();
43 void readTbParameters();
46 void readReadbackCal();
50 bool writeConfigParameterFile();
52 bool writeDacParameterFile(
int iroc, std::vector<std::pair<std::string, uint8_t> > );
53 bool writeTrimFile(
int iroc, std::vector<pxar::pixelConfig> );
54 bool writeTbmParameterFile(
int itbm,
55 std::vector<std::pair<std::string, uint8_t> > ,
56 std::vector<std::pair<std::string, uint8_t> > );
57 bool writeTbParameterFile();
58 bool writeTestParameterFile(std::string test=
"all");
59 bool writeReadbackFile(
int iroc, std::vector<std::pair<std::string, double> > v);
60 bool writeMaskFile(std::vector<std::vector<std::pair<int, int> > > v, std::string name =
"");
64 std::string getTBParameterFileName() {
return fTBParametersFileName;}
65 std::string getDACParameterFileName() {
return fDACParametersFileName;}
66 std::string getTbmParameterFileName() {
return fTbmParametersFileName;}
67 std::string getTrimParameterFileName() {
return fTrimParametersFileName;}
68 std::string getTestParameterFileName() {
return fTestParametersFileName;}
69 std::string getGainPedestalParameterFileName() {
return fGainPedestalParameterFileName;}
70 std::string getGainPedestalFileName() {
return fGainPedestalFileName;}
71 std::string getTrimVcalSufix() {
return fTrimVcalSuffix;}
72 std::string getRootFileName() {
return fRootFileName;}
73 std::string getLogFileName() {
return fLogFileName;}
74 std::string getMaskFileName() {
return fMaskFileName;}
75 std::string getDebugFileName() {
return fDebugFileName;}
76 std::string getDirectory() {
return fDirectory;}
77 std::string getRocType() {
return fRocType;}
78 std::string getTbmType() {
return fTbmType;}
79 std::string getHdiType() {
return fHdiType;}
80 std::string getTbName() {
return fTBName;}
82 std::vector<std::pair<std::string,uint8_t> > getTbParameters();
83 std::vector<std::pair<std::string,double> > getTbPowerSettings();
84 std::vector<std::pair<std::string,uint8_t> > getTbSigDelays();
85 std::vector<std::pair<std::string,uint8_t> > getTbPgSettings();
86 std::vector<std::vector<std::pair<std::string, uint8_t> > > getTbmDacs();
87 std::vector<std::vector<std::pair<std::string, uint8_t> > > getRocDacs();
88 std::vector<std::vector<std::pair<std::string, double> > > getReadbackCal();
89 std::vector<std::string> getDacs();
90 std::vector<std::pair<std::string, uint8_t> > readDacFile(std::string fname);
91 std::vector<std::pair<std::string, double> > readReadbackFile(std::string fname);
92 void readTrimFile(std::string fname, std::vector<pxar::pixelConfig>&);
93 std::vector<std::vector<std::pair<int, int> > > readMaskFile(std::string fname);
94 std::vector<std::vector<pxar::pixelConfig> > getRocPixelConfig();
95 std::vector<pxar::pixelConfig> getRocPixelConfig(
int i);
96 bool customI2cAddresses() {
return fI2cAddresses.size() > 0;}
97 std::vector<uint8_t> getI2cAddresses() {
return fI2cAddresses;}
99 bool setTbParameter(std::string, uint8_t,
bool appendIfNotFound =
false);
100 bool setTbPowerSettings(std::string,
double);
101 bool setTbmDac(std::string var, uint8_t val,
int itbm = -1);
102 bool setRocDac(std::string var, uint8_t val,
int iroc = -1);
103 bool setTrimBits(
int trim);
105 void setProbe(std::string probe, std::string value);
106 std::string getProbe(std::string probe);
108 void setTBParameterFileName(std::string filename) {fTBParametersFileName = filename;}
109 void setDACParameterFileName(std::string filename) {fDACParametersFileName = filename;}
110 void setTbmParameterFileName(std::string filename) {fTbmParametersFileName = filename;}
111 void setTrimParameterFileName(std::string filename) {fTrimParametersFileName = filename;}
112 void setTrimVcalSuffix(std::string name,
bool nocheck =
false);
113 void setTestParameterFileName(std::string filename) {fTestParametersFileName = filename;}
114 void setRootFileName(std::string filename) {fRootFileName = filename;}
115 void setLogFileName(std::string filename) {fLogFileName = filename;}
116 void setDebugFileName(std::string filename) {fMaskFileName = filename;}
117 void setMaskFileName(std::string filename) {fDebugFileName = filename;}
118 void setDirectory(std::string dirname) {fDirectory = dirname;}
120 void setGuiMode(
bool a) {fGuiMode = a;}
122 unsigned int getNrocs() {
return fnRocs;}
123 unsigned int getNtbms() {
return fnTbms;}
124 std::vector<int> getSelectedRocs() {
return fSelectedRocs;}
125 std::vector<int> getSelectedTbms() {
return fSelectedTbms;}
126 void setSelectedRocs(std::vector<int> v) {fSelectedRocs = v;}
127 void setSelectedTbms(std::vector<int> v) {fSelectedTbms = v;}
129 void readGainPedestalParameters();
130 void writeGainPedestalParameters();
131 void setGainPedestalParameters(std::vector<std::vector<gainPedestalParameters> >);
132 std::vector<std::vector<gainPedestalParameters> > getGainPedestalParameters();
134 double getIa() {
return ia;}
135 double getId() {
return id;}
136 double getVa() {
return va;}
137 double getVd() {
return vd;}
138 bool getHvOn() {
return fHvOn;}
140 uint8_t getHubId() {
return fHubId;}
142 static bool bothAreSpaces(
char lhs,
char rhs);
143 void replaceAll(std::string& str,
const std::string& from,
const std::string& to);
144 void cleanupString(std::string& str);
145 void readNrocs(std::string line);
149 bool fReadTbParameters, fReadTbmParameters, fReadDacParameters, fReadRocPixelConfig, fReadReadbackCal;
150 std::vector<std::pair<std::string, uint8_t> > fTbParameters;
151 std::vector<std::pair<std::string, double> > fTbPowerSettings;
152 std::vector<std::pair<uint16_t, uint8_t> > fTbPgSettings;
153 std::vector<std::vector<std::pair<std::string, uint8_t> > > fTbmParameters, fDacParameters;
154 std::vector<std::vector<std::pair<std::string, double> > > fReadbackCal;
155 std::vector<std::vector<pxar::pixelConfig> > fRocPixelConfigs;
156 std::vector<int> fSelectedRocs, fSelectedTbms;
158 std::vector<std::vector<gainPedestalParameters> > fGainPedestalParameters;
160 unsigned int fnCol, fnRow, fnRocs, fnTbms, fnModules, fHubId;
162 std::vector<uint8_t> fI2cAddresses;
163 int fEmptyReadoutLength, fEmptyReadoutLengthADC, fEmptyReadoutLengthADCDual, fTbmChannel;
164 float ia, id, va, vd;
165 float rocZeroAnalogCurrent;
166 std::string fRocType, fTbmType, fHdiType;
167 std::string fDirectory;
169 bool fHvOn, fTbmEnable, fTbmEmulator, fKeithleyRemote, fGuiMode;
170 std::string fProbeA1,fProbeA2, fProbeD1, fProbeD2;
172 std::string fTBParametersFileName;
173 std::string fTrimVcalSuffix;
174 std::string fDACParametersFileName;
175 std::string fTbmParametersFileName;
176 std::string fTrimParametersFileName;
177 std::string fTestParametersFileName;
178 std::string fRootFileName;
179 std::string fLogFileName;
180 std::string fMaskFileName;
181 std::string fDebugFileName;
182 std::string fGainPedestalFileName, fGainPedestalParameterFileName;
183 std::string fReadbackCalFileName;