Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
dbutils::daqconfig::DCMHardwareConfig Class Reference

#include "/cvmfs/nova-development.opensciencegrid.org/novasoft/releases/N20-12-02/DatabaseUtils/cxx/include/DAQConfig/DCMHardwareConfig.h"

Public Member Functions

 DCMHardwareConfig (const std::vector< int64_t > &subsystemConfigIdList, const std::string &dcmName, bool loadDataImmediately=true)
 
 DCMHardwareConfig (const SubsystemNameSpec &nameSpec, const std::string &dcmName, bool loadDataImmediately=true)
 
 DCMHardwareConfig (const GlobalNameSpec &nameSpec, const std::string &dcmName, bool loadDataImmediately=true)
 
 DCMHardwareConfig (const int64_t &globalConfigId, const std::string &dcmName, bool loadDataImmediately=true)
 
virtual ~DCMHardwareConfig ()
 
void loadData ()
 
virtual bool hasValidData () const
 
int64_t getPrimarySubsystemConfigId () const
 
int getEnabledPixelCount ()
 

Protected Member Functions

bool _fetchNamedConfigList (const SubsystemNameSpec &nameSpec, std::vector< int64_t > &idList)
 
bool _fetchNamedConfigList (const GlobalNameSpec &nameSpec, std::vector< int64_t > &idList)
 
bool _fetchAllData (const std::vector< int64_t > &subsystemConfigIdList, const std::string &dcmName)
 
bool _fetchDCMSystemParams (const std::vector< int64_t > &subsystemConfigIdList)
 
bool _fetchDCMFirmwareLocations (const std::vector< int64_t > &subsystemConfigIdList, const std::string &dcmName)
 
bool _fetchFEBFirmwareLocations (const std::vector< int64_t > &subsystemConfigIdList, const std::string &dcmName)
 
bool _fetchFEBEnableMasks (const std::vector< int64_t > &subsystemConfigIdList, const std::string &dcmName)
 
bool _fetchDCMDataDevValues (const std::vector< int64_t > &subsystemConfigIdList, const std::string &dcmName)
 
bool _fetchTimingSystemValues (const std::vector< int64_t > &subsystemConfigIdList, const std::string &dcmName)
 
bool _fetchDCMFPGAParams (const std::vector< int64_t > &subsystemConfigIdList, const std::string &dcmName)
 
bool _fetchDCMApplicationParams (const std::vector< int64_t > &subsystemConfigIdList, const std::string &dcmName)
 
bool _fetchPixelEnableMasks (const std::vector< int64_t > &subsystemConfigIdList, const std::string &dcmName)
 
bool _fetchASICRegisterValues (const std::vector< int64_t > &subsystemConfigIdList, const std::string &dcmName)
 
bool _fetchDSODataRegulatorValues (const std::vector< int64_t > &subsystemConfigIdList, const std::string &dcmName)
 
bool _fetchFEBPulserValues (const std::vector< int64_t > &subsystemConfigIdList, const std::string &dcmName)
 
bool _fetchPixelOffsets (const std::vector< int64_t > &subsystemConfigIdList, const std::string &dcmName)
 
bool _fetchPixelThresholds (const std::vector< int64_t > &subsystemConfigIdList, const std::string &dcmName)
 

Protected Attributes

std::string _dcmName
 
std::vector< int64_t > _subsystemConfigIdList
 
bool _hasValidData
 
int64_t _primarySubsystemConfigId
 
boost::mutex _dataMutex
 
int32_t _microsliceTimeLength
 
std::string _dcmFPGAMode
 
std::string _dcmFirmwareLocation
 
int32_t _forceDCMFirmwareProgramming
 
std::string _febFirmwareLocation
 
int32_t _forceFEBFirmwareProgramming
 
int64_t _febEnableMask
 
int32_t _dcmReadTimeout
 
int32_t _useMemoryMappedBuffer
 
int16_t _timingSystemEnable
 
int16_t _timingSystemPort
 
int32_t _tduFirmwareVersion
 
int16_t _timingHistoryEnable
 
int32_t _fpgaLinkTimeout
 
int32_t _doDCMFPGAReset
 
int32_t _nanoSliceVersion
 
int16_t _numberOfHwConfigAttempts
 
std::vector< int32_t > _pixelEnableList
 
std::vector< dbutils::daqconfig::ASICRegisterValueSet_asicRegisterValueList
 
std::vector< int16_t > _dsoPointsPerPixelList
 
std::vector< dbutils::daqconfig::FEBPulserParameterSet_pulserParameterList
 
std::vector< boost::shared_ptr< std::vector< int16_t > > > _pixelOffsetArray
 
std::vector< boost::shared_ptr< std::vector< int16_t > > > _pixelThresholdArray
 

Detailed Description

Worker class to handle fetching and formatting of DCM hardware configuration data.

Author
Kurt Biery
Version
Revision
1.21.14.1
Date
2019/09/27 00:07:03

Definition at line 25 of file DCMHardwareConfig.h.

Constructor & Destructor Documentation

dbutils::daqconfig::DCMHardwareConfig::DCMHardwareConfig ( const std::vector< int64_t > &  subsystemConfigIdList,
const std::string dcmName,
bool  loadDataImmediately = true 
)

Creates a DCM hardware configuration object from the specified list of subsystem configuration IDs.

Parameters
subsystemConfigIdListThe list of subsystem configuration IDs.
dcmNameThe name of the DCM of interest.

Definition at line 26 of file DCMHardwareConfig.cpp.

References loadData().

Referenced by DCMHardwareConfig().

27  :
28  _dcmName(dcmName), _subsystemConfigIdList(subsystemConfigIdList),
30 {
31  if (loadDataImmediately) {loadData();}
32 }
std::vector< int64_t > _subsystemConfigIdList
dbutils::daqconfig::DCMHardwareConfig::DCMHardwareConfig ( const SubsystemNameSpec nameSpec,
const std::string dcmName,
bool  loadDataImmediately = true 
)

Creates a DCM hardware configuration object from the specified subsystem configuration specification.

Parameters
nameSpecThe named configuration of interest.
dcmNameThe name of the DCM of interest.

Definition at line 42 of file DCMHardwareConfig.cpp.

References _fetchNamedConfigList(), _subsystemConfigIdList, DCMHardwareConfig(), and loadData().

43  :
44  _dcmName(dcmName), _hasValidData(false),
46 {
48  if (loadDataImmediately) {loadData();}
49 }
bool _fetchNamedConfigList(const SubsystemNameSpec &nameSpec, std::vector< int64_t > &idList)
std::vector< int64_t > _subsystemConfigIdList
dbutils::daqconfig::DCMHardwareConfig::DCMHardwareConfig ( const GlobalNameSpec nameSpec,
const std::string dcmName,
bool  loadDataImmediately = true 
)

Creates a DCM hardware configuration object from the specified global configuration specification.

Parameters
nameSpecThe named configuration of interest.
dcmNameThe name of the DCM of interest.

Definition at line 59 of file DCMHardwareConfig.cpp.

References _fetchNamedConfigList(), _subsystemConfigIdList, DCMHardwareConfig(), and loadData().

