29 if (!trackStateOnSurfaces) {
30 VP1Msg::messageDebug(
"TrackHandle_TrackParticle WARNING: Could not create track due to null TSOS vector");
33 if (trackStateOnSurfaces->
empty()) {
34 VP1Msg::messageDebug(
"TrackHandle_TrackParticle WARNING: Could not create track due to empty TSOS vector");
35 delete trackStateOnSurfaces;
39 std::unique_ptr<Trk::TrackStates> sink(trackStateOnSurfaces);
46 +QString::number(trackStateOnSurfaces->
size())+
" parameters");
63 m_d->trackparticle = tp;
64 m_d->trkTrack =
nullptr;
65 m_d->trkTrackInit =
false;
79 l <<
"TrackParticle:";
88 if (!
common()->trackSanityHelper()->isSafe(p))
97 if (!
common()->trackSanityHelper()->isSafe(p))
105 if (
m_d->trkTrackInit)
106 return m_d->trkTrack;
107 m_d->trkTrackInit =
true;
108 const std::vector<const Trk::TrackParameters*>& trackpars =
m_d->trackparticle->trackParameters();
111 if (!trackpars.empty()) {
112 bool needresorting = trackpars.at(0)!=
m_d->trackparticle->perigee();
119 unsigned limit(needresorting?trackpars.size()-1:trackpars.size());
122 for (
unsigned i = 0; i < limit; ++i) {
126 if (!
common()->trackSanityHelper()->isSafe(p))
132 m_d->trkTrack =
m_d->createTrack(trackStateOnSurfaces);
133 return m_d->trkTrack;
value_type push_back(value_type pElem)
Add an element to the end of the collection.
size_type size() const noexcept
Returns the number of elements in the collection.
bool empty() const noexcept
Returns true if the collection is empty.
friend class TrackCollHandleBase
TrackHandleBase(TrackCollHandleBase *)
QStringList baseInfo() const
TrackSysCommonData * common() const
const Rec::TrackParticle * trackparticle
const Trk::Track * createTrack(Trk::TrackStates *trackStateOnSurfaces) const
const Trk::Track * trkTrack
TrackHandle_TrackParticle * theclass
virtual unsigned getNRPCHits() const
void ensureTouchedMuonChambersInitialised() const
virtual QStringList clicked() const
Called when user selects the node (stringlist is displayed in messagebox).
const Trk::Track * provide_pathInfoTrkTrack() const
virtual unsigned getNCSCHits() const
TrackHandle_TrackParticle(TrackCollHandleBase *, const Rec::TrackParticle *)
virtual ~TrackHandle_TrackParticle()
virtual unsigned getNTGCHits() const
virtual Amg::Vector3D momentum() const
virtual unsigned getNSCTHits() const
virtual unsigned getNMDTHits() const
virtual unsigned getNMuonPrecisionHits() const
virtual unsigned getNMuonPhiHits() const
The number of phi hits is part of hit counts below (i.e.
double calculateCharge() const
virtual unsigned getNPixelHits() const
virtual unsigned getNTRTHits() const
Contains information about the 'fitter' of this track.
@ Unknown
Track fitter not defined.
represents the track state (measurement, material, fit parameters and quality) at a surface.
static void messageVerbose(const QString &)
static void messageDebug(const QString &)
Eigen::Matrix< double, 3, 1 > Vector3D
DataVector< const Trk::TrackStateOnSurface > TrackStates
ParametersT< TrackParametersDim, Charged, PerigeeSurface > Perigee
ParametersBase< TrackParametersDim, Charged > TrackParameters
@ numberOfSCTHits
number of SCT holes
@ numberOfPixelHits
number of pixel layers on track with absence of hits
@ numberOfTRTHits
number of TRT outliers
@ numberOfMdtHits
number of mdt hits