91 size_t m_numModules{0};
92 std::vector<unsigned short> m_slotMap;
93 std::vector<unsigned short> m_channelMap;
94 std::string m_settingsFilePath;
95 std::vector<int> m_modEvtLengths;
97 std::vector<int> m_hardwareMap;
102 std::map<int, FirmwareMap> m_moduleFirmwareMaps;
104 std::map<int, std::string> m_moduleSetFileMap;
138 void setSlotMap(
const std::vector<unsigned short> &map);
144 std::vector<unsigned short>
getSlotMap()
const {
return m_slotMap; };
167 m_settingsFilePath = path;
198 m_fwMap[specifier] = config;
260 return m_moduleFirmwareMaps;
267 return m_moduleSetFileMap;
273 void print(std::ostream &stream);
281 static std::unique_ptr<Configuration>
282 generate(
const std::string &cfgPixiePath);
292 static std::unique_ptr<Configuration>
293 generate(
const std::string &fwVsnPath,
const std::string &cfgPixiePath);
303 static std::unique_ptr<Configuration>
304 generate(
const std::string &fwVsnPath,
const std::string &cfgPixiePath,
305 const std::string &modEvtLenPath);
314 static std::unique_ptr<Configuration>
316 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:88
std::string getSettingsFilePath() const
Return the path to the .set file.
Definition: Configuration.h:173
void print(std::ostream &stream)
Print brief line of information for cfgPixie16.txt.
Definition: Configuration.cpp:229
void setModuleFirmwareMap(int module, const FirmwareMap &mapping)
Sets a firmware map specific to a module.
Definition: Configuration.cpp:143
void setFirmwareConfiguration(int specifier, const FirmwareConfiguration &config)
Set the firmware configuration for a hardware type.
Definition: Configuration.h:196
void setSettingsFilePath(const std::string &path)
Set the path to the DSP settings file.
Definition: Configuration.h:166
unsigned short getModuleChannelCount(size_t mod)
Get the number of channels in a module.
Definition: Configuration.cpp:92
~Configuration()=default
Destructor.
FirmwareConfiguration & getModuleFirmwareConfiguration(int hdwrType, int modnum)
Get the module firmware configuration information.
Definition: Configuration.cpp:155
size_t getNumberOfModules() const
Return the number of modules in the crate.
Definition: Configuration.h:131
void setChannelMap(const std::vector< unsigned short > &map)
Assign a new channel map (number of channels per module).
Definition: Configuration.cpp:80
std::vector< int > getModuleEventLengths() const
Return a copy of the module event length vector.
Definition: Configuration.h:242
std::map< int, std::string > getModuleSetFileMap() const
Get the per-module settings file map.
Definition: Configuration.h:266
FirmwareConfiguration & getFirmwareConfiguration(int hdwrType)
Retrieve the current firmware specifier for a particular hardware type.
Definition: Configuration.cpp:129
static std::unique_ptr< Configuration > generate(const std::string &cfgPixiePath)
Generate a Configuration class object from cfgPixie16.txt.
Definition: Configuration.cpp:243
void setHardwareMap(const std::vector< int > &map)
Set the hardware map for each module.
Definition: Configuration.cpp:212
void setNumberOfModules(size_t size)
Set the number of modules in the crate.
Definition: Configuration.cpp:30
std::string getModuleSettingsFilePath(int modNum)
Returns the DSP settings file path specific to a single module.
Definition: Configuration.cpp:117
void setModuleSettingsFilePath(int modnum, const std::string &path)
Set a per-module DSP settings file.
Definition: Configuration.cpp:107
void setModuleEventLengths(const std::vector< int > &lengths)
Set the lengths of events for each module.
Definition: Configuration.cpp:185
void setSlotMap(const std::vector< unsigned short > &map)
Assign a new slot map.
Definition: Configuration.cpp:53
Configuration()=default
Constructor.
std::vector< int > getHardwareMap() const
Return a copy of the hardware map vector.
Definition: Configuration.h:254
void setCrateId(int id)
Set the crate id for the module.
Definition: Configuration.h:116
static std::unique_ptr< Configuration > generateManagedFW(const std::string &cfgPixiePath, const std::string &modEvtLenPath)
Generate a Configuration class object from cfgPixie16.txt and modevtlen.txt files (managed FW).
Definition: Configuration.cpp:319
int getCrateId() const
Return the crate id value.
Definition: Configuration.h:121
std::vector< unsigned short > getChannelMap()
Return the channel map.
Definition: Configuration.h:154
FirmwareMap & getDefaultFirmwareMap()
Return the default map of firmware information.
Definition: Configuration.h:230
std::vector< unsigned short > getSlotMap() const
Return the vector containing the filled slots.
Definition: Configuration.h:144
std::map< int, FirmwareMap > getModuleFirmwareMaps() const
Get the per-module FW maps.
Definition: Configuration.h:259
std::map< int, FirmwareConfiguration > FirmwareMap
A map of firmware configurations keyed by the hardware type defined in HardwareRegistry....
Definition: Configuration.h:55
Storage for hardware-type firmware/settings paths.
Definition: Configuration.h:41
std::string s_SPFPGAConfigFile
Definition: Configuration.h:45
std::string s_DSPCodeFile
Name of executable DSP code file.
Definition: Configuration.h:46
std::string s_ComFPGAConfigFile
Definition: Configuration.h:43
std::string s_DSPVarFile
Name of DSP variable names file.
Definition: Configuration.h:47