StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
StSstPackage.hh
1 //$Id: StSstPackage.hh,v 1.1 2015/06/23 16:26:19 jeromel Exp $
2 //
3 //$Log: StSstPackage.hh,v $
4 //Revision 1.1 2015/06/23 16:26:19 jeromel
5 //First version created from the SSD code and reshaped
6 //
7 //Revision 1.1 2015/04/19 17:30:32 bouchet
8 //initial commit ; SST codes
9 //
10 
11 //fork from the SSD code, move along - see history therein
12 
13 #ifndef STSSTPACKAGE_HH
14 #define STSSTPACKAGE_HH
15 #include "Rtypes.h"
16 class StSstCluster;
18 
20 {
21  public:
22  StSstPackage(Int_t rNPackage, StSstClusterControl *control);
23  StSstPackage(Int_t rNPackage, Int_t rNMatched);
24  StSstPackage(const StSstPackage & originalPackage);
25  ~StSstPackage();
26 
27  StSstPackage& operator=(const StSstPackage originalPackage);
28 
29  StSstCluster* next(StSstCluster *ptr);
30  StSstCluster* prev(StSstCluster *ptr);
31  StSstCluster* first();
32  StSstCluster* last();
33 
34  Int_t getNPackage();
35  StSstCluster* getMatched(Int_t numMatched);
36  char* getKind();
37  StSstPackage* getPrevPackage();
38  StSstPackage* getNextPackage();
39 
40  void purgePackage();
41  void takeMatcheds(StSstPackage *ptr);
42 
43  void setNPackage(Int_t rNPackage);
44  void setKind(char *rKind);
45  void setPrevPackage(StSstPackage *rPrevPackage);
46  void setNextPackage(StSstPackage *rNextPackage);
47 
48  Int_t addNewMatched(StSstCluster *ptr, Int_t maxMatcheds);
49  Int_t addKindPackage(Int_t numMatched, Int_t rSide, Int_t maxMatcheds);
50  Int_t removeMatched(StSstCluster *ptr);
51  void exchangeTwoMatcheds(StSstCluster *ptr1, StSstCluster *ptr2);
52  void sortMatched();
53  void renumMatched();
54  Int_t getSize();
55  Int_t isSorted();
56 
57  private:
58  Int_t mListLengthM;
59  StSstCluster *mFirstMatched;
60  StSstCluster *mLastMatched;
61 
62  Int_t mNPackage;
63  StSstCluster* *mMatcheds;
64  char* mKind;
65  StSstPackage *mPrevPackage;
66  StSstPackage *mNextPackage;
67 };
68 #endif