NSCL DDAS  1.0
Support for XIA DDAS at the NSCL
 All Classes Namespaces Files Functions Variables Macros Pages
SystemBooter.h
1 #ifndef SYSTEMBOOTER_H
2 #define SYSTEMBOOTER_H
3 
4 namespace DAQ {
5 namespace DDAS {
6 
7 class Configuration;
8 
37 {
38 
39  // docs will provided in the source file. Doxygen output should be provided to users.
40 
41 public:
42  enum BootType { FullBoot = 0x7f, SettingsOnly=0x70 };
43 
44 private:
45  bool m_verbose;
46 
47 public:
48  SystemBooter();
49 
50  void boot(Configuration& config, BootType type);
51 
52  void bootModuleByIndex(int modIndex, Configuration& config, BootType type);
53 
54  void setVerbose(bool enable);
55  bool isVerbose() const;
56 
57  void populateHardwareMap(Configuration &config);
58 private:
59 
60  unsigned int computeBootMask(BootType type);
61 
62  void logModuleInfo(int modIndex, unsigned short ModRev, unsigned short ModSerNum, unsigned short ModADCBits,
63  unsigned short ModADCMSPS);
64 
65 
66 };
67 
68 } // end DDAS namespace
69 } // end DAQ namespace
70 
71 #endif // SYSTEMBOOTER_H
SystemBooter()
enable or disable output
Definition: SystemBooter.cpp:25
void populateHardwareMap(Configuration &config)
Read and store hardware info from each of the modules in the system.
Definition: SystemBooter.cpp:92
The SystemBooter class.
Definition: SystemBooter.h:36
bool isVerbose() const
Definition: SystemBooter.cpp:260
The Configuration class.
Definition: Configuration.h:50
void setVerbose(bool enable)
Enable or disable verbose output.
Definition: SystemBooter.cpp:252
void bootModuleByIndex(int modIndex, Configuration &config, BootType type)
boot a single module
Definition: SystemBooter.cpp:174
void boot(Configuration &config, BootType type)
Boot the entire system.
Definition: SystemBooter.cpp:46
Definition: functions.h:26
Definition: SystemBooter.cpp:16