]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PMD/AliPMDcluster.cxx
test preprocessor for PMD
[u/mrichter/AliRoot.git] / PMD / AliPMDcluster.cxx
index 8b009e00de6f1b53b840dadb4c1dca80a809b806..df4a21306e7379c365e54e564619108fd97b663f 100644 (file)
@@ -1,3 +1,17 @@
+/***************************************************************************
+ * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
+ *                                                                        *
+ * Author: The ALICE Off-line Project.                                    *
+ * Contributors are mentioned in the code where appropriate.              *
+ *                                                                        *
+ * Permission to use, copy, modify and distribute this software and its   *
+ * documentation strictly for non-commercial purposes is hereby granted   *
+ * without fee, provided that the above copyright notice appears in all   *
+ * copies and that both the copyright notice and this permission notice   *
+ * appear in the supporting documentation. The authors make no claims     *
+ * about the suitability of this software for any purpose. It is          *
+ * provided "as is" without express or implied warranty.                  *
+ **************************************************************************/
 //-----------------------------------------------------//
 //                                                     //
 //  Date   : August 05 2003                            //
 #include "Riostream.h"
 #include "Rtypes.h"
 #include "AliPMDcluster.h"
+#include "AliLog.h"
 #include <stdio.h>
 
 ClassImp(AliPMDcluster)
 
-AliPMDcluster::AliPMDcluster()
+AliPMDcluster::AliPMDcluster():
+  fDet(0),
+  fSMN(0)
 {
   // Default constructor
-  for (Int_t i = 0; i < 5; i++)
+  for (Int_t i = 0; i < 6; i++)
     {
       fClusData[i] = 0.;
     }
+  for (Int_t i = 0; i < 19; i++)
+    {
+      fClusCellDataX[i] = 0;
+      fClusCellDataY[i] = 0;
+      fClusCellTrack[i] = -1;
+      fClusCellPid[i]   = -1;
+      fClusCellAdc[i]   = 0;
+    }
+
 }
-AliPMDcluster::AliPMDcluster(Float_t *clusdata)
+// --------------------------------------------------------------------- //
+AliPMDcluster::AliPMDcluster(Int_t idet, Int_t ismn, Float_t *clusdata,
+                            Int_t *celldataX, Int_t *celldataY,
+                            Int_t *celltrack, Int_t *cellpid,
+                            Float_t *celladc):
+  fDet(idet),
+  fSMN(ismn)
 {
   // Constructor
-  for (Int_t i = 0; i < 5; i++)
+  for (Int_t i = 0; i < 6; i++)
     {
       fClusData[i] = clusdata[i];
     }
+  if(fClusData[3] > 19.){
+    //AliError(Form("Too many clusters %f > 19",fClusData[3]));
+    fClusData[3] = 19.;
+  }
+            
+  for (Int_t i = 0; i < 19; i++)
+    {
+      fClusCellDataX[i] = celldataX[i];
+      fClusCellDataY[i] = celldataY[i];
+      fClusCellTrack[i] = celltrack[i];
+      fClusCellPid[i]   = cellpid[i];
+      fClusCellAdc[i]   = celladc[i];
+    }
+
+}
+// --------------------------------------------------------------------- //
+AliPMDcluster::AliPMDcluster(AliPMDcluster *pmdcluster):
+  fDet(0),
+  fSMN(0)
+{
+  *this = *pmdcluster;
 }
-AliPMDcluster::AliPMDcluster(const AliPMDcluster &pmdcluster):TObject(pmdcluster)
+// --------------------------------------------------------------------- //
+
+AliPMDcluster::AliPMDcluster(const AliPMDcluster &pmdcluster):
+  TObject(pmdcluster),
+  fDet(pmdcluster.fDet),
+  fSMN(pmdcluster.fSMN)
 {
   //Copy Constructor 
-  if(&pmdcluster == this) return;
-  for(Int_t i=0; i<5; i++)
+  for(Int_t i=0; i<6; i++)
     {
       this->fClusData[i] = pmdcluster.fClusData[i];
     }
-  return;
+  if(fClusData[3] > 19.){
+    //AliError(Form("Too many clusters %f > 19",fClusData[3]));
+    fClusData[3] = 19.;
+  }
+  for(Int_t i=0; i<19; i++)
+    {
+      this->fClusCellDataX[i] = pmdcluster.fClusCellDataX[i];
+      this->fClusCellDataY[i] = pmdcluster.fClusCellDataY[i];
+      this->fClusCellTrack[i] = pmdcluster.fClusCellTrack[i];
+      this->fClusCellPid[i]   = pmdcluster.fClusCellPid[i];
+      this->fClusCellAdc[i]   = pmdcluster.fClusCellAdc[i];
+    }
 }
