feat: drt now supported by default in the core module #185
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The objective of this PR is to natively support DRT in Eqasim. By making use of the recent developments that allow optional modules to be defined in EqasimConfigurator and its subclasses, the DRT module and related functionalities are activated when a MultiModeDrtConfigGroup is detected.
This implementation is compatible with the presence of various DRT modes running simultaneously.
As for the mode choice, besides extending the ModeParameters class with DrtParameters, the following base components are added
Functionality for DRT analysis is also included.
Moreover, two scripts are present to ease the building of drt scenarios
This functionality for creating a DRT scenario and then running it is tested.
In order to use it in one of the use case modules, users can follow an approach analogous to the one present in the related unit test. The minimum requirement consists of a ModeAvailability that allows the agents to use DRT mode. The other mode choice components should be extended if needed.
Alongside the functionality for DRT, this PR also includes the replacing of EqasimMainModeIdentifier by RoutingModeMainModeIdentifier as mentioned in #184.