#ifndef _L1HitsL1HitsSortHelper_h_ #define _L1HitsL1HitsSortHelper_h_ #include #include #include "L1StsHit.h" #include "L1HitPoint.h" #include "L1Grid.h" struct L1HitsSortHelperData{ L1StsHit* h; L1HitPoint* p; unsigned int bin; THitI i; static bool compare(const L1HitsSortHelperData &a, const L1HitsSortHelperData &b){ return a.bin < b.bin || ( a.bin == b.bin && a.p->Ys() < b.p->Ys() ); } }; class L1HitsSortHelper{ public: L1HitsSortHelper( std::vector &hits, std::vector &points, std::vector &indices, const L1Grid* grid, THitI* iStart, THitI* iStop, int nStations ); void Sort(); private: std::vector fD; std::vector &fHits; std::vector &fPoints; std::vector &fIndices; const L1Grid* fGrid; THitI *fStsHitsUnusedStartIndex, *fStsHitsUnusedStopIndex; int fNStations; L1HitsSortHelper(const L1HitsSortHelper&); L1HitsSortHelper& operator=(const L1HitsSortHelper&); }; #endif