+// --------------------------------------------------------------------- //
 
 AliPMDcluster & AliPMDcluster::operator=(const AliPMDcluster &pmdcluster)
 {
   // Assignment operator 
-  if(&pmdcluster == this) return *this;
-  for(Int_t i=0; i<5; i++)
+  if(this != &pmdcluster)
     {
-      this->fClusData[i] = pmdcluster.fClusData[i];
+      this->fDet = pmdcluster.fDet;
+      this->fSMN = pmdcluster.fSMN;
+      for(Int_t i=0; i<6; i++)
+       {
+         this->fClusData[i] = pmdcluster.fClusData[i];
+       }
+      if(fClusData[3] > 19.){
+       //AliError(Form("Too many clusters %f > 19",fClusData[3]));
+       fClusData[3] = 19.;
+      }
+      for(Int_t i=0; i<19; i++)
+       {
+         this->fClusCellDataX[i] = pmdcluster.fClusCellDataX[i];
+         this->fClusCellDataY[i] = pmdcluster.fClusCellDataY[i];
+         this->fClusCellTrack[i] = pmdcluster.fClusCellTrack[i];
+         this->fClusCellPid[i]   = pmdcluster.fClusCellPid[i];
+         this->fClusCellAdc[i]   = pmdcluster.fClusCellAdc[i];
+       }
     }
   return *this;
 }
+// --------------------------------------------------------------------- //
 
 AliPMDcluster::~AliPMDcluster()
 {
   // Destructor
 }
+// --------------------------------------------------------------------- //
+
+Int_t AliPMDcluster::GetDetector() const
+{
+  return fDet;
+}
+// --------------------------------------------------------------------- //
+Int_t AliPMDcluster::GetSMN() const
+{
+  return fSMN;
+}
+// --------------------------------------------------------------------- //
 Float_t AliPMDcluster::GetClusX() const
 {
   return fClusData[0];
 }
+// --------------------------------------------------------------------- //
 Float_t AliPMDcluster::GetClusY() const
 {
   return fClusData[1];
 }
+// --------------------------------------------------------------------- //
 Float_t AliPMDcluster::GetClusADC() const
 {
   return fClusData[2];
 }
+// --------------------------------------------------------------------- //
 Float_t AliPMDcluster::GetClusCells() const
 {
   return fClusData[3];
 }
-Float_t AliPMDcluster::GetClusRadius() const
+// --------------------------------------------------------------------- //
+Float_t AliPMDcluster::GetClusSigmaX() const
 {
   return fClusData[4];
 }
-
-
+// --------------------------------------------------------------------- //
+Float_t AliPMDcluster::GetClusSigmaY() const
+{
+  return fClusData[5];
+}
+// --------------------------------------------------------------------- //
+Int_t AliPMDcluster::GetClusCellX(Int_t i) const
+{
+  return fClusCellDataX[i];
+}
+// --------------------------------------------------------------------- //
+Int_t AliPMDcluster::GetClusCellY(Int_t i) const
+{
+  return fClusCellDataY[i];
+}
+// --------------------------------------------------------------------- //
+Int_t AliPMDcluster::GetClusCellTrack(Int_t i) const
+{
+  return fClusCellTrack[i];
+}
+// --------------------------------------------------------------------- //
+Int_t AliPMDcluster::GetClusCellPid(Int_t i) const
+{
+  return fClusCellPid[i];
+}
+// --------------------------------------------------------------------- //
+Float_t AliPMDcluster::GetClusCellAdc(Int_t i) const
+{
+  return fClusCellAdc[i];
+}
+// --------------------------------------------------------------------- //