60  :
61  _dcmName(dcmName), _hasValidData(false),
63 {
65  if (loadDataImmediately) {loadData();}
66 }
bool _fetchNamedConfigList(const SubsystemNameSpec &nameSpec, std::vector< int64_t > &idList)
std::vector< int64_t > _subsystemConfigIdList
dbutils::daqconfig::DCMHardwareConfig::DCMHardwareConfig ( const int64_t &  globalConfigId,
const std::string dcmName,
bool  loadDataImmediately = true 
)

Creates a DCM hardware configuration object from the specified global configuration ID.

Parameters
globalConfigIdThe ID of the global configuration of interest.
dcmNameThe name of the DCM of interest.

Definition at line 76 of file DCMHardwareConfig.cpp.

References _subsystemConfigIdList, dbutils::daqconfig::IDSpec::DAQ, dbutils::daqconfig::NamedConfigUtils::getSubsystemConfigIdAncestryFromGlobalId(), dbutils::daqconfig::IDSpec::GLOBAL, and loadData().

77  :
78 
79  _dcmName(dcmName), _hasValidData(false),
81 {
82  IDSpec idSpec(globalConfigId, IDSpec::GLOBAL, IDSpec::DAQ);
85  SubsystemNameSpec::
86  DCM_SUBSYSTEM_NAME,
87  SubsystemNameSpec::
88  HARDWARE_CONFIG_TYPE,
90  if (loadDataImmediately) {loadData();}
91 }
std::vector< int64_t > _subsystemConfigIdList
static bool getSubsystemConfigIdAncestryFromGlobalId(const IDSpec &globalConfigId, const std::string &subsystemName, const std::string &subsystemConfigType, std::vector< int64_t > &idList, const std::string &globalNamesTableFile=DEFAULT_GLOBAL_NAMES_TABLE_FILE, const std::string &subsystemNamesTableFile=DEFAULT_SUBSYSTEM_NAMES_TABLE_FILE)
virtual dbutils::daqconfig::DCMHardwareConfig::~DCMHardwareConfig ( )
inlinevirtual

Definition at line 49 of file DCMHardwareConfig.h.

References loadData().

49 {};

Member Function Documentation

bool dbutils::daqconfig::DCMHardwareConfig::_fetchAllData ( const std::vector< int64_t > &  subsystemConfigIdList,
const std::string dcmName 
)
protected

Definition at line 194 of file DCMHardwareConfig.cpp.

References _fetchASICRegisterValues(), _fetchDCMApplicationParams(), _fetchDCMDataDevValues(), _fetchDCMFirmwareLocations(), _fetchDCMFPGAParams(), _fetchDCMSystemParams(), _fetchDSODataRegulatorValues(), _fetchFEBEnableMasks(), _fetchFEBFirmwareLocations(), _fetchFEBPulserValues(), _fetchPixelEnableMasks(), _fetchPixelOffsets(), _fetchPixelThresholds(), _fetchTimingSystemValues(), and fabricate::status.

Referenced by _fetchNamedConfigList(), getPrimarySubsystemConfigId(), and loadData().

196 {
197  bool status = true;
198 
199  // system-wide data
200  if (status) {
201  status = _fetchDCMSystemParams(subsystemConfigIdList);
202  }
203 
204  // dcm-specific data
205  if (status) {
206  status = _fetchDCMFirmwareLocations(subsystemConfigIdList, dcmName);
207  }
208  if (status) {
209  status = _fetchFEBFirmwareLocations(subsystemConfigIdList, dcmName);
210  }
211  if (status) {
212  status = _fetchFEBEnableMasks(subsystemConfigIdList, dcmName);
213  }
214  if (status) {
215  status = _fetchDCMDataDevValues(subsystemConfigIdList, dcmName);
216  }
217  if (status) {
218  status = _fetchTimingSystemValues(subsystemConfigIdList, dcmName);
219  }
220  if (status) {
221  status = _fetchDCMFPGAParams(subsystemConfigIdList, dcmName);
222  }
223  if (status) {
224  status = _fetchDCMApplicationParams(subsystemConfigIdList, dcmName);
225  }
226 
227  // feb-specific data
228  if (status) {
229  status = _fetchPixelEnableMasks(subsystemConfigIdList, dcmName);
230  }
231  if (status) {
232  status = _fetchASICRegisterValues(subsystemConfigIdList, dcmName);
233  }
234  if (status) {
235  status = _fetchDSODataRegulatorValues(subsystemConfigIdList, dcmName);
236  }
237  if (status) {
238  status = _fetchFEBPulserValues(subsystemConfigIdList, dcmName);
239  }
240 
241  // pixel-specific data
242  if (status) {
243  status = _fetchPixelOffsets(subsystemConfigIdList, dcmName);
244  }
245  if (status) {
246  status = _fetchPixelThresholds(subsystemConfigIdList, dcmName);
247  }
248 
249  return status;
250 }
bool _fetchPixelOffsets(const std::vector< int64_t > &subsystemConfigIdList, const std::string &dcmName)
bool _fetchDCMFPGAParams(const std::vector< int64_t > &subsystemConfigIdList, const std::string &dcmName)
int status
Definition: fabricate.py:1613
bool _fetchDCMFirmwareLocations(const std::vector< int64_t > &subsystemConfigIdList, const std::string &dcmName)
bool _fetchDSODataRegulatorValues(const std::vector< int64_t > &subsystemConfigIdList, const std::string &dcmName)
bool _fetchPixelEnableMasks(const std::vector< int64_t > &subsystemConfigIdList, const std::string &dcmName)
bool _fetchFEBEnableMasks(const std::vector< int64_t > &subsystemConfigIdList, const std::string &dcmName)
bool _fetchFEBPulserValues(const std::vector< int64_t > &subsystemConfigIdList, const std::string &dcmName)
bool _fetchPixelThresholds(const std::vector< int64_t > &subsystemConfigIdList, const std::string &dcmName)
bool _fetchASICRegisterValues(const std::vector< int64_t > &subsystemConfigIdList, const std::string &dcmName)
bool _fetchDCMApplicationParams(const std::vector< int64_t > &subsystemConfigIdList, const std::string &dcmName)
bool _fetchDCMDataDevValues(const std::vector< int64_t > &subsystemConfigIdList, const std::string &dcmName)
bool _fetchTimingSystemValues(const std::vector< int64_t > &subsystemConfigIdList, const std::string &dcmName)
bool _fetchFEBFirmwareLocations(const std::vector< int64_t > &subsystemConfigIdList, const std::string &dcmName)
bool _fetchDCMSystemParams(const std::vector< int64_t > &subsystemConfigIdList)
bool dbutils::daqconfig::DCMHardwareConfig::_fetchASICRegisterValues ( const std::vector< int64_t > &  subsystemConfigIdList,
const std::string dcmName 
)
protected

Definition at line 502 of file DCMHardwareConfig.cpp.

References _asicRegisterValueList, _fetchDSODataRegulatorValues(), dbutils::daqconfig::ConfigDataSelector::addSelectionColumn(), dbutils::daqconfig::DBColumnParams::DCMID_COLUMN_NAME, dbutils::daqconfig::DBColumnParams::FEBID_COLUMN_NAME, dbutils::daqconfig::ConfigDataTree::getEffectiveValueFor2Keys(), and dbutils::daqconfig::HIGH_FEB_ID.

