20 std::string sbSubQuery =
"(SELECT settings_basket_id FROM runs"
22 std::string profileIdSubQuery =
"(SELECT profile_id FROM settings_basket"
23 " WHERE settings_basket_id = " + sbSubQuery +
")";
25 std::string query =
"SELECT"
26 " daq_nbits, sampling_frequency, v_adc_limit_min, v_adc_limit_max, window_length_ms"
27 " FROM digitizers, daqsettings, buildersettings"
30 +
" AND daq_set = (SELECT daq_set from settings_basket WHERE settings_basket_id = " + sbSubQuery +
")"
31 " AND bld_set = (SELECT bld_set from settings_basket WHERE settings_basket_id = " + sbSubQuery +
")"
33 +
" AND profile_id = " + profileIdSubQuery +
")"
34 " AND digitizers.daq_id = daqsettings.daq_id;";
47 int ADCRange = (1<<(chanDataInfo[
"daq_nbits"].begin()->GetInt()));
48 double adcMaxV = chanDataInfo[
"v_adc_limit_max"].begin()->GetDouble();
49 double adcMinV = chanDataInfo[
"v_adc_limit_min"].begin()->GetDouble();
50 chanData.
fADC2mV = (adcMaxV - adcMinV) / ADCRange;
55 = (chanDataInfo[
"window_length_ms"].begin()->GetInt()*chanData.
fSamplingFrequency)/1000;
58 query =
"SELECT td_kind FROM thermaldetectors WHERE td_id ="
60 +
" AND profile_id = " + profileIdSubQuery +
")"
61 " UNION SELECT NULL;";
74 std::string tdKind = chanDataInfo[
"td_kind"].begin()->GetString();
77 if(
"bolometer" == tdKind)
79 else if(
"thermometer" == tdKind)
QChannelRunDataHandle(const int run, const int channel, const std::string &name="ChannelRunData")
basic channel and run based info. Used in the QRunData object.
double fSamplingFrequency
sampling frequency in Hz
int fADCMin
ADC minimum in ADC units.
bool fIsThermometer
is thermometer
int fNumberOfSamples
number of samples in ADC window
int fADCMax
ADC maximum in ADC units.
double fADC2mV
conversion: mV = ADC * fADC2mV
bool fIsBolometer
is bolometer
void Clear()
clear members
QError DoQuery(const std::string &query, QDbTable &table)
std::map< std::string, column > QDbTable
error class with error type and description
the Diana namespace is needed because sometimes we use Qt libraries, that use same class names of our...
std::string IntToString(int val, int width=0, char pad='0')
convert int value to string