]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - TPC/AliTPCclusterMI.cxx
Adding pre-computed list of neighbours (Laurent)
[u/mrichter/AliRoot.git] / TPC / AliTPCclusterMI.cxx
index 0b8194b5d7985a5a422e0ca9d895bb97180b303a..49d8ba62f34448ced9ece8819a9d89e32d6f9f14 100644 (file)
 /* $Id$ */
 
 #include "AliTPCclusterMI.h"
+#include "AliTPCclusterInfo.h"
+#include "AliLog.h"
 
 ClassImp(AliTPCclusterMI)
 
 
-AliTPCclusterMI::AliTPCclusterMI():
+AliTPCclusterMI::AliTPCclusterMI(Bool_t withInfo):
   AliCluster(),
-  fX(0),
   fQ(0),
   fType(0),
   fMax(0),
   fUsed(0),
   fDetector(0),
-  fRow(0)
+  fRow(0),
+  fTimeBin(0),
+  fPad(0),
+  fInfo(0)
 {
   //
   // default constructor
   //
+  if (withInfo) fInfo = new AliTPCclusterInfo;
 }
 
+AliTPCclusterMI::AliTPCclusterMI(const AliTPCclusterMI & cluster):
+  AliCluster(cluster),
+  fQ(cluster.fQ),
+  fType(cluster.fType),
+  fMax(cluster.fMax),
+  fUsed(cluster.fUsed),
+  fDetector(cluster.fDetector),
+  fRow(cluster.fRow),
+  fTimeBin(cluster.fTimeBin),
+  fPad(cluster.fPad),
+  fInfo(0)
+{
+  //
+  // copy constructor
+  // 
+  //  AliInfo("Copy constructor\n");
+  if (cluster.fInfo) fInfo = new AliTPCclusterInfo(*(cluster.fInfo));
+}
+
+AliTPCclusterMI & AliTPCclusterMI::operator = (const AliTPCclusterMI & cluster)
+{
+  //
+  // assignment operator
+  // 
+  //  AliInfo("Asignment operator\n");
+
+  (AliCluster&)(*this) = (AliCluster&)cluster;
+  fQ    = cluster.fQ;
+  fType = cluster.fType;
+  fMax  = cluster.fMax;
+  fUsed = cluster.fUsed;
+  fDetector = cluster.fDetector;
+  fRow  = cluster.fRow;
+  fTimeBin = cluster.fTimeBin;
+  fPad     = cluster.fPad;
+  fInfo = 0;
+  if (cluster.fInfo) fInfo = new AliTPCclusterInfo(*(cluster.fInfo));
+  return *this;
+}
+
+
+
+
 AliTPCclusterMI::AliTPCclusterMI(Int_t *lab, Float_t *hit) : 
-  AliCluster(lab,hit),
-  fX(0),
+  AliCluster(0,hit,0.,0.,lab),
   fQ(0),
   fType(0),
   fMax(0),
   fUsed(0),
   fDetector(0),
-  fRow(0)    
+  fRow(0),
+  fInfo(0)
 {
   //
   // constructor
   //
   fQ = (UShort_t)hit[4];
+  fInfo = 0;
 }
 
+AliTPCclusterMI::~AliTPCclusterMI() {
+  //
+  // destructor
+  //
+  if (fInfo) delete fInfo;
+}
+
+
+
 Bool_t AliTPCclusterMI::IsSortable() const
 {
   //
@@ -75,5 +133,5 @@ Int_t AliTPCclusterMI::Compare(const TObject* obj) const
   //
   // compare according y
   AliTPCclusterMI * o2 = (AliTPCclusterMI*)obj;
-  return (o2->GetY()>fY)? -1:1; 
+  return (o2->GetY()>GetY())? -1:1; 
 }