00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011 #ifndef STSSDPOINTLIST_HH
00012 #define STSSDPOINTLIST_HH
00013
00014 #include "StSsdPoint.hh"
00015
00016 class StSsdPointList
00017 {
00018 public:
00019 StSsdPointList();
00020 ~StSsdPointList();
00021 StSsdPointList(const StSsdPointList & originalPointList);
00022 StSsdPointList& operator=(const StSsdPointList originalPointList);
00023
00024 StSsdPoint* next(StSsdPoint *ptr);
00025 StSsdPoint* prev(StSsdPoint *ptr);
00026 StSsdPoint* first();
00027 StSsdPoint* last();
00028 Int_t getSize();
00029 Int_t addNewPoint(StSsdPoint *ptr);
00030 Int_t removePoint(StSsdPoint *ptr);
00031 void exchangeTwoPoints(StSsdPoint *ptr1,StSsdPoint *ptr2);
00032 StSsdPointList* addPointList(StSsdPointList *list);
00033 StSsdPointList* substractPointList(StSsdPointList *list);
00034 StSsdPointList* removeMultipleCount();
00035 StSsdPointList* sortPoint();
00036
00037 Int_t renumHits(Int_t last);
00038
00039 private:
00040 Int_t mListLength;
00041 StSsdPoint *mFirstPoint;
00042 StSsdPoint *mLastPoint;
00043 };
00044 #endif