]> git.uio.no Git - u/mrichter/AliRoot.git/blob - TRD/AliTRDrecPoint.h
Stand-alone library for ESD. Possibility to use only root and lidESD.so for analysis...
[u/mrichter/AliRoot.git] / TRD / AliTRDrecPoint.h
1 #ifndef ALITRDRECPOINT_H
2 #define ALITRDRECPOINT_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice                               */
5
6 /* $Id$ */
7
8 ///////////////////////////////////////////////////////////////////////////////
9 //                                                                           //
10 //  TRD reconstructed point                                                  //
11 //                                                                           //
12 ///////////////////////////////////////////////////////////////////////////////
13
14 #include "AliRecPoint.h"
15
16 class AliTRDrecPoint : public AliRecPoint {
17
18  public:
19
20   AliTRDrecPoint();
21   AliTRDrecPoint(const char * opt);
22   virtual ~AliTRDrecPoint();
23
24   virtual void    Print(Option_t* ) const {};
25   virtual void    AddDigit(Int_t digit);
26   virtual void    AddDigit(AliDigitNew& ) {};
27
28   virtual void    SetEnergy(Float_t amp)          { fAmp      = amp; };
29   virtual void    SetDetector(Int_t det)          { fDetector = det; };
30   virtual void    SetLocalPosition(TVector3 &pos);
31   virtual void    SetLocalRow(Float_t r)          { fLocPos.SetX(r); };
32   virtual void    SetLocalCol(Float_t c)          { fLocPos.SetY(c); };
33   virtual void    SetLocalTime(Float_t t)         { fLocPos.SetZ(t); };
34
35   virtual void    SetLocalTimeBin(Int_t tb)       { fTimeBin  = tb;  }
36   virtual void    SetTrackingYZ(Float_t fSigmaY = 0.0, Float_t fSigmaZ = 0.0);  
37
38   virtual Int_t   GetDetector() const             { return fDetector; };
39   virtual Int_t   GetDigit(Int_t i = 0) const     { if (i < fMulDigit)
40                                                       return fDigitsList[i]; 
41                                                     else
42                                                       return -1;};
43   virtual Float_t GetLocalRow() const             { return fLocPos(0); };
44   virtual Float_t GetLocalCol() const             { return fLocPos(1); };
45   virtual Float_t GetLocalTime() const            { return fLocPos(2); };
46
47   virtual Int_t   GetLocalTimeBin() const         { return Int_t(fLocPos(2)); }
48   virtual Float_t GetSigmaY2() const              { return fSigmaY2; }
49   virtual Float_t GetSigmaZ2() const              { return fSigmaZ2; }
50   virtual Float_t GetY() const                    { return fY; }
51   virtual Float_t GetZ() const                    { return fZ; }
52           Int_t   IsUsed() const                  { return fUsed; }
53           void    Use()                           { fUsed++; }
54           Int_t   GetTrackIndex(Int_t i) const    { return fTracks[i]; }
55           void    AddTrackIndex(Int_t *i);  
56
57  protected:
58
59   Int_t    fDetector;        // TRD detector number
60   Int_t    fTimeBin;         // Time bin number within the detector
61   Int_t    fUsed;            // 0 initially and incremented if the point is "used"
62   Int_t    fTracks[3];       // labels of overlapped tracks
63   Float_t  fY;               // local Rphi coordinate (cm) within tracking sector
64   Float_t  fZ;               // local Z coordinate (cm) within tracking sector
65   Float_t  fSigmaY2;         // Y variance (cm)
66   Float_t  fSigmaZ2;         // Z variance (cm)  
67
68   ClassDef(AliTRDrecPoint,1) // Reconstructed point for the TRD
69
70 };
71
72 #endif