ATLAS Offline Software
Loading...
Searching...
No Matches
TrackCollHandle_TrackContainer.cxx
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3*/
4
5
7// //
8// Implementation of class TrackCollHandle_TrackContainer //
9// //
10// Author: Thomas H. Kittelmann (Thomas.Kittelmann@cern.ch) //
11// Initial version: May 2008 //
12// //
14
17
18//#include "TrackProxy/TrackParticleContainer.h"
20
21#include "VP1Base/IVP1System.h"
24#include <QStringList>
25
26//____________________________________________________________________
31
32//____________________________________________________________________
34public:
37 void possiblyUpdateGUI() {//Fixme: to TrackCollHandleBase
38 if (!((updateGUICounter++)%50)) {
39 theclass->systemBase()->updateGUI();
40 }
41 }
42};
43
44
45//____________________________________________________________________
47 const QString& name)
48 : TrackCollHandleBase(cd,name,TrackType::ACTS), m_d(new Imp)
49{
50 m_d->theclass = this;
51 m_d->updateGUICounter = 0;
52}
53
54//____________________________________________________________________
59
60//____________________________________________________________________
62{
63 //Get collection:
64 const ActsTrk::TrackContainer * coll(nullptr);
65 if (!VP1SGAccessHelper(systemBase()).retrieve(coll, name())) {
66 message("Error: Could not retrieve track particle collection with key="+name());
67 return false;
68 }
69
70 //Make appropriate trk::track handles:
71 hintNumberOfTracksInEvent(coll->size());
72 for (auto it : *coll) {
73 m_d->possiblyUpdateGUI();
74 // if (!*it) {
75 // messageDebug("WARNING: Ignoring null TrackProxy pointer.");
76 // continue;
77 // }
78 // if ((*it)->charge()==0.0) {
79 // messageDebug("WARNING: Ignoring TrackProxy which claims to be neutral (charge()==0.0).");
80 // continue;
81 // }
82 addTrackHandle(new TrackHandle_TrackContainer(this,it, *coll));
83 }
84
85 return true;
86}
87
88//____________________________________________________________________
90{
91 if (!TrackCollHandleBase::cut(handle))
92 return false;
93
94 //Fixme: more?
95
96 return true;
97}
void hintNumberOfTracksInEvent(unsigned)
const QString & name() const
virtual bool cut(TrackHandleBase *)
void addTrackHandle(TrackHandleBase *)
TrackCollHandleBase(TrackSysCommonData *, const QString &name, TrackType::Type)
TrackCollHandle_TrackContainer(TrackSysCommonData *, const QString &name)
static QStringList availableCollections(IVP1System *)
void message(const QString &) const
IVP1System * systemBase() const
QStringList getKeys() const