Skip to content

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

Merge request reports