Skip to content

replace CP::ISelectionTool with IAsgSelectionTool

Nils Erik Krumnack requested to merge krumnack/athena:selection_tool into master

We somehow ended up with two copies of the same interface class. The problem with having two interfaces for the same task was that tools implementing the different interfaces could not be used interchangeably. That specifically broke the configuration of some of the common CP algorithm sequences, which use the same algorithm class for all selection tools.

I was somewhat torn between which of the two classes to keep, and while I originally wanted to keep CP::ISelectionTool, it turned out that IAsgSelectionTool was much easier to keep. That is because the AcceptInfo and AcceptData classes are in the same package as the interface class, and anybody who wants to use or implement that interface will need those two classes as well.

One could potentially move all three classes together to AsgAnalysisInterfaces if that is considered advantageous, but that would be a bigger undertaking and they would all have to be moved together.

Merge request reports