//----------------------------------------------------------- // File and Version Information: // $Id$ // // Description: // Implementation of class PndTrackCand // see PndTrackCand.hh for details // // Environment: // Software developed for the PANDA Detector at FAIR. // // Author List: // Tobias Stockmanns (IKP - Jülich) during the Panda Meeting 03/09 // // //----------------------------------------------------------- // Panda Headers ---------------------- // This Class' Header ------------------ #include "PndTrackCand.h" #include ClassImp(PndTrackCand); PndTrackCand::PndTrackCand():sorted(false){} PndTrackCand::~PndTrackCand(){} void PndTrackCand::AddHit(UInt_t detId, UInt_t hitId, Double_t rho) { fHitId.push_back(PndTrackCandHit(detId, hitId, rho)); sorted = false; } void PndTrackCand::Reset() { fHitId.clear(); } int PndTrackCand::HitInTrack(UInt_t detId, UInt_t hitId) { PndTrackCandHit test(detId, hitId, 0.); for (UInt_t i = 0; i < fHitId.size(); i++){ if(fHitId[i] == test) return i; } return -1; } void PndTrackCand::DeleteHit(UInt_t detId, UInt_t hitId) { int ind = HitInTrack(detId, hitId); fHitId.erase(fHitId.begin()+ind); } void PndTrackCand::Sort() { std::sort(fHitId.begin(), fHitId.end()); sorted = true; } std::vector PndTrackCand::GetSortedHits() { if (sorted == false) Sort(); return fHitId; } bool operator== (const PndTrackCand& lhs, const PndTrackCand& rhs){ if(lhs == rhs) return true; return false; }