Referenced by _fetchAllData(), _fetchPixelEnableMasks(), and getPrimarySubsystemConfigId().

504 {
505  ConfigDataSelector cfgSelector;
506  cfgSelector.addSelectionColumn(DBColumnParams::DCMID_COLUMN_NAME,
507  dcmName, dcmName);
508  cfgSelector.addSelectionColumn(DBColumnParams::FEBID_COLUMN_NAME);
509 
510  std::vector<std::string> dataColumnsOfInterest;
511  dataColumnsOfInterest.push_back("spare");
512  dataColumnsOfInterest.push_back("vtsel");
513  dataColumnsOfInterest.push_back("refsel");
514  dataColumnsOfInterest.push_back("isel");
515  dataColumnsOfInterest.push_back("bwsel");
516  dataColumnsOfInterest.push_back("gsel");
517  dataColumnsOfInterest.push_back("tfsel");
518  dataColumnsOfInterest.push_back("mux2to1");
519  dataColumnsOfInterest.push_back("mux8to1");
520  dataColumnsOfInterest.push_back("qInjPixelMask");
521 
522  ConfigDataTree
523  pixelEnableDataSet("NovaDatabase/tables/DAQConfig/ASICRegisterSettings.xml",
524  subsystemConfigIdList, cfgSelector,
525  dataColumnsOfInterest);
526 
527  for (uint16_t fdx = LOW_FEB_ID; fdx <= HIGH_FEB_ID; ++fdx) {
528  int16_t asicSpareValue;
529  if (! pixelEnableDataSet.getEffectiveValueFor2Keys(dcmName, fdx,
530  "spare",
531  asicSpareValue)) {
532  return false;
533  }
534  int16_t asicVtSelValue;
535  if (! pixelEnableDataSet.getEffectiveValueFor2Keys(dcmName, fdx,
536  "vtsel",
537  asicVtSelValue)) {
538  return false;
539  }
540  int16_t asicRefSelValue;
541  if (! pixelEnableDataSet.getEffectiveValueFor2Keys(dcmName, fdx,
542  "refsel",
543  asicRefSelValue)) {
544  return false;
545  }
546  int16_t asicISelValue;
547  if (! pixelEnableDataSet.getEffectiveValueFor2Keys(dcmName, fdx,
548  "isel",
549  asicISelValue)) {
550  return false;
551  }
552  int16_t asicBWSelValue;
553  if (! pixelEnableDataSet.getEffectiveValueFor2Keys(dcmName, fdx,
554  "bwsel",
555  asicBWSelValue)) {
556  return false;
557  }
558  int16_t asicGSelValue;
559  if (! pixelEnableDataSet.getEffectiveValueFor2Keys(dcmName, fdx,
560  "gsel",
561  asicGSelValue)) {
562  return false;
563  }
564  int16_t asicTfSelValue;
565  if (! pixelEnableDataSet.getEffectiveValueFor2Keys(dcmName, fdx,
566  "tfsel",
567  asicTfSelValue)) {
568  return false;
569  }
570  int16_t asicMux2to1Value;
571  if (! pixelEnableDataSet.getEffectiveValueFor2Keys(dcmName, fdx,
572  "mux2to1",
573  asicMux2to1Value)) {
574  return false;
575  }
576  int16_t asicMux8to1Value;
577  if (! pixelEnableDataSet.getEffectiveValueFor2Keys(dcmName, fdx,
578  "mux8to1",
579  asicMux8to1Value)) {
580  return false;
581  }
582  int32_t asicQInjPixelMask;
583  if (! pixelEnableDataSet.getEffectiveValueFor2Keys(dcmName, fdx,
584  "qInjPixelMask",
585  asicQInjPixelMask)) {
586  return false;
587  }
588 
589  ASICRegisterValueSet theSet(asicSpareValue,
590  asicVtSelValue,
591  asicRefSelValue,
592  asicISelValue,
593  asicBWSelValue,
594  asicGSelValue,
595  asicTfSelValue,
596  asicMux2to1Value,
597  asicMux8to1Value,
598  asicQInjPixelMask);
599  _asicRegisterValueList.push_back(theSet);
600  }
601 
602  return true;
603 }
const uint16_t HIGH_FEB_ID
const uint16_t LOW_FEB_ID
static const std::string DCMID_COLUMN_NAME
static const std::string FEBID_COLUMN_NAME
std::vector< dbutils::daqconfig::ASICRegisterValueSet > _asicRegisterValueList
bool dbutils::daqconfig::DCMHardwareConfig::_fetchDCMApplicationParams ( const std::vector< int64_t > &  subsystemConfigIdList,
const std::string dcmName 
)
protected

Definition at line 453 of file DCMHardwareConfig.cpp.

References _fetchPixelEnableMasks(), _numberOfHwConfigAttempts, dbutils::daqconfig::ConfigDataSelector::addSelectionColumn(), dbutils::daqconfig::DBColumnParams::DCMID_COLUMN_NAME, and dbutils::daqconfig::ConfigDataTree::getEffectiveValueFor1Key().

Referenced by _fetchAllData(), _fetchDCMFPGAParams(), and getPrimarySubsystemConfigId().

