00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011 #ifndef STSSDCLUSTERLIST_HH
00012 #define STSSDCLUSTERLIST_HH
00013 #include "Rtypes.h"
00014 class StSsdClusterControl;
00015 class StSsdCluster;
00016 class StSsdStripList;
00017
00018 class StSsdClusterList
00019 {
00020 public:
00021 StSsdClusterList();
00022 ~StSsdClusterList();
00023
00024 StSsdCluster* next(StSsdCluster *ptr);
00025 StSsdCluster* prev(StSsdCluster *ptr);
00026 StSsdCluster* first();
00027 StSsdCluster* last();
00028 Int_t addNewCluster(StSsdCluster *ptr);
00029 void exchangeTwoClusters(StSsdCluster *ptr1, StSsdCluster *ptr2);
00030 void sortCluster();
00031 void renumCluster();
00032 Int_t removeCluster(StSsdCluster *ptr);
00033 Int_t getSize();
00034 Int_t splitCluster(StSsdClusterControl *clusterControl, StSsdCluster *CurrentCluster, Int_t *ListAdc, StSsdStripList *currentStripList);
00035 Int_t isSorted();
00036
00037 private:
00038 StSsdClusterList(const StSsdClusterList & originalClusterList);
00039 StSsdClusterList& operator=(const StSsdClusterList originalClusterList);
00040
00041 Int_t mListLength;
00042 StSsdCluster *mFirstCluster;
00043 StSsdCluster *mLastCluster;
00044 };
00045 #endif