]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - TPC/AliComplexCluster.h
Fixes for some mem-leaks: most changes where pretty basic (i.e. adding deletes).
[u/mrichter/AliRoot.git] / TPC / AliComplexCluster.h
index 51ace4bbddc61bc95d2adf1cb91a9f61abdcb5b6..7b9d57a9e5518cef473c263cb27f6da467996e43 100644 (file)
 //
 
 class AliComplexCluster : public TObject {
-  friend class AliTPC;
-  friend class AliTPCClusterFinder;
-  friend class AliClusters;
 public:
 
-  AliComplexCluster() {
-    fTracks[0]=fTracks[1]=fTracks[2]=0; 
-    fX=fY=fQ=fSigmaX2=fSigmaY2=fSigmaXY=fArea=fMax=0.;
-  }
+  AliComplexCluster();
   virtual ~AliComplexCluster() {;}
   Bool_t    IsSortable() const;
   Int_t Compare(const TObject *o) const;
   // the following getters are needed by HLT
   // please dont remove... C. Loizides
-  Int_t GetTrack(Int_t i){return fTracks[i];} //labels of overlapped tracks
-  Float_t GetX(){return fX;}
-  Float_t GetY(){return fY;}
-  Float_t GetQ(){return fQ;}
-  Float_t GetSigmaX2(){return fSigmaX2;}
-  Float_t GetSigmaY2(){return fSigmaY2;}
-  Float_t GetSigmaXY(){return fSigmaXY;}
-  Float_t GetArea(){return fArea;}
-  Float_t GetMax(){return fMax;}
+  Int_t GetTrack(Int_t i)const {return fTracks[i];} //labels of overlapped tracks
+  Float_t GetX()const {return fX;}
+  Float_t GetY()const {return fY;}
+  Float_t GetQ()const {return fQ;}
+  Float_t GetSigmaX2()const {return fSigmaX2;}
+  Float_t GetSigmaY2()const {return fSigmaY2;}
+  Float_t GetSigmaXY()const {return fSigmaXY;}
+  Float_t GetArea()const {return fArea;}
+  Float_t GetMax()const {return fMax;}
 private:
   Int_t     fTracks[3];//labels of overlapped tracks
   Float_t   fX ;       //Y of cluster
@@ -57,11 +51,21 @@ private:
 
 
 class AliTPCTrackerPoint  {  
-  friend class AliTPCtrackerMI;
-  friend class AliTPCseed;
  public:
 
-  AliTPCTrackerPoint(){fTX=0; fTY=0; fTZ=0; fTAngleZ=0; fTAngleY=0; fIsShared = 0;}
+  AliTPCTrackerPoint():
+    fTX(0),
+    fTZ(0),
+    fTY(0),
+    fTAngleZ(0),
+    fTAngleY(0),
+    fSigmaZ(0),
+    fSigmaY(0),
+    fErrZ(0),
+    fErrY(0),
+    fIsShared(0){}
+  virtual ~AliTPCTrackerPoint(){}
+  AliTPCTrackerPoint &operator=(const AliTPCTrackerPoint& o);
   Float_t  GetX() const  {return (fTX*0.01);}
   Float_t  GetZ() const {return (fTZ*0.01);}
   Float_t  GetY() const {return (fTY*0.01);}
@@ -82,6 +86,10 @@ class AliTPCTrackerPoint  {
 
   void     SetSigmaZ(Float_t sigmaz) {fSigmaZ = UChar_t(TMath::Nint(sigmaz*50.));}
   void     SetSigmaY(Float_t sigmay) {fSigmaY = UChar_t(TMath::Nint(sigmay*50.));}
+
+  Char_t   IsShared() const {return fIsShared;}
+  void     SetShared(Char_t s) {fIsShared=s;}
+
   //
  private:
   Short_t   fTX;        // x position of the cluster  in cm - 10 mum prec
@@ -95,12 +103,20 @@ class AliTPCTrackerPoint  {
   UShort_t  fErrY;       // y error estimate - in  mm - 50 mum precision 
   Char_t   fIsShared;     // indicate sharing of the point between several tracks
 
-  ClassDef(AliTPCTrackerPoint,1)  
+  ClassDef(AliTPCTrackerPoint,2)  
 };
 
 class AliTPCClusterPoint  {
  public:
-  AliTPCClusterPoint(){fCZ=fCY=fSigmaZ=fSigmaY=fQ=fMax=fCType=0;}
+  AliTPCClusterPoint():
+                      fCZ(0),
+                      fCY(0), 
+                      fSigmaZ(0),
+                      fSigmaY(0),
+                      fQ(0),
+                      fMax(0),
+                      fCType(0){}
+  virtual ~AliTPCClusterPoint(){}
   Float_t  GetZ() const    {return (fCZ*0.01);}
   Float_t  GetY() const   {return (fCY*0.01);}
   Float_t  GetSigmaZ() const {return (fSigmaZ*0.02);}
@@ -132,9 +148,18 @@ class AliTPCClusterPoint  {
 
 
 class AliTPCExactPoint : public TObject{
-  friend class AliTPCtrackerMI;
  public:
-  AliTPCExactPoint(){fEZ=fEY=fEAngleZ=fEAngleY=fEAmp=fEPrim=fTrackID=0;}
+  AliTPCExactPoint():TObject(),
+    fEZ(0.),
+    fEY(0.),
+    fEX(0.),
+    fEAngleZ(0.),
+    fEAngleY(0.),
+    fEAmp(0.),
+    fEPrim(0.),
+    fTrackID(0),
+    fRow(0),
+    fSec(0){}
  private:
   Float_t fEZ;       // current "exact" position according simulation
   Float_t fEY;       // current "exact" position according simulation
@@ -151,9 +176,11 @@ class AliTPCExactPoint : public TObject{
 
 
 class AliTPCTrackPoint: public TObject{
-  friend class AliTPCtrackerMI;
  public:
-  AliTPCTrackPoint(){}
+  AliTPCTrackPoint():TObject(),
+    fTPoint(),
+    fCPoint(){}
+
   // AliTPCClusterPoint & GetCPoint(){return fCPoint;}
   AliTPCTrackerPoint & GetTPoint(){return fTPoint;}
   AliTPCclusterMI & GetCPoint(){return fCPoint;}  
@@ -166,9 +193,21 @@ class AliTPCTrackPoint: public TObject{
 };
 
 class AliTPCTrackPoint2: public AliTPCTrackPoint{
-  friend class AliTPCtrackerMI;
  public:
-  AliTPCTrackPoint2(){}
+  AliTPCTrackPoint2():AliTPCTrackPoint(),
+    fGX(0.),
+    fGY(0.),
+    fGZ(0.),
+    fDY(0.),
+    fDZ(0.),
+    fDYU(0.),
+    fDYD(0),
+    fDZU(0.),
+    fDZD(0.),
+    fDDY(0),
+    fDDZ(0.),
+    fID(0),
+    fLab(0){}
  private: 
   Float_t fGX;    //global poition of the point
   Float_t fGY;    //global poition of the point
@@ -195,7 +234,6 @@ class AliTPCTrackPoint2: public AliTPCTrackPoint{
 
 
 class AliTPCTrackPointRef: public AliTPCTrackPoint{
-  friend class AliTPCtrackerMI;
  public:
   AliTPCExactPoint & GetExactPoint(){return fEPoint;}
   AliTPCExactPoint & GetNearestPoint(){return fNPoint;}