Improve CaloFuture,DeCalorimeter,CaloVector interfaces
Should only be applied in conjunction with Rec!1642 (merged)
- update ICaloFuture2CaloFuture
- rename it Calo::Future::Interfaces::ICalo2Calo
- add const to interface methods
- update ICaloFutureHypo2CaloFuture
- rename it Calo::Future::Interfaces::IHypo2Calo
- add const
- update ICaloFutureHypoEstimator
- rename it Calo::Future::Interfaces::IHypoEstimator
- add const
- move enums in dedicated namespace
- update ICaloFutureRelationsGetter
- remove getHypoEvalTable, getClusTrTable which were used to cache TES lookups -- except that all usage did 'exists<>` prior to calling the method, and hence already did a TES lookup. Also, the cache wouldn't work in multithreaded environment, and TES lookup is not as slow as it used to be...
- update IFutureNeutralIDTool
- remove the mention of ICaloFutureHypoEstimator, and remove the implied bidirectional dependency between the implementations of IFutureNeutralIDTool and ICaloFutureHypoEstimator which suffered from chicken-and-egg problems...
- collapse the ITrack2CaloFuture and IPart2CaloFuture interfaces into ICaloFutureElectron
- there is only one single implementation of ICaloFutureElectron, and since ICaloFutureElectron inherits from IPart2CaloFuture which inherits from ITrack2CaloFuture, and there is no code which uses the ITrack2CaloFuture and IPart2CaloFuture interfaces, there is no need to keep these interfaces as separate entities
- DeCalorimeter: add const where possible, remove redundant inline
- add CaloVector::{front,back}
Edited by Marco Cattaneo