Consistent Hit container type naming
The following discussion from !2539 (merged) should be addressed:
-
@graven started a discussion: (+2 comments)
There is nothing this MR can do about this, but is there anybody else annoyed about the lack of consistency amongst the following type names:
LHCb::Pr::Velo::Hits LHCb::Pr::UT::HitHandler LHCb::Pr::FT::PrSciFiHits
First, why
Velo
instead ofVP
? There was already one bug due to inconsistent names here which usedisVelo()
whenisVP()
was intended/needed -- so can we please standardize on usingVP
consistently for the run3 vertex detector?Then, why the (inconsistent!) 'stutter' in
LHCb::Pr::FT::PrSciFiHits
-- can we just not dropPrSciFi
, and call thisLHCb::Pr::FT::Hits
?And finally what does 'Handler' even mean? What would be wrong with plain
LHCb::Pr::UT::Hits
? Why can't we just have:LHCb::Pr::VP::Hits LHCb::Pr::UT::Hits LHCb::Pr::FT::Hits
<start of rant...
Probably some one you reading this will think why bother, there are much more pressing things to be fixed, but consistent code is much easier to understand and maintain -- see the above link to the bug in the v3 Track converter which went unnoticed for quite some time, because we didn't enforce consistency, hence nobody even realized that in that particular case, it wasn't some quirky convention but instead it was just plain wrong -- and fixing this is trivial and not a big deal... and those out there trying to help, and thus trying to learn and understand the code will thank you for not having to figure out when this type of silly distraction is OK and when it it a bug.
... end of rant>
Now, one thing this MR can do is to put
IKalmanFilterTool
inside theLHCb::Pr
namespace instead of the global one, in which case all those leadingLHCb::Pr
can be dropped, and we can just haveLong::Tracks Downstream::Tracks Velo::Tracks VP::Hits UT::Hits FT::Hits
Next, this interface is not specific to a Kalman filter -- that is one way to fit a track, so why does the interface suggest how it should be implemented? Why not just
IFitTracks
-- as also the wordTool
is redundant.