STORM_LOG_THROW(!buildAllRewardModels,storm::exceptions::InvalidSettingsException,"Cannot add reward model, because all reward models are built anyway.");
STORM_LOG_THROW(!program.specifiesSystemComposition(),storm::exceptions::WrongFormatException,"The explicit next-state generator currently does not support custom system compositions.");
// Extract the reward models from the program based on the names we were given.
STORM_LOG_THROW(rewardModelName.empty(),storm::exceptions::InvalidArgumentException,"Cannot build unknown reward model '"<<rewardModelName<<"'.");
STORM_LOG_THROW(program.getNumberOfRewardModels()==1,storm::exceptions::InvalidArgumentException,"Reference to standard reward model is ambiguous.");
STORM_LOG_THROW(program.getNumberOfRewardModels()>0,storm::exceptions::InvalidArgumentException,"Reference to standard reward model is invalid, because there is no reward model.");
STORM_LOG_THROW(rewardModelName.empty(),storm::exceptions::InvalidArgumentException,"Cannot build unknown reward model '"<<rewardModelName<<"'.");
STORM_LOG_THROW(program.getNumberOfRewardModels()==1,storm::exceptions::InvalidArgumentException,"Reference to standard reward model is ambiguous.");
STORM_LOG_THROW(program.getNumberOfRewardModels()>0,storm::exceptions::InvalidArgumentException,"Reference to standard reward model is invalid, because there is no reward model.");
}
}
// If no reward model was yet added, but there was one that was given in the options, we try to build