// ------------------------------------------------------------------------- // ----- CbmMvdStripsTrack source file ----- // ----- Created 26/01/05 by V. Friese ----- // ------------------------------------------------------------------------- #include "CbmMvdStripsTrack.h" #include "FairHit.h" #include #include using std::cout; using std::endl; using std::map; // ----- Default constructor ------------------------------------------- CbmMvdStripsTrack::CbmMvdStripsTrack() { fPidHypo = 0; fFlag = 0; fNDF = 0; fChi2 = 0.; fB = 0.; } // ------------------------------------------------------------------------- // ----- Destructor ---------------------------------------------------- CbmMvdStripsTrack::~CbmMvdStripsTrack() { fMvdStripsHitMap.clear(); fMvdHitMap.clear(); } // ------------------------------------------------------------------------- // ----- Public method AddMvdStripsHit --------------------------------------- void CbmMvdStripsTrack::AddMvdStripsHit(Int_t hitIndex, FairHit* hit) { fMvdStripsHitMap[hit->GetZ()] = hitIndex; } // ------------------------------------------------------------------------- // ----- Public method AddMvdHit --------------------------------------- void CbmMvdStripsTrack::AddMvdHit(Int_t hitIndex, FairHit* hit) { fMvdHitMap[hit->GetZ()] = hitIndex; } // ------------------------------------------------------------------------- // ----- Public method Print ------------------------------------------- void CbmMvdStripsTrack::Print() { cout << " Number of attached MVDSTRIPS hits : " << fMvdStripsHits.GetSize() << endl; cout << " Number of attached MVD hits : " << fMvdHits.GetSize() << endl; fParamFirst.Print(); cout << " Chi2: " << fChi2 << ", Quality flag " << fFlag << endl; } // ------------------------------------------------------------------------- // ----- Public method SortHits ---------------------------------------- void CbmMvdStripsTrack::SortHits() { Int_t index=0; map::iterator it; fMvdStripsHits.Reset(); fMvdStripsHits.Set(fMvdStripsHitMap.size()); index = 0; for (it = fMvdStripsHitMap.begin(); it != fMvdStripsHitMap.end(); it++) { fMvdStripsHits[index] = it->second; index++; } fMvdHits.Reset(); fMvdHits.Set(fMvdHitMap.size()); index = 0; for (it = fMvdHitMap.begin(); it != fMvdHitMap.end(); it++) { fMvdHits[index] = it->second; index++; } } // ------------------------------------------------------------------------- // ----- Public method SortMvdHits ---------------------------------------- void CbmMvdStripsTrack::SortMvdHits() { Int_t index=0; map::iterator it; fMvdHits.Reset(); fMvdHits.Set(fMvdHitMap.size()); for (it = fMvdHitMap.begin(); it != fMvdHitMap.end(); it++) { fMvdHits[index] = it->second; index++; } } // ------------------------------------------------------------------------- ClassImp(CbmMvdStripsTrack)