6 #ifndef CONFIGURATION_H
7 #define CONFIGURATION_H
84 std::vector<unsigned short> m_slotMap;
85 std::string m_settingsFilePath;
86 std::vector<int> m_modEvtLengths;
88 std::vector<int> m_hardwareMap;
93 std::map<int, FirmwareMap> m_moduleFirmwareMaps;
95 std::map<int, std::string> m_moduleSetFileMap;
102 m_crateId(rhs.m_crateId), m_slotMap(rhs.m_slotMap),
103 m_settingsFilePath(rhs.m_settingsFilePath),
104 m_modEvtLengths(rhs.m_modEvtLengths),
105 m_fwMap(rhs.m_fwMap), m_hardwareMap(rhs.m_hardwareMap),
106 m_moduleFirmwareMaps(rhs.m_moduleFirmwareMaps),
107 m_moduleSetFileMap(rhs.m_moduleSetFileMap)
137 void setSlotMap(
const std::vector<unsigned short>& map);
144 const {
return m_slotMap; };
150 { m_settingsFilePath = path; };
157 int modnum,
const std::string& path
164 const {
return m_settingsFilePath; };
183 ) { m_fwMap[specifier] = config; };
209 int hdwrType,
int modnum
228 const {
return m_modEvtLengths; };
245 void print(std::ostream& stream);
255 static std::unique_ptr<Configuration>
257 const std::string& fwVsnPath,
const std::string& cfgPixiePath
269 static std::unique_ptr<Configuration>
271 const std::string& fwVsnPath,
const std::string& cfgPixiePath,
272 const std::string& modEvtLenPath
Defines a namespace used to store information about known DDAS modules.
Store the system configuration information needed by Readout.
Definition: Configuration.h:81
std::string getSettingsFilePath() const
Return the path to the .set file.
Definition: Configuration.h:163
void print(std::ostream &stream)
Print brief line of information for cfgPixie16.txt.
Definition: Configuration.cpp:189
std::vector< unsigned short > getSlotMap() const
Return the vector containing the filled slots.
Definition: Configuration.h:143
void setModuleFirmwareMap(int module, const FirmwareMap &mapping)
Sets a firmware map specific to a module.
Definition: Configuration.cpp:105
std::vector< int > getModuleEventLengths() const
Return a copy of the module event length vector.
Definition: Configuration.h:227
Configuration(const Configuration &rhs)
Copy constructor.
Definition: Configuration.h:101
void setFirmwareConfiguration(int specifier, const FirmwareConfiguration &config)
Set the firmware configuration for a hardware type.
Definition: Configuration.h:181
void setSettingsFilePath(const std::string &path)
Set the path to the DSP settings file.
Definition: Configuration.h:149
~Configuration()=default
Destructor.
FirmwareMap & getDefaultFirmwareMap()
Return the default map of firmware information.
Definition: Configuration.h:215
FirmwareConfiguration & getModuleFirmwareConfiguration(int hdwrType, int modnum)
Get the module firmware configuration information.
Definition: Configuration.cpp:119
size_t getNumberOfModules() const
Return the number of modules in the crate.
Definition: Configuration.h:130
FirmwareConfiguration & getFirmwareConfiguration(int hdwrType)
Retrieve the current firmware specifier for a particular hardware type.
Definition: Configuration.cpp:88
void setHardwareMap(const std::vector< int > &map)
Set the hardware map for each module.
Definition: Configuration.cpp:170
void setNumberOfModules(size_t size)
Set the number of modules in the crate.
Definition: Configuration.cpp:22
void setModuleSettingsFilePath(int modnum, const std::string &path)
Set a per-module DSP settings file.
Definition: Configuration.cpp:62
void setModuleEventLengths(const std::vector< int > &lengths)
Set the lengths of events for each module.
Definition: Configuration.cpp:146
void setSlotMap(const std::vector< unsigned short > &map)
Assign a new slot map.
Definition: Configuration.cpp:45
Configuration()=default
Constructor.
void setCrateId(int id)
Set the crate id for the module.
Definition: Configuration.h:115
int getCrateId() const
Return the crate id value.
Definition: Configuration.h:120
std::vector< int > getHardwareMap() const
Return a copy of the hardware map vector.
Definition: Configuration.h:240
static std::unique_ptr< Configuration > generate(const std::string &fwVsnPath, const std::string &cfgPixiePath)
Generate a Configuration class object from a firmware version file and cfgPixie16....
Definition: Configuration.cpp:205
std::map< int, FirmwareConfiguration > FirmwareMap
A map of firmware configurations keyed by the hardware type defined in HardwareRegistry....
Definition: Configuration.h:56
Storage for hardware-type firmware/settings paths.
Definition: Configuration.h:42
std::string s_SPFPGAConfigFile
Definition: Configuration.h:46
std::string s_DSPCodeFile
Name of executable DSP code file.
Definition: Configuration.h:47
std::string s_ComFPGAConfigFile
Definition: Configuration.h:44
std::string s_DSPVarFile
Name of DSP variable names file.
Definition: Configuration.h:48