]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - TRD/AliTRDrecPoint.h
Particle history saved
[u/mrichter/AliRoot.git] / TRD / AliTRDrecPoint.h
index 54d99b110570e46c2709befad6fa6e4a8ec098ab..9e096f9bfd5e77845f5d5e09f4c7271b14adbc0b 100644 (file)
@@ -5,6 +5,12 @@
 
 /* $Id$ */
 
+///////////////////////////////////////////////////////////////////////////////
+//                                                                           //
+//  TRD reconstructed point                                                  //
+//                                                                           //
+///////////////////////////////////////////////////////////////////////////////
+
 #include "AliRecPoint.h"
 
 class AliTRDrecPoint : public AliRecPoint {
@@ -12,11 +18,12 @@ class AliTRDrecPoint : public AliRecPoint {
  public:
 
   AliTRDrecPoint();
+  AliTRDrecPoint(const char * opt);
   virtual ~AliTRDrecPoint();
 
-  virtual void    Print(Option_t* ) {};
+  virtual void    Print(Option_t* ) const {};
   virtual void    AddDigit(Int_t digit);
-  virtual void    AddDigit(AliDigitNew &digit) {};
+  virtual void    AddDigit(AliDigitNew) {};
 
   virtual void    SetEnergy(Float_t amp)          { fAmp      = amp; };
   virtual void    SetDetector(Int_t det)          { fDetector = det; };
@@ -25,18 +32,38 @@ class AliTRDrecPoint : public AliRecPoint {
   virtual void    SetLocalCol(Float_t c)          { fLocPos.SetY(c); };
   virtual void    SetLocalTime(Float_t t)         { fLocPos.SetZ(t); };
 
-  virtual Int_t   GetDetector()                   { return fDetector; };
-  virtual Int_t   GetDigit(Int_t i = 0)           { if (i < fMulDigit)
+  virtual void    SetLocalTimeBin(Int_t tb)       { fTimeBin  = tb;  }
+  virtual void    SetTrackingYZ(Float_t fSigmaY = 0.0, Float_t fSigmaZ = 0.0);  
+
+  virtual Int_t   GetDetector() const             { return fDetector; };
+  virtual Int_t   GetDigit(Int_t i = 0) const     { if (i < fMulDigit)
                                                       return fDigitsList[i]; 
                                                     else
                                                       return -1;};
-  virtual Float_t GetLocalRow()                   { return fLocPos(0); };
-  virtual Float_t GetLocalCol()                   { return fLocPos(1); };
-  virtual Float_t GetLocalTime()                  { return fLocPos(2); };
+  virtual Float_t GetLocalRow() const             { return fLocPos(0); };
+  virtual Float_t GetLocalCol() const             { return fLocPos(1); };
+  virtual Float_t GetLocalTime() const            { return fLocPos(2); };
+
+  virtual Int_t   GetLocalTimeBin() const         { return Int_t(fLocPos(2)); }
+  virtual Float_t GetSigmaY2() const              { return fSigmaY2; }
+  virtual Float_t GetSigmaZ2() const              { return fSigmaZ2; }
+  virtual Float_t GetY() const                    { return fY; }
+  virtual Float_t GetZ() const                    { return fZ; }
+          Int_t   IsUsed() const                  { return fUsed; }
+          void    Use()                           { fUsed++; }
+          Int_t   GetTrackIndex(Int_t i) const    { return fTracks[i]; }
+          void    AddTrackIndex(Int_t *i);  
 
  protected:
 
   Int_t    fDetector;        // TRD detector number
+  Int_t    fTimeBin;         // Time bin number within the detector
+  Int_t    fUsed;            // 0 initially and incremented if the point is "used"
+  Int_t    fTracks[3];       // labels of overlapped tracks
+  Float_t  fY;               // local Rphi coordinate (cm) within tracking sector
+  Float_t  fZ;               // local Z coordinate (cm) within tracking sector
+  Float_t  fSigmaY2;         // Y variance (cm)
+  Float_t  fSigmaZ2;         // Z variance (cm)  
 
   ClassDef(AliTRDrecPoint,1) // Reconstructed point for the TRD