19 return StatusCode::FAILURE;
23 return StatusCode::SUCCESS;
32 declareInterface<InDetTrackZ0SortingTool>(
this);
46 const EventContext& ctx = Gaudi::Hive::currentContext();
47 std::map<double, int> mapOfZ0;
48 std::vector<const Trk::Track*>::const_iterator
tb = tracks.begin();
49 std::vector<const Trk::Track*>::const_iterator te = tracks.end();
54 if(!
reference) perigee=(*tb)->perigeeParameters();
68 double trkZ0 =perigee->parameters()[
Trk::z0];
69 mapOfZ0.insert(std::map<double, int>::value_type(trkZ0,j));
76 else ATH_MSG_WARNING(
"This track particle has no perigee state. Not egligible for sorting. Will NOT be written to the sorted vector");
81 std::vector<int>
result(0);
82 std::map<double, int>::const_iterator
mb = mapOfZ0.begin();
83 std::map<double, int>::const_iterator me = mapOfZ0.end();
86 result.push_back((*mb).second);
93 const EventContext& ctx = Gaudi::Hive::currentContext();
94 std::map<double, int> mapOfZ0;
95 std::vector<const xAOD::TrackParticle*>::const_iterator
tb = tracks.begin();
96 std::vector<const xAOD::TrackParticle*>::const_iterator te = tracks.end();
106 (*tb)->perigeeParameters(),
113 double trkZ0 = perigee->parameters()[
Trk::z0];
114 mapOfZ0.insert(std::map<double, int>::value_type(trkZ0,j));
118 ATH_MSG_WARNING(
"This track particle has no perigee state. Not egligible for sorting. Will NOT be written to the sorted vector");
124 std::vector<int>
result(0);
127 std::map<double, int>::const_iterator
mb = mapOfZ0.begin();
128 std::map<double, int>::const_iterator me = mapOfZ0.end();
129 for(;
mb!=me;++
mb)
result.push_back((*mb).second);