NSCL DDAS  12.1-001
Support for XIA DDAS at FRIB
HardwareRegistry.h
Go to the documentation of this file.
1 
7 #ifndef HARDWAREREGISTRY_H
8 #define HARDWAREREGISTRY_H
9 
11 namespace DAQ {
13  namespace DDAS {
14 
49  namespace HardwareRegistry {
59  };
60 
75  enum HardwareType {
87  Unknown=0
88  };
89 
91  int type, const HardwareSpecification& spec
92  );
101  HardwareSpecification& getSpecification(int type);
102  void resetToDefaults();
110  int computeHardwareType(int hdwrVersion, int adcFreq, int adcRes);
120  int createHardwareType(
121  int hdwrVersion, int adcFreq, int adcRes,
122  double clockCalibration
123  );
124 
125  } // end HardwareRegistry namespace
126 
129  } // end DDAS namespace
130 } // end DAQ namespace
131 
139 bool operator==(
142  );
143 
144 #endif // HARDWAREREGISTRY_H
145 
bool operator==(const DAQ::DDAS::HardwareRegistry::HardwareSpecification &lhs, const DAQ::DDAS::HardwareRegistry::HardwareSpecification &rhs)
Check if two HardwareSpecifications are the same.
Definition: HardwareRegistry.cpp:145
HardwareSpecification & getSpecification(int type)
Retrieve a reference to the current hdwr specification for a hardware type.
Definition: HardwareRegistry.cpp:78
void configureHardwareType(int type, const HardwareSpecification &spec)
Definition: HardwareRegistry.cpp:70
void resetToDefaults()
Definition: HardwareRegistry.cpp:94
HardwareType
The HardwareType enum.
Definition: HardwareRegistry.h:75
@ RevF_500MHz_14Bit
Definition: HardwareRegistry.h:85
@ RevF_500MHz_12Bit
Definition: HardwareRegistry.h:84
@ RevF_100MHz_16Bit
Definition: HardwareRegistry.h:80
@ RevF_250MHz_14Bit
Definition: HardwareRegistry.h:82
@ RevF_250MHz_12Bit
Definition: HardwareRegistry.h:81
@ RevB_100MHz_12Bit
Definition: HardwareRegistry.h:76
@ RevC_100MHz_12Bit
Definition: HardwareRegistry.h:77
@ RevF_500MHz_16Bit
Definition: HardwareRegistry.h:86
@ RevF_100MHz_14Bit
Definition: HardwareRegistry.h:79
@ RevF_250MHz_16Bit
Definition: HardwareRegistry.h:83
@ RevD_100MHz_12Bit
Definition: HardwareRegistry.h:78
@ Unknown
Definition: HardwareRegistry.h:87
int computeHardwareType(int hdwrVersion, int adcFreq, int adcRes)
Compute the hardware type from input specifications.
Definition: HardwareRegistry.cpp:103
int createHardwareType(int hdwrVersion, int adcFreq, int adcRes, double clockCalibration)
Create an enumerated hardware type from input specifications.
Definition: HardwareRegistry.cpp:125
Generic hardware specs for hardware types.
Definition: HardwareRegistry.h:53
int s_hdwrRevision
Module hardware revision.
Definition: HardwareRegistry.h:56
int s_adcFrequency
Module ADC frequency in MSPS.
Definition: HardwareRegistry.h:54
double s_clockCalibration
Definition: HardwareRegistry.h:58
int s_adcResolution
Module ADC resolution (bit depth).
Definition: HardwareRegistry.h:55