Test for Coverity
[u/mrichter/AliRoot.git] / TPC / AliTPCclusterMI.h
index 195bd7b..47292f6 100644 (file)
 
 #include "AliCluster.h"
 #include "TMath.h"
-
+#include "AliTPCclusterInfo.h"
 //_____________________________________________________________________________
 class AliTPCclusterMI : public AliCluster {
 public:
-  AliTPCclusterMI():AliCluster(){fQ=0; fUsed=0;}
-  AliTPCclusterMI(Int_t *lab, Float_t *hit) : AliCluster(lab,hit) {fQ = (Short_t)hit[4];}
-  virtual ~AliTPCclusterMI() {}
+  AliTPCclusterMI();
+  AliTPCclusterMI(const AliTPCclusterMI & cluster);
+  AliTPCclusterMI &operator = (const AliTPCclusterMI & cluster); //assignment operator
+  AliTPCclusterMI(Int_t *lab, Float_t *hit);
+  virtual ~AliTPCclusterMI();
+  virtual void Clear(const Option_t*) { delete fInfo; fInfo=0;}
   virtual Bool_t IsSortable() const; 
   virtual Int_t Compare(const TObject* obj) const;
   inline  void Use(Int_t inc=10);
-  void SetQ(Float_t q) {fQ=(Short_t)q;}
+  virtual Int_t GetDetector() const {return fDetector;}
+  virtual Int_t GetRow() const {return fRow;}
+  virtual void SetDetector(Int_t detector);
+  virtual void SetRow(Int_t row){fRow = (UChar_t)(row%256);}  
+  virtual void SetTimeBin(Float_t timeBin){ fTimeBin= timeBin;}
+  virtual void SetPad(Float_t pad){ fPad = pad;}
+  //
+  void SetQ(Float_t q) {fQ=(UShort_t)q;}
   void SetType(Char_t type) {fType=type;}
-  void SetMax(Short_t max) {fMax=max;}
+  void SetMax(UShort_t max) {fMax=max;}
   Int_t IsUsed(Int_t th=10) const {return (fUsed>=th) ? 1 : 0;}
   Float_t GetQ() const {return TMath::Abs(fQ);}
   Float_t GetMax() const {return fMax;} 
   Char_t  GetType()const {return fType;}
+  Float_t GetTimeBin() const { return fTimeBin;}
+  Float_t GetPad() const { return fPad;}
+  AliTPCclusterInfo * GetInfo() const { return fInfo;}
+  void SetInfo(AliTPCclusterInfo * info);
+
 private:
+  AliTPCclusterInfo * fInfo;  // pointer to the cluster debug info
+  Float_t   fTimeBin;  //time bin coordinate
+  Float_t   fPad;  //pad coordinate
   Short_t   fQ ;       //Q of cluster (in ADC counts)  
-  Char_t    fType;     //type of the cluster 0 means golden 
   Short_t   fMax;      //maximal amplitude in cluster
+  Char_t    fType;     //type of the cluster 0 means golden 
   Char_t    fUsed;     //counter of usage  
- ClassDef(AliTPCclusterMI,1)  // Time Projection Chamber clusters
+  UChar_t   fDetector; //detector  number
+  UChar_t   fRow;      //row number number
+  ClassDef(AliTPCclusterMI,5)  // Time Projection Chamber clusters
 };
 
 void AliTPCclusterMI::Use(Int_t inc) 
@@ -45,40 +64,6 @@ void AliTPCclusterMI::Use(Int_t inc)
     fUsed=0;
 }
 
-class AliTPCclusterLMI  {
-
-public:
-  AliTPCclusterLMI(){fCZ=fCY=fSigmaZ=fSigmaY=fQ=fMax=fCType=0;}
-  Float_t  GetZ()            const {return (fCZ*0.01);}
-  Float_t  GetY()            const {return (fCY*0.01);}
-  Float_t  GetSigmaZ()       const {return (fSigmaZ*0.02);}
-  Float_t  GetSigmaY()       const {return (fSigmaY*0.02);}  
-  Int_t  GetType()           const {return fCType;}
-  Int_t  GetMax()            const {return fMax;}
-  Float_t  GetQ()            const {return fQ;}
-  Int_t    GelLabel(Int_t i) const {return fLabel[i];}
-  //
-  void     SetY(Float_t y){ fCY = Short_t(TMath::Nint(y*100.));} 
-  void     SetZ(Float_t z){ fCZ = Short_t(TMath::Nint(z*100.));} 
-  void     SetSigmaZ(Float_t sigmaz) {fSigmaZ = UChar_t(TMath::Nint(sigmaz*50.));}
-  void     SetSigmaY(Float_t sigmay) {fSigmaY = UChar_t(TMath::Nint(sigmay*50.));}
-  void     SetQ(Float_t q) {fQ = UShort_t(q);}
-  void     SetMax(Float_t max) {fMax = UShort_t(max);}
-  void     SetType(Char_t type) {fCType = type;}
-  void     SetLabels(Int_t labels[3]){fLabel[0] = labels[0];fLabel[1] = labels[1];fLabel[2] = labels[2];}
-
-private:
-  Short_t  fCZ;       // current cluster position Z in cm - 100 mum precision
-  Short_t  fCY;       // current cluster position Y in cm - 100 mum precision
-  UChar_t  fSigmaZ;   // shape  Z - normalised shape - normaliziation 1 - precision 2 percent
-  UChar_t  fSigmaY;   // shape  Y - normalised shape - normaliziation 1 - precision 2 percent
-  UShort_t fQ;        // total charge in cluster 
-  UShort_t fMax;      // charge at maximum  
-  Char_t   fCType;    // type of the cluster
-  Int_t    fLabel[3];    // track indexes 
-  ClassDef(AliTPCclusterLMI,1)  
-};
-
 
 
 #endif