]> git.uio.no Git - u/mrichter/AliRoot.git/blob - TRD/AliTRDrecPoint.h
Bug fix reported by Jiri. Make atoi input zero terminated in StepManager()
[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 #include "AliRecPoint.h"
9
10 class AliTRDrecPoint : public AliRecPoint {
11
12  public:
13
14   AliTRDrecPoint();
15   AliTRDrecPoint(const char * opt);
16   virtual ~AliTRDrecPoint();
17
18   virtual void    Print(Option_t* opt) {};
19   virtual void    AddDigit(Int_t digit);
20   virtual void    AddDigit(AliDigitNew &digit) {};
21
22   virtual void    SetEnergy(Float_t amp)          { fAmp      = amp; };
23   virtual void    SetDetector(Int_t det)          { fDetector = det; };
24   virtual void    SetLocalPosition(TVector3 &pos);
25   virtual void    SetLocalRow(Float_t r)          { fLocPos.SetX(r); };
26   virtual void    SetLocalCol(Float_t c)          { fLocPos.SetY(c); };
27   virtual void    SetLocalTime(Float_t t)         { fLocPos.SetZ(t); };
28
29   virtual void    SetLocalTimeBin(Int_t tb)       { fTimeBin  = tb;  }
30   virtual void    SetTrackingYZ(Float_t fSigmaY = 0.0, Float_t fSigmaZ = 0.0);  
31
32   virtual Int_t   GetDetector() const             { return fDetector; };
33   virtual Int_t   GetDigit(Int_t i = 0) const     { if (i < fMulDigit)
34                                                       return fDigitsList[i]; 
35                                                     else
36                                                       return -1;};
37   virtual Float_t GetLocalRow() const             { return fLocPos(0); };
38   virtual Float_t GetLocalCol() const             { return fLocPos(1); };
39   virtual Float_t GetLocalTime() const            { return fLocPos(2); };
40
41   virtual Int_t   GetLocalTimeBin() const         { return Int_t(fLocPos(2)); }
42   virtual Float_t GetSigmaY2() const              { return fSigmaY2; }
43   virtual Float_t GetSigmaZ2() const              { return fSigmaZ2; }
44   virtual Float_t GetY() const                    { return fY; }
45   virtual Float_t GetZ() const                    { return fZ; }
46           Int_t   IsUsed() const                  { return fUsed; }
47           void    Use()                           { fUsed++; }
48           Int_t   GetTrackIndex(Int_t i) const    { return fTracks[i]; }
49           void    AddTrackIndex(Int_t *i);  
50
51  protected:
52
53   Int_t    fDetector;        // TRD detector number
54   Int_t    fTimeBin;         // Time bin number within the detector
55   Int_t    fUsed;            // 0 initially and incremented if the point is "used"
56   Int_t    fTracks[3];       // labels of overlapped tracks
57   Float_t  fY;               // local Rphi coordinate (cm) within tracking sector
58   Float_t  fZ;               // local Z coordinate (cm) within tracking sector
59   Float_t  fSigmaY2;         // Y variance (cm)
60   Float_t  fSigmaZ2;         // Z variance (cm)  
61
62   ClassDef(AliTRDrecPoint,1) // Reconstructed point for the TRD
63
64 };
65
66 #endif