455 {
456  ConfigDataSelector cfgSelector;
457  cfgSelector.addSelectionColumn(DBColumnParams::DCMID_COLUMN_NAME,
458  dcmName, dcmName);
459 
460  std::vector<std::string> dataColumnsOfInterest;
461  dataColumnsOfInterest.push_back("numberOfHwConfigAttempts");
462 
463  ConfigDataTree
464  dcmParamDataSet("NovaDatabase/tables/DAQConfig/DCMApplicationParameters.xml",
465  subsystemConfigIdList, cfgSelector,
466  dataColumnsOfInterest);
467  return dcmParamDataSet.getEffectiveValueFor1Key(dcmName,
468  "numberOfHwConfigAttempts",
470 }
static const std::string DCMID_COLUMN_NAME
bool dbutils::daqconfig::DCMHardwareConfig::_fetchDCMDataDevValues ( const std::vector< int64_t > &  subsystemConfigIdList,
const std::string dcmName 
)
protected

Definition at line 352 of file DCMHardwareConfig.cpp.

References _dcmReadTimeout, _fetchTimingSystemValues(), _useMemoryMappedBuffer, dbutils::daqconfig::ConfigDataSelector::addSelectionColumn(), dbutils::daqconfig::DBColumnParams::DCMID_COLUMN_NAME, and dbutils::daqconfig::ConfigDataTree::getEffectiveValueFor1Key().

Referenced by _fetchAllData(), _fetchFEBEnableMasks(), and getPrimarySubsystemConfigId().

354 {
355  ConfigDataSelector cfgSelector;
356  cfgSelector.addSelectionColumn(DBColumnParams::DCMID_COLUMN_NAME,
357  dcmName, dcmName);
358 
359  std::vector<std::string> dataColumnsOfInterest;
360  dataColumnsOfInterest.push_back("readTimeout");
361  dataColumnsOfInterest.push_back("useMemoryMappedBuffer");
362 
363  ConfigDataTree
364  dcmDataDevDataSet("NovaDatabase/tables/DAQConfig/DCMDataDevParameters.xml",
365  subsystemConfigIdList, cfgSelector,
366  dataColumnsOfInterest);
367 
368  if (! dcmDataDevDataSet.getEffectiveValueFor1Key(dcmName, "readTimeout",
369  _dcmReadTimeout)) {
370  return false;
371  }
372  if (! dcmDataDevDataSet.getEffectiveValueFor1Key(dcmName,
373  "useMemoryMappedBuffer",
375  return false;
376  }
377  return true;
378 }
static const std::string DCMID_COLUMN_NAME
bool dbutils::daqconfig::DCMHardwareConfig::_fetchDCMFirmwareLocations ( const std::vector< int64_t > &  subsystemConfigIdList,
const std::string dcmName 
)
protected

Definition at line 277 of file DCMHardwareConfig.cpp.

References _dcmFirmwareLocation, _fetchFEBFirmwareLocations(), _forceDCMFirmwareProgramming, dbutils::daqconfig::ConfigDataSelector::addSelectionColumn(), dbutils::daqconfig::DBColumnParams::DCMID_COLUMN_NAME, and dbutils::daqconfig::ConfigDataTree::getEffectiveValueFor1Key().

Referenced by _fetchAllData(), _fetchDCMSystemParams(), and getPrimarySubsystemConfigId().

279 {
280  ConfigDataSelector cfgSelector;
281  cfgSelector.addSelectionColumn(DBColumnParams::DCMID_COLUMN_NAME,
282  dcmName, dcmName);
283 
284  std::vector<std::string> dataColumnsOfInterest;
285  dataColumnsOfInterest.push_back("location");
286  dataColumnsOfInterest.push_back("forceProgramming");
287 
288  ConfigDataTree
289  dcmFirmwareDataSet("NovaDatabase/tables/DAQConfig/DCMFPGAFirmwareLocations.xml",
290  subsystemConfigIdList, cfgSelector,
291  dataColumnsOfInterest);
292  if (! dcmFirmwareDataSet.getEffectiveValueFor1Key(dcmName, "location",
294  return false;
295  }
296  if (! dcmFirmwareDataSet.getEffectiveValueFor1Key(dcmName,
297  "forceProgramming",
299  return false;
300  }
301  return true;
302 }
static const std::string DCMID_COLUMN_NAME
bool dbutils::daqconfig::DCMHardwareConfig::_fetchDCMFPGAParams ( const std::vector< int64_t > &  subsystemConfigIdList,
const std::string dcmName 
)
protected

Definition at line 421 of file DCMHardwareConfig.cpp.

References _doDCMFPGAReset, _fetchDCMApplicationParams(), _fpgaLinkTimeout, _nanoSliceVersion, dbutils::daqconfig::ConfigDataSelector::addSelectionColumn(), dbutils::daqconfig::DBColumnParams::DCMID_COLUMN_NAME, and dbutils::daqconfig::ConfigDataTree::getEffectiveValueFor1Key().

Referenced by _fetchAllData(), _fetchTimingSystemValues(), and getPrimarySubsystemConfigId().

423 {
424  ConfigDataSelector cfgSelector;
425  cfgSelector.addSelectionColumn(DBColumnParams::DCMID_COLUMN_NAME,
426  dcmName, dcmName);
427 
428  std::vector<std::string> dataColumnsOfInterest;
429  dataColumnsOfInterest.push_back("linkTimeout");
430  dataColumnsOfInterest.push_back("doReset");
431  dataColumnsOfInterest.push_back("nanoSliceVersion");
432 
433  ConfigDataTree
434  dcmParamDataSet("NovaDatabase/tables/DAQConfig/DCMFPGAParameters.xml",
435  subsystemConfigIdList, cfgSelector,
436  dataColumnsOfInterest);
437  if (! dcmParamDataSet.getEffectiveValueFor1Key(dcmName, "linkTimeout",
438  _fpgaLinkTimeout)) {
439  return false;
440  }
441  if (! dcmParamDataSet.getEffectiveValueFor1Key(dcmName, "doReset",
442  _doDCMFPGAReset)) {
443  return false;
444  }
445  if (! dcmParamDataSet.getEffectiveValueFor1Key(dcmName, "nanoSliceVersion",
447  return false;
448  }
449  return true;
450 }
static const std::string DCMID_COLUMN_NAME
bool dbutils::daqconfig::DCMHardwareConfig::_fetchDCMSystemParams ( const std::vector< int64_t > &  subsystemConfigIdList)
protected

Definition at line 253 of file DCMHardwareConfig.cpp.

References _dcmFPGAMode, _fetchDCMFirmwareLocations(), _microsliceTimeLength, and dbutils::daqconfig::ConfigDataTree::getTrueValue().

Referenced by _fetchAllData(), and getPrimarySubsystemConfigId().

254 {
255  ConfigDataSelector cfgSelector;
256 
257  std::vector<std::string> dataColumnsOfInterest;
258  dataColumnsOfInterest.push_back("fpgaMode");
259  dataColumnsOfInterest.push_back("microSliceDT");
260 
261  ConfigDataTree
262  dcmSystemParamDataSet("NovaDatabase/tables/DAQConfig/DCMSystemParameters.xml",
263  subsystemConfigIdList, cfgSelector,
264  dataColumnsOfInterest);
265 
266  if (! dcmSystemParamDataSet.getTrueValue("fpgaMode", _dcmFPGAMode)) {
267  return false;
268  }
269  if (! dcmSystemParamDataSet.getTrueValue("microSliceDT",
271  return false;
272  }
273  return true;
274 }
bool dbutils::daqconfig::DCMHardwareConfig::_fetchDSODataRegulatorValues ( const std::vector< int64_t > &  subsystemConfigIdList,
const std::string dcmName 
)
protected

Definition at line 606 of file DCMHardwareConfig.cpp.

References _dsoPointsPerPixelList, _fetchFEBPulserValues(), dbutils::daqconfig::ConfigDataSelector::addSelectionColumn(), dbutils::daqconfig::DBColumnParams::DCMID_COLUMN_NAME, dbutils::daqconfig::DBColumnParams::FEBID_COLUMN_NAME, and dbutils::daqconfig::HIGH_FEB_ID.

Referenced by _fetchAllData(), _fetchASICRegisterValues(), and getPrimarySubsystemConfigId().

608 {
609  ConfigDataSelector cfgSelector;
610  cfgSelector.addSelectionColumn(DBColumnParams::DCMID_COLUMN_NAME,
611  dcmName, dcmName);
612  cfgSelector.addSelectionColumn(DBColumnParams::FEBID_COLUMN_NAME);
613 
614  std::vector<std::string> dataColumnsOfInterest;
615  dataColumnsOfInterest.push_back("pointsPerPixel");
616 
617  ConfigDataTree
618  dsoDataRegulatorDataSet("NovaDatabase/tables/DAQConfig/DSODataRegulatorSettings.xml",
619  subsystemConfigIdList, cfgSelector,
620  dataColumnsOfInterest);
621 
622  for (uint16_t fdx = LOW_FEB_ID; fdx <= HIGH_FEB_ID; ++fdx) {
623  int16_t value;
624  if (! dsoDataRegulatorDataSet.
625  getEffectiveValueFor2Keys(dcmName, fdx,
626  "pointsPerPixel", value)) {
627  return false;
628  }
629  _dsoPointsPerPixelList.push_back(value);
630  }
631 
632  return true;
633 }
const uint16_t HIGH_FEB_ID
const XML_Char int const XML_Char * value
Definition: expat.h:331
std::vector< int16_t > _dsoPointsPerPixelList
const uint16_t LOW_FEB_ID
static const std::string DCMID_COLUMN_NAME
static const std::string FEBID_COLUMN_NAME
bool dbutils::daqconfig::DCMHardwareConfig::_fetchFEBEnableMasks ( const std::vector< int64_t > &  subsystemConfigIdList,
const std::string dcmName 
)
protected

Definition at line 333 of file DCMHardwareConfig.cpp.

References _febEnableMask, _fetchDCMDataDevValues(), dbutils::daqconfig::ConfigDataSelector::addSelectionColumn(), dbutils::daqconfig::DBColumnParams::DCMID_COLUMN_NAME, and dbutils::daqconfig::ConfigDataTree::getEffectiveValueFor1Key().

Referenced by _fetchAllData(), _fetchFEBFirmwareLocations(), and getPrimarySubsystemConfigId().

335 {
336  ConfigDataSelector cfgSelector;
337  cfgSelector.addSelectionColumn(DBColumnParams::DCMID_COLUMN_NAME,
338  dcmName, dcmName);
339 
340  std::vector<std::string> dataColumnsOfInterest;
341  dataColumnsOfInterest.push_back("mask");
342 
343  ConfigDataTree
344  febEnableMaskDataSet("NovaDatabase/tables/DAQConfig/FEBEnableMasks.xml",
345  subsystemConfigIdList, cfgSelector,
346  dataColumnsOfInterest);
347  return febEnableMaskDataSet.getEffectiveValueFor1Key(dcmName, "mask",
349 }
static const std::string DCMID_COLUMN_NAME
bool dbutils::daqconfig::DCMHardwareConfig::_fetchFEBFirmwareLocations ( const std::vector< int64_t > &  subsystemConfigIdList,
const std::string dcmName 
)
protected

Definition at line 305 of file DCMHardwareConfig.cpp.

References _febFirmwareLocation, _fetchFEBEnableMasks(), _forceFEBFirmwareProgramming, dbutils::daqconfig::ConfigDataSelector::addSelectionColumn(), dbutils::daqconfig::DBColumnParams::DCMID_COLUMN_NAME, and dbutils::daqconfig::ConfigDataTree::getEffectiveValueFor1Key().

Referenced by _fetchAllData(), _fetchDCMFirmwareLocations(), and getPrimarySubsystemConfigId().

307 {
308  ConfigDataSelector cfgSelector;
309  cfgSelector.addSelectionColumn(DBColumnParams::DCMID_COLUMN_NAME,
310  dcmName, dcmName);
311 
312  std::vector<std::string> dataColumnsOfInterest;
313  dataColumnsOfInterest.push_back("location");
314  dataColumnsOfInterest.push_back("forceProgramming");
315 
316  ConfigDataTree
317  febFirmwareDataSet("NovaDatabase/tables/DAQConfig/FEBFPGAFirmwareLocations.xml",
318  subsystemConfigIdList, cfgSelector,
319  dataColumnsOfInterest);
320  if (! febFirmwareDataSet.getEffectiveValueFor1Key(dcmName, "location",
322  return false;
323  }
324  if (! febFirmwareDataSet.getEffectiveValueFor1Key(dcmName,
325  "forceProgramming",
327  return false;
328  }
329  return true;
330 }
static const std::string DCMID_COLUMN_NAME
bool dbutils::daqconfig::DCMHardwareConfig::_fetchFEBPulserValues ( const std::vector< int64_t > &  subsystemConfigIdList,
const std::string dcmName 
)
protected

Definition at line 636 of file DCMHardwareConfig.cpp.

References _fetchPixelOffsets(), _pulserParameterList, dbutils::daqconfig::ConfigDataSelector::addSelectionColumn(), dbutils::daqconfig::DBColumnParams::DCMID_COLUMN_NAME, dbutils::daqconfig::DBColumnParams::FEBID_COLUMN_NAME, dbutils::daqconfig::ConfigDataTree::getEffectiveValueFor2Keys(), and dbutils::daqconfig::HIGH_FEB_ID.

Referenced by _fetchAllData(), _fetchDSODataRegulatorValues(), and getPrimarySubsystemConfigId().

638 {
639  ConfigDataSelector cfgSelector;
640  cfgSelector.addSelectionColumn(DBColumnParams::DCMID_COLUMN_NAME,
641  dcmName, dcmName);
642  cfgSelector.addSelectionColumn(DBColumnParams::FEBID_COLUMN_NAME);
643 
644  std::vector<std::string> dataColumnsOfInterest;
645  dataColumnsOfInterest.push_back("pulserEnable");
646  dataColumnsOfInterest.push_back("pulserPeriod");
647  dataColumnsOfInterest.push_back("pulserWidth");
648 
649  ConfigDataTree
650  febPulserDataSet("NovaDatabase/tables/DAQConfig/FEBPulserParameters.xml",
651  subsystemConfigIdList, cfgSelector,
652  dataColumnsOfInterest);
653 
654  for (uint16_t fdx = LOW_FEB_ID; fdx <= HIGH_FEB_ID; ++fdx) {
655  int16_t pulserEnable;
656  if (! febPulserDataSet.getEffectiveValueFor2Keys(dcmName, fdx,
657  "pulserEnable",
658  pulserEnable)) {
659  return false;
660  }
661  int32_t pulserPeriod;
662  if (! febPulserDataSet.getEffectiveValueFor2Keys(dcmName, fdx,
663  "pulserPeriod",
664  pulserPeriod)) {
665  return false;
666  }
667  int32_t pulserWidth;
668  if (! febPulserDataSet.getEffectiveValueFor2Keys(dcmName, fdx,
669  "pulserWidth",
670  pulserWidth)) {
671  return false;
672  }
673 
674  FEBPulserParameterSet theSet(pulserEnable,
675  pulserPeriod,
676  pulserWidth);
677  _pulserParameterList.push_back(theSet);
678  }
679 
680  return true;
681 }
const uint16_t HIGH_FEB_ID
std::vector< dbutils::daqconfig::FEBPulserParameterSet > _pulserParameterList
const uint16_t LOW_FEB_ID
static const std::string DCMID_COLUMN_NAME
static const std::string FEBID_COLUMN_NAME
bool dbutils::daqconfig::DCMHardwareConfig::_fetchNamedConfigList ( const SubsystemNameSpec nameSpec,
std::vector< int64_t > &  idList 
)
protected

Fetches the list of named configuration IDs that correspond to the input named configuration.

The list contains the single named configuration ID that is identified by the input parameters as its first element. The second element is the parent named configuration (if any), followed by the grandparent named configuration, etc.

Parameters
nameSpecThe named configuration of interest.
idListThe resulting list of named subsystem configuration IDs [output parameter].
Returns
true if the list was successfully fetched, false if not

Definition at line 150 of file DCMHardwareConfig.cpp.

References dbutils::daqconfig::NamedConfigUtils::getSubsystemConfigIdAncestry().

Referenced by DCMHardwareConfig(), getEnabledPixelCount(), and getPrimarySubsystemConfigId().

152 {
153  return NamedConfigUtils::
154  getSubsystemConfigIdAncestry(nameSpec, idList);
155 }
static bool getSubsystemConfigIdAncestry(const SubsystemNameSpec &subsystemNameSpec, std::vector< int64_t > &idList, const std::string &subsystemNamesTableFile=DEFAULT_SUBSYSTEM_NAMES_TABLE_FILE)
bool dbutils::daqconfig::DCMHardwareConfig::_fetchNamedConfigList ( const GlobalNameSpec nameSpec,
std::vector< int64_t > &  idList 
)
protected

Fetches the list of named configuration IDs that correspond to the input named configuration.

The list contains the single named configuration ID that is identified by the input parameters as its first element. The second element is the parent named configuration (if any), followed by the grandparent named configuration, etc.

Parameters
nameSpecThe named configuration of interest.
idListThe resulting list of named subsystem configuration IDs [output parameter].
Returns
true if the list was successfully fetched, false if not

Definition at line 173 of file DCMHardwareConfig.cpp.

References _fetchAllData(), dbutils::daqconfig::IDSpec::DAQ, dbutils::daqconfig::NamedConfigUtils::getConfigIdAncestry(), dbutils::daqconfig::NamedConfigUtils::getSubsystemConfigIdFromGlobalName(), fabricate::status, and dbutils::daqconfig::IDSpec::SUBSYSTEM.

175 {
176  int64_t subsystemConfigId;
179  SubsystemNameSpec::
180  DCM_SUBSYSTEM_NAME,
181  SubsystemNameSpec::
182  HARDWARE_CONFIG_TYPE,
183  subsystemConfigId);
184 
185  if (status) {
186  IDSpec idSpec(subsystemConfigId, IDSpec::SUBSYSTEM, IDSpec::DAQ);
187  status = NamedConfigUtils::getConfigIdAncestry(idSpec, idList);
188  }
189 
190  return status;
191 }
int status
Definition: fabricate.py:1613
static bool getConfigIdAncestry(const IDSpec &idSpec, std::vector< int64_t > &idList, const std::string &tableFile=DEFAULT_GLOBAL_NAMES_TABLE_FILE)
static bool getSubsystemConfigIdFromGlobalName(const GlobalNameSpec &globalNameSpec, const std::string &subsystemName, const std::string &subsystemConfigType, int64_t &subsystemConfigId, const std::string &globalNamesTableFile=DEFAULT_GLOBAL_NAMES_TABLE_FILE, const std::string &subsystemNamesTableFile=DEFAULT_SUBSYSTEM_NAMES_TABLE_FILE)
bool dbutils::daqconfig::DCMHardwareConfig::_fetchPixelEnableMasks ( const std::vector< int64_t > &  subsystemConfigIdList,
const std::string dcmName 
)
protected

Definition at line 473 of file DCMHardwareConfig.cpp.

References _fetchASICRegisterValues(), _pixelEnableList, dbutils::daqconfig::ConfigDataSelector::addSelectionColumn(), dbutils::daqconfig::DBColumnParams::DCMID_COLUMN_NAME, dbutils::daqconfig::DBColumnParams::FEBID_COLUMN_NAME, dbutils::daqconfig::ConfigDataTree::getEffectiveValueFor2Keys(), and dbutils::daqconfig::HIGH_FEB_ID.

Referenced by _fetchAllData(), _fetchDCMApplicationParams(), and getPrimarySubsystemConfigId().

475 {
476  ConfigDataSelector cfgSelector;
477  cfgSelector.addSelectionColumn(DBColumnParams::DCMID_COLUMN_NAME,
478  dcmName, dcmName);
479  cfgSelector.addSelectionColumn(DBColumnParams::FEBID_COLUMN_NAME);
480 
481  std::vector<std::string> dataColumnsOfInterest;
482  dataColumnsOfInterest.push_back("mask");
483 
484  ConfigDataTree
485  pixelEnableDataSet("NovaDatabase/tables/DAQConfig/PixelEnableMasks.xml",
486  subsystemConfigIdList, cfgSelector,
487  dataColumnsOfInterest);
488 
489  for (uint16_t fdx = LOW_FEB_ID; fdx <= HIGH_FEB_ID; ++fdx) {
490  int32_t value;
491  if (! pixelEnableDataSet.getEffectiveValueFor2Keys(dcmName, fdx,
492  "mask", value)) {
493  return false;
494  }
495  _pixelEnableList.push_back(value);
496  }
497 
498  return true;
499 }
const uint16_t HIGH_FEB_ID
const XML_Char int const XML_Char * value
Definition: expat.h:331
const uint16_t LOW_FEB_ID
static const std::string DCMID_COLUMN_NAME
static const std::string FEBID_COLUMN_NAME
bool dbutils::daqconfig::DCMHardwareConfig::_fetchPixelOffsets ( const std::vector< int64_t > &  subsystemConfigIdList,
const std::string dcmName 
)
protected

Definition at line 684 of file DCMHardwareConfig.cpp.

References _fetchPixelThresholds(), _pixelOffsetArray, dbutils::daqconfig::ConfigDataSelector::addSelectionColumn(), dbutils::daqconfig::DBColumnParams::DCMID_COLUMN_NAME, dbutils::daqconfig::DBColumnParams::FEBID_COLUMN_NAME, dbutils::daqconfig::HIGH_FEB_ID, dbutils::daqconfig::HIGH_PIXEL_ID, and dbutils::daqconfig::DBColumnParams::PIXELID_COLUMN_NAME.

Referenced by _fetchAllData(), _fetchFEBPulserValues(), and getPrimarySubsystemConfigId().

686 {
687  ConfigDataSelector cfgSelector;
688  cfgSelector.addSelectionColumn(DBColumnParams::DCMID_COLUMN_NAME,
689  dcmName, dcmName);
690  cfgSelector.addSelectionColumn(DBColumnParams::FEBID_COLUMN_NAME);
691  cfgSelector.addSelectionColumn(DBColumnParams::PIXELID_COLUMN_NAME);
692 
693  std::vector<std::string> dataColumnsOfInterest;
694  dataColumnsOfInterest.push_back("offsetValue");
695 
696  ConfigDataTree
697  pixelOffsetDataSet("NovaDatabase/tables/DAQConfig/PixelOffsets.xml",
698  subsystemConfigIdList, cfgSelector,
699  dataColumnsOfInterest);
700 
701  for (uint16_t fdx = LOW_FEB_ID; fdx <= HIGH_FEB_ID; ++fdx) {
702  boost::shared_ptr<std::vector<int16_t> >
703  offsetList(new std::vector<int16_t>());
704  for (uint16_t pdx = LOW_PIXEL_ID; pdx <= HIGH_PIXEL_ID; ++pdx) {
705  int16_t value;
706  if (! pixelOffsetDataSet.
707  getEffectiveValueFor3Keys(dcmName, fdx, pdx,
708  "offsetValue", value)) {
709  return false;
710  }
711  offsetList->push_back(value);
712  }
713  _pixelOffsetArray.push_back(offsetList);
714  }
715 
716  return true;
717 }
const uint16_t HIGH_FEB_ID
std::vector< boost::shared_ptr< std::vector< int16_t > > > _pixelOffsetArray
const uint16_t HIGH_PIXEL_ID
const XML_Char int const XML_Char * value
Definition: expat.h:331
static const std::string PIXELID_COLUMN_NAME
const uint16_t LOW_FEB_ID
static const std::string DCMID_COLUMN_NAME
const uint16_t LOW_PIXEL_ID
static const std::string FEBID_COLUMN_NAME
bool dbutils::daqconfig::DCMHardwareConfig::_fetchPixelThresholds ( const std::vector< int64_t > &  subsystemConfigIdList,
const std::string dcmName 
)
protected

Definition at line 720 of file DCMHardwareConfig.cpp.

References _pixelThresholdArray, dbutils::daqconfig::ConfigDataSelector::addSelectionColumn(), dbutils::daqconfig::DBColumnParams::DCMID_COLUMN_NAME, dbutils::daqconfig::DBColumnParams::FEBID_COLUMN_NAME, dbutils::daqconfig::HIGH_FEB_ID, dbutils::daqconfig::HIGH_PIXEL_ID, and dbutils::daqconfig::DBColumnParams::PIXELID_COLUMN_NAME.

Referenced by _fetchAllData(), _fetchPixelOffsets(), and getPrimarySubsystemConfigId().

722 {
723  ConfigDataSelector cfgSelector;
724  cfgSelector.addSelectionColumn(DBColumnParams::DCMID_COLUMN_NAME,
725  dcmName, dcmName);
726  cfgSelector.addSelectionColumn(DBColumnParams::FEBID_COLUMN_NAME);
727  cfgSelector.addSelectionColumn(DBColumnParams::PIXELID_COLUMN_NAME);
728 
729  std::vector<std::string> dataColumnsOfInterest;
730  dataColumnsOfInterest.push_back("threshold");
731 
732  ConfigDataTree
733  pixelThresholdDataSet("NovaDatabase/tables/DAQConfig/PixelThresholds.xml",
734  subsystemConfigIdList, cfgSelector,
735  dataColumnsOfInterest);
736 
737  for (uint16_t fdx = LOW_FEB_ID; fdx <= HIGH_FEB_ID; ++fdx) {
738  boost::shared_ptr<std::vector<int16_t> >
739  thresholdList(new std::vector<int16_t>());
740  for (uint16_t pdx = LOW_PIXEL_ID; pdx <= HIGH_PIXEL_ID; ++pdx) {
741  int16_t value;
742  if (! pixelThresholdDataSet.
743  getEffectiveValueFor3Keys(dcmName, fdx, pdx,
744  "threshold", value)) {
745  return false;
746  }
747  thresholdList->push_back(value);
748  }
749  _pixelThresholdArray.push_back(thresholdList);
750  }
751 
752  return true;
753 }
const uint16_t HIGH_FEB_ID
const uint16_t HIGH_PIXEL_ID
const XML_Char int const XML_Char * value
Definition: expat.h:331
static const std::string PIXELID_COLUMN_NAME
const uint16_t LOW_FEB_ID
static const std::string DCMID_COLUMN_NAME
std::vector< boost::shared_ptr< std::vector< int16_t > > > _pixelThresholdArray
const uint16_t LOW_PIXEL_ID
static const std::string FEBID_COLUMN_NAME
bool dbutils::daqconfig::DCMHardwareConfig::_fetchTimingSystemValues ( const std::vector< int64_t > &  subsystemConfigIdList,
const std::string dcmName 
)
protected

Definition at line 381 of file DCMHardwareConfig.cpp.

References _fetchDCMFPGAParams(), _tduFirmwareVersion, _timingHistoryEnable, _timingSystemEnable, _timingSystemPort, dbutils::daqconfig::ConfigDataSelector::addSelectionColumn(), dbutils::daqconfig::DBColumnParams::DCMID_COLUMN_NAME, and dbutils::daqconfig::ConfigDataTree::getEffectiveValueFor1Key().

Referenced by _fetchAllData(), _fetchDCMDataDevValues(), and getPrimarySubsystemConfigId().

383 {
384  ConfigDataSelector cfgSelector;
385  cfgSelector.addSelectionColumn(DBColumnParams::DCMID_COLUMN_NAME,
386  dcmName, dcmName);
387 
388  std::vector<std::string> dataColumnsOfInterest;
389  dataColumnsOfInterest.push_back("enable");
390  dataColumnsOfInterest.push_back("port");
391  dataColumnsOfInterest.push_back("tduFirmwareVersion");
392  dataColumnsOfInterest.push_back("historyEnable");
393 
394  ConfigDataTree
395  timingSystemDataSet("NovaDatabase/tables/DAQConfig/TimingSystemSettings.xml",
396  subsystemConfigIdList, cfgSelector,
397  dataColumnsOfInterest);
398 
399  if (! timingSystemDataSet.getEffectiveValueFor1Key(dcmName, "enable",
401  return false;
402  }
403  if (! timingSystemDataSet.getEffectiveValueFor1Key(dcmName, "port",
405  return false;
406  }
407  if (! timingSystemDataSet.getEffectiveValueFor1Key(dcmName,
408  "tduFirmwareVersion",
410  return false;
411  }
412  if (! timingSystemDataSet.getEffectiveValueFor1Key(dcmName,
413  "historyEnable",
415  return false;
416  }
417  return true;
418 }
static const std::string DCMID_COLUMN_NAME
int dbutils::daqconfig::DCMHardwareConfig::getEnabledPixelCount ( )

Returns the number of enabled pixels on this DCM.

Definition at line 111 of file DCMHardwareConfig.cpp.

References _dataMutex, _febEnableMask, _fetchNamedConfigList(), _pixelEnableList, confusionMatrixTree::count, dbutils::daqconfig::HIGH_FEB_ID, and datagram_client::sl.

Referenced by getPrimarySubsystemConfigId().

112 {
113  boost::mutex::scoped_lock sl(_dataMutex);
114  int count = 0;
115 
116  for (uint16_t fdx = LOW_FEB_ID; fdx <= HIGH_FEB_ID; ++fdx) {
117  int64_t sixtyFourBitOne = 1;
118 
119  if ((_febEnableMask & (sixtyFourBitOne << fdx)) == 0) {continue;}
120 
121  if (fdx < _pixelEnableList.size()) {
122  int32_t pixelMask = _pixelEnableList[fdx];
123  for (int ipix = 0; ipix < 32; ++ipix) {
124  if ((pixelMask & (1 << ipix)) != 0) {
125  ++count;
126  }
127  }
128  }
129  }
130 
131  return count;
132 }
const uint16_t HIGH_FEB_ID
const uint16_t LOW_FEB_ID
int64_t dbutils::daqconfig::DCMHardwareConfig::getPrimarySubsystemConfigId ( ) const
inline
virtual bool dbutils::daqconfig::DCMHardwareConfig::hasValidData ( ) const
inlinevirtual

Definition at line 61 of file DCMHardwareConfig.h.

References _dataMutex, _hasValidData, and datagram_client::sl.

61  {
62  boost::mutex::scoped_lock sl(_dataMutex);
63  return _hasValidData;
64  }
void dbutils::daqconfig::DCMHardwareConfig::loadData ( )

Loads DCM hardware configuration data from the database into this object. Before this method is called, an instance of this class will not have valid data.

Definition at line 98 of file DCMHardwareConfig.cpp.

References _dataMutex, _dcmName, _fetchAllData(), _hasValidData, _primarySubsystemConfigId, _subsystemConfigIdList, and datagram_client::sl.

Referenced by DCMHardwareConfig(), and ~DCMHardwareConfig().

99 {
100  boost::mutex::scoped_lock sl(_dataMutex);
101 
102  if (_subsystemConfigIdList.size() > 0) {
105  }
106 }
bool _fetchAllData(const std::vector< int64_t > &subsystemConfigIdList, const std::string &dcmName)
std::vector< int64_t > _subsystemConfigIdList

Member Data Documentation

std::vector<dbutils::daqconfig::ASICRegisterValueSet> dbutils::daqconfig::DCMHardwareConfig::_asicRegisterValueList
protected

Definition at line 144 of file DCMHardwareConfig.h.

Referenced by _fetchASICRegisterValues().

boost::mutex dbutils::daqconfig::DCMHardwareConfig::_dataMutex
mutableprotected
std::string dbutils::daqconfig::DCMHardwareConfig::_dcmFirmwareLocation
protected

Definition at line 126 of file DCMHardwareConfig.h.

Referenced by _fetchDCMFirmwareLocations().

std::string dbutils::daqconfig::DCMHardwareConfig::_dcmFPGAMode
protected

Definition at line 123 of file DCMHardwareConfig.h.

Referenced by _fetchDCMSystemParams().

std::string dbutils::daqconfig::DCMHardwareConfig::_dcmName
protected

Definition at line 114 of file DCMHardwareConfig.h.

Referenced by loadData().

int32_t dbutils::daqconfig::DCMHardwareConfig::_dcmReadTimeout
protected

Definition at line 131 of file DCMHardwareConfig.h.

Referenced by _fetchDCMDataDevValues().

int32_t dbutils::daqconfig::DCMHardwareConfig::_doDCMFPGAReset
protected

Definition at line 138 of file DCMHardwareConfig.h.

Referenced by _fetchDCMFPGAParams().

std::vector<int16_t> dbutils::daqconfig::DCMHardwareConfig::_dsoPointsPerPixelList
protected

Definition at line 145 of file DCMHardwareConfig.h.

Referenced by _fetchDSODataRegulatorValues().

int64_t dbutils::daqconfig::DCMHardwareConfig::_febEnableMask
protected

Definition at line 130 of file DCMHardwareConfig.h.

Referenced by _fetchFEBEnableMasks(), and getEnabledPixelCount().

std::string dbutils::daqconfig::DCMHardwareConfig::_febFirmwareLocation
protected

Definition at line 128 of file DCMHardwareConfig.h.

Referenced by _fetchFEBFirmwareLocations().

int32_t dbutils::daqconfig::DCMHardwareConfig::_forceDCMFirmwareProgramming
protected

Definition at line 127 of file DCMHardwareConfig.h.

Referenced by _fetchDCMFirmwareLocations().

int32_t dbutils::daqconfig::DCMHardwareConfig::_forceFEBFirmwareProgramming
protected

Definition at line 129 of file DCMHardwareConfig.h.

Referenced by _fetchFEBFirmwareLocations().

int32_t dbutils::daqconfig::DCMHardwareConfig::_fpgaLinkTimeout
protected

Definition at line 137 of file DCMHardwareConfig.h.

Referenced by _fetchDCMFPGAParams().

bool dbutils::daqconfig::DCMHardwareConfig::_hasValidData
protected

Definition at line 116 of file DCMHardwareConfig.h.

Referenced by hasValidData(), and loadData().

int32_t dbutils::daqconfig::DCMHardwareConfig::_microsliceTimeLength
protected

Definition at line 122 of file DCMHardwareConfig.h.

Referenced by _fetchDCMSystemParams().

int32_t dbutils::daqconfig::DCMHardwareConfig::_nanoSliceVersion
protected

Definition at line 139 of file DCMHardwareConfig.h.

Referenced by _fetchDCMFPGAParams().

int16_t dbutils::daqconfig::DCMHardwareConfig::_numberOfHwConfigAttempts
protected

Definition at line 140 of file DCMHardwareConfig.h.

Referenced by _fetchDCMApplicationParams().

std::vector<int32_t> dbutils::daqconfig::DCMHardwareConfig::_pixelEnableList
protected

Definition at line 143 of file DCMHardwareConfig.h.

Referenced by _fetchPixelEnableMasks(), and getEnabledPixelCount().

std::vector<boost::shared_ptr<std::vector<int16_t> > > dbutils::daqconfig::DCMHardwareConfig::_pixelOffsetArray
protected

Definition at line 149 of file DCMHardwareConfig.h.

Referenced by _fetchPixelOffsets().

std::vector<boost::shared_ptr<std::vector<int16_t> > > dbutils::daqconfig::DCMHardwareConfig::_pixelThresholdArray
protected

Definition at line 150 of file DCMHardwareConfig.h.

Referenced by _fetchPixelThresholds().

int64_t dbutils::daqconfig::DCMHardwareConfig::_primarySubsystemConfigId
protected

Definition at line 117 of file DCMHardwareConfig.h.

Referenced by getPrimarySubsystemConfigId(), and loadData().

std::vector<dbutils::daqconfig::FEBPulserParameterSet> dbutils::daqconfig::DCMHardwareConfig::_pulserParameterList
protected

Definition at line 146 of file DCMHardwareConfig.h.

Referenced by _fetchFEBPulserValues().

std::vector<int64_t> dbutils::daqconfig::DCMHardwareConfig::_subsystemConfigIdList
protected

Definition at line 115 of file DCMHardwareConfig.h.

Referenced by DCMHardwareConfig(), and loadData().

int32_t dbutils::daqconfig::DCMHardwareConfig::_tduFirmwareVersion
protected

Definition at line 135 of file DCMHardwareConfig.h.

Referenced by _fetchTimingSystemValues().

int16_t dbutils::daqconfig::DCMHardwareConfig::_timingHistoryEnable
protected

Definition at line 136 of file DCMHardwareConfig.h.

Referenced by _fetchTimingSystemValues().

int16_t dbutils::daqconfig::DCMHardwareConfig::_timingSystemEnable
protected

Definition at line 133 of file DCMHardwareConfig.h.

Referenced by _fetchTimingSystemValues().

int16_t dbutils::daqconfig::DCMHardwareConfig::_timingSystemPort
protected

Definition at line 134 of file DCMHardwareConfig.h.

Referenced by _fetchTimingSystemValues().

int32_t dbutils::daqconfig::DCMHardwareConfig::_useMemoryMappedBuffer
protected

Definition at line 132 of file DCMHardwareConfig.h.

Referenced by _fetchDCMDataDevValues().


The documentation for this class was generated from the following files: