TrkParameters : Also allow to tell the type of the surface used to define the type
What this allows (alongside other changes before) is more or less what the tests check
int
main()
{
std::vector<std::unique_ptr<const Trk::TrackParameters>> params;
params.emplace_back(std::make_unique<Trk::CurvilinearParameters>());
params.emplace_back(std::make_unique<Trk::AtaCone>());
params.emplace_back(std::make_unique<Trk::AtaCylinder>());
params.emplace_back(std::make_unique<Trk::AtaDisc>());
params.emplace_back(std::make_unique<Trk::Perigee>());
params.emplace_back(std::make_unique<Trk::AtaPlane>());
params.emplace_back(std::make_unique<Trk::AtaStraightLine>());
for (const auto& i : params) {
std::cout << "Dimensions: " << i->dim << " isCharged: " << i->isCharged()
<< " SurfaceType: " << i->surfaceType() << '\n';
}
}
i.e given default contructed TrackParameters (base) and the set of "overloads" we have in atlas, one can by default tell the Dimension,Charge, and Surface used to define them.
Edited by Christos Anastopoulos