StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
StSsdPackageList.cc
1 // $Id: StSsdPackageList.cc,v 1.1 2006/10/16 16:43:29 bouchet Exp $
2 //
3 // $Log: StSsdPackageList.cc,v $
4 // Revision 1.1 2006/10/16 16:43:29 bouchet
5 // StSsdUtil regroups now methods for the classes StSsdStrip, StSsdCluster and StSsdPoint
6 //
7 // Revision 1.2 2005/03/18 14:20:21 lmartin
8 // missing CVS header added
9 //
10 
11 #include "StSsdPackageList.hh"
12 
13 StSsdPackageList::StSsdPackageList()
14 {
15  mListLengthP = 0;
16  mFirstPackage = 0;
17  mLastPackage = 0;
18 }
19 
20 StSsdPackageList::~StSsdPackageList()
21 {
22  if (mListLengthP)
23  {
24  StSsdPackage *ptr = mLastPackage;
25  StSsdPackage *toDele;
26  while (mListLengthP)
27  {
28  toDele = ptr;
29  ptr = prev(ptr);
30  delete toDele;
31  mListLengthP--;
32  }
33  }
34 }
35 
36 
37 StSsdPackage* StSsdPackageList::next(StSsdPackage *ptr)
38 { return ptr->getNextPackage(); }
39 
40 StSsdPackage* StSsdPackageList::prev(StSsdPackage *ptr)
41 { return ptr->getPrevPackage(); }
42 
43 StSsdPackage* StSsdPackageList::first()
44 { return mFirstPackage; }
45 
46 StSsdPackage* StSsdPackageList::last()
47 { return mLastPackage; }
48 
49 Int_t StSsdPackageList::getSize()
50 { return mListLengthP; }
51 
52 
53 Int_t StSsdPackageList::addNewPackage(StSsdPackage *ptr)
54 {
55  if (!ptr) return 0;
56  if (mListLengthP == 0)
57  {
58  ptr->setPrevPackage(0);
59  ptr->setNextPackage(0);
60  mFirstPackage = ptr;
61  mLastPackage = ptr;
62  }
63  else
64  {
65  ptr->setPrevPackage(mLastPackage);
66  ptr->setNextPackage(0);
67  mLastPackage->setNextPackage(ptr);
68  mLastPackage = ptr;
69  }
70  mListLengthP++;
71  return 1;
72 }
73 
74 StSsdPackageList::StSsdPackageList(const StSsdPackageList & originalPackageList)
75 {
76  mListLengthP = originalPackageList.mListLengthP;
77  mFirstPackage = originalPackageList.mFirstPackage;
78  mLastPackage = originalPackageList.mLastPackage;
79 }
80 
81 StSsdPackageList& StSsdPackageList::operator=(const StSsdPackageList originalPackageList)
82 {
83  mListLengthP = originalPackageList.mListLengthP;
84  mFirstPackage = originalPackageList.mFirstPackage;
85  mLastPackage = originalPackageList.mLastPackage;
86 
87  return *this;
88 }