]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - TRD/AliTRDrecPoint.h
Particle history saved
[u/mrichter/AliRoot.git] / TRD / AliTRDrecPoint.h
index e4076472827b8da7f1652616232367f900097609..9e096f9bfd5e77845f5d5e09f4c7271b14adbc0b 100644 (file)
@@ -1,10 +1,16 @@
-#ifndef TRDrecPoint_h
-#define TRDrecPoint_h
+#ifndef ALITRDRECPOINT_H
+#define ALITRDRECPOINT_H
 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
  * See cxx source for full Copyright notice                               */
 
 /* $Id$ */
 
+///////////////////////////////////////////////////////////////////////////////
+//                                                                           //
+//  TRD reconstructed point                                                  //
+//                                                                           //
+///////////////////////////////////////////////////////////////////////////////
+
 #include "AliRecPoint.h"
 
 class AliTRDrecPoint : public AliRecPoint {
@@ -12,19 +18,52 @@ class AliTRDrecPoint : public AliRecPoint {
  public:
 
   AliTRDrecPoint();
-  virtual ~AliTRDrecPoint() {};
-  virtual void  Print(Option_t * opt = "void") {};
-  virtual void  AddDigit(Int_t digit);
+  AliTRDrecPoint(const char * opt);
+  virtual ~AliTRDrecPoint();
+
+  virtual void    Print(Option_t* ) const {};
+  virtual void    AddDigit(Int_t digit);
+  virtual void    AddDigit(AliDigitNew& ) {};
+
+  virtual void    SetEnergy(Float_t amp)          { fAmp      = amp; };
+  virtual void    SetDetector(Int_t det)          { fDetector = det; };
+  virtual void    SetLocalPosition(TVector3 &pos);
+  virtual void    SetLocalRow(Float_t r)          { fLocPos.SetX(r); };
+  virtual void    SetLocalCol(Float_t c)          { fLocPos.SetY(c); };
+  virtual void    SetLocalTime(Float_t t)         { fLocPos.SetZ(t); };
+
+  virtual void    SetLocalTimeBin(Int_t tb)       { fTimeBin  = tb;  }
+  virtual void    SetTrackingYZ(Float_t fSigmaY = 0.0, Float_t fSigmaZ = 0.0);  
 
-  virtual void  SetAmplitude(Float_t amp)       { fAmp      = amp; };
-  virtual void  SetDetector(Int_t det)          { fDetector = det; };
-  virtual void  SetLocalPosition(TVector3 &pos);
+  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() const             { return fLocPos(0); };
+  virtual Float_t GetLocalCol() const             { return fLocPos(1); };
+  virtual Float_t GetLocalTime() const            { return fLocPos(2); };
 
-  virtual Int_t GetDetector()                   { return fDetector; };
+  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