37 : QObject(parent),
m_d(new
Imp)
40 m_d->updatesnotcheduled =
true;
61 std::map<GeoPVConstLink,unsigned>::iterator it(
m_d->pv2count.find(chamberPV));
62 if (it==
m_d->pv2count.end()) {
63 m_d->pv2count[chamberPV] = 1;
64 m_d->ensureScheduleUpdate();
68 if (
m_d->updatesnotcheduled&&it->second==1)
69 m_d->ensureScheduleUpdate();
75 std::map<GeoPVConstLink,unsigned>::iterator it(
m_d->pv2count.find(chamberPV));
76 if (it==
m_d->pv2count.end()||it->second==0) {
77 std::cout<<
" TouchedMuonChamberHelper::decrementNumberOfObjectsForPV Error: Asked to decrement to negative values!"<<std::endl;
81 if (
m_d->updatesnotcheduled&&it->second==0)
82 m_d->ensureScheduleUpdate();
88 return (
m_d->touchedByTracksSet.find(chamberPV)!=
m_d->touchedByTracksSet.end());
94 m_d->updatesnotcheduled =
true;
96 std::set<GeoPVConstLink> touchedchambers;
97 std::map<GeoPVConstLink,unsigned>::const_iterator it(
m_d->pv2count.begin()),itE(
m_d->pv2count.end());
100 touchedchambers.insert(it->first);
103 if (
m_d->lastEmittedSet!=touchedchambers) {
104 m_d->lastEmittedSet = touchedchambers;
111 m_d->touchedByTracksSet=
set;
118 m_d->pv2count.clear();
119 m_d->touchedByTracksSet.clear();
std::set< GeoPVConstLink > lastEmittedSet
std::set< GeoPVConstLink > touchedByTracksSet
TouchedMuonChamberHelper * theclass
void ensureScheduleUpdate()
std::map< GeoPVConstLink, unsigned > pv2count
TouchedMuonChamberHelper(QObject *parent=0)
void muonChambersTouchedByTracksChanged(void)
bool isTouchedByTrack(const GeoPVConstLink &chamberPV)
Returns true if the passed chamber link has a track or segment.
void checkForChangeInTouchedChambers()
void decrementNumberOfObjectsForPV(const GeoPVConstLink &chamberPV)
void incrementNumberOfObjectsForPV(const GeoPVConstLink &chamberPV)
virtual ~TouchedMuonChamberHelper()
void updateTouchedByTracks(const std::set< GeoPVConstLink > &)
void touchedMuonChambersChanged(const std::set< GeoPVConstLink > &)