ATLAS Offline Software
Loading...
Searching...
No Matches
Trk::IdentifierExtractor Class Reference

Small utility to get hit Identifiers out of MeasurementBase (either in a vector or single). More...

#include <IdentifierExtractor.h>

Collaboration diagram for Trk::IdentifierExtractor:

Static Public Member Functions

static void extract (std::vector< Identifier > &ids, const std::vector< const MeasurementBase * > &measurements)
static Identifier extract (const MeasurementBase *)

Detailed Description

Small utility to get hit Identifiers out of MeasurementBase (either in a vector or single).

If MB object is of an abstract flavour – i.e. not on a detector element – it is skipped.

Author
Wolfgang Liebig

Definition at line 23 of file IdentifierExtractor.h.

Member Function Documentation

◆ extract() [1/2]

Identifier Trk::IdentifierExtractor::extract ( const MeasurementBase * m)
static

Definition at line 26 of file IdentifierExtractor.cxx.

27{
28 Identifier id;
30 const Trk::RIO_OnTrack* rot = static_cast<const Trk::RIO_OnTrack*>(m);
31 id = rot->identify();
33 const Trk::CompetingRIOsOnTrack* comprot =
34 static_cast<const Trk::CompetingRIOsOnTrack*>(m);
35 id = comprot->rioOnTrack(comprot->indexOfMaxAssignProb()).identify();
36 } else {
37 id.clear();
38 }
39 return id;
40}
unsigned int indexOfMaxAssignProb() const
Index of the ROT with the highest assignment probability.
virtual const RIO_OnTrack & rioOnTrack(unsigned int) const =0
returns the RIO_OnTrack (also known as ROT) objects depending on the integer.
Identifier identify() const
return the identifier -extends MeasurementBase

◆ extract() [2/2]

void Trk::IdentifierExtractor::extract ( std::vector< Identifier > & ids,
const std::vector< const MeasurementBase * > & measurements )
static

Definition at line 13 of file IdentifierExtractor.cxx.

14{
15 using namespace std;
16 vector<const Trk::MeasurementBase*>::const_iterator it = measurements.begin();
17 vector<const Trk::MeasurementBase*>::const_iterator itEnd = measurements.end();
18 ids.clear();
19 for (; it!=itEnd ; ++it)
20 {
21 Identifier id = extract(*it);
22 if( id.is_valid() ) { ids.push_back(id);}
23 }
24}
static void extract(std::vector< Identifier > &ids, const std::vector< const MeasurementBase * > &measurements)

The documentation for this class was generated from the following files: