]> git.uio.no Git - u/mrichter/AliRoot.git/blob - STEER/ESD/AliESDTOFCluster.h
Merge branch 'TPCdev' into master
[u/mrichter/AliRoot.git] / STEER / ESD / AliESDTOFCluster.h
1 #ifndef ALIESDTOFCLUSTER_H
2 #define ALIESDTOFCLUSTER_H
3
4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5  * See cxx source for full Copyright notice                               */
6
7 /* $Id: $ */
8
9 //----------------------------------------------------------------------//
10 //                                                                      //
11 // AliESDTOFCluster Class                                                //
12 //                                                                      //
13 //----------------------------------------------------------------------//
14 #include "TMath.h"
15 #include <AliVTOFcluster.h>
16 #include "AliESDTOFHit.h"
17 #include "AliESDTOFMatch.h"
18
19 class AliESDEvent;
20
21 class AliESDTOFCluster : public AliVTOFcluster {
22
23  public:
24   AliESDTOFCluster(Int_t id=-1);
25   AliESDTOFCluster(Int_t ,Int_t ,Float_t ,Float_t ,Float_t ,Int_t*,Int_t ,Int_t ,  Bool_t ,Float_t ,Float_t ,Float_t ,
26                    Int_t ,Float_t ,Float_t ,Float_t ,Float_t ,Double_t*);
27   AliESDTOFCluster(Int_t ,Int_t ,Float_t ,Float_t ,Float_t t,Int_t*,Int_t ,Int_t ,
28                    Bool_t ,Float_t ,Float_t ,Float_t );
29   AliESDTOFCluster(const AliESDTOFCluster & source);
30   AliESDTOFCluster & operator=(const AliESDTOFCluster & source);
31   virtual ~AliESDTOFCluster() {}
32
33   Int_t GetESDID()          const {return GetUniqueID();}
34   void  SetESDID(Int_t id)        {SetUniqueID(id);}
35   Int_t GetID()             const {return fID;}
36   void  SetID(Int_t id)           {fID = id;}
37
38   Int_t Update(Int_t trackIndex,Float_t dX,Float_t dY,Float_t dZ,Float_t length,Double_t expTimes[9]);
39   void  SuppressMatchedTrack(Int_t id);
40   void  ReplaceMatchedTrackID(int oldID, int newID);
41   void  ReplaceMatchID(int oldID, int newID);
42   void  ReplaceHitID(int oldID, int newID);
43   void  FixSelfReferences(int oldID, int newID);
44   Int_t GetClusterIndex(Int_t ihit=0) const; // cluster index
45   Int_t GetTOFchannel(Int_t ihit=0) const; // TOF channel
46   Float_t GetTime(Int_t ihit=0) const; // TOF time
47   Float_t GetTimeRaw(Int_t ihit=0) const; // TOF raw time
48   Float_t GetTOT(Int_t ihit=0) const; // TOF tot
49   Float_t GetTOFsignalToT(Int_t ihit=0) const; // TOF tot
50   Int_t GetLabel(Int_t i=0,Int_t ihit=0) const;
51   Int_t GetDeltaBC(Int_t ihit=0) const;
52   Int_t GetL0L1Latency(Int_t ihit=0) const;
53   Bool_t GetStatus() const;
54   Float_t GetZ() const;
55   Float_t GetPhi() const;
56   Float_t GetR() const;
57   Int_t GetNMatchableTracks() const;
58   Int_t GetNTOFhits() const;
59
60   Int_t GetTrackIndex(Int_t i=0) const;
61   Float_t GetDistanceInStripPlane(Int_t i=0)   const; // distance
62   Float_t GetDx(Int_t i=0)  const; // distance, X component
63   Float_t GetDy(Int_t i=0)  const; // distance, Y component
64   Float_t GetDz(Int_t i=0)  const; // distance, Z component
65   Float_t GetLength(Int_t i=0) const; // reconstructed track length at TOF
66   Double_t GetIntegratedTime(Int_t iPart=0,Int_t i=0) const; // reconstructed track length at TOF
67   void SetStatus(Int_t status) {fStatus=status;};
68
69   void AddESDTOFHitIndex(Int_t hitID);
70   void AddTOFhit(Int_t ,Int_t ,Float_t ,Float_t ,Float_t ,Int_t*,Int_t ,Int_t , Bool_t ,Float_t ,Float_t ,Float_t );
71   void AddTOFhit(AliESDTOFHit *hit);
72
73   Int_t GetHitIndex(Int_t i) const {return fHitIndex[i];}
74   void  SetHitIndex(Int_t i,Int_t index) {fHitIndex[i] = index;}
75
76   void Print(const Option_t *opt=0) const;
77
78   AliESDTOFHit*   GetTOFHit(Int_t i) const;
79   AliESDTOFMatch* GetTOFMatch(Int_t i) const;
80
81  protected:
82   Int_t  fID;               // raw cluster id
83   Char_t fNTOFhits;         // number of TOF hit in the cluster
84   Bool_t fStatus;           // !
85   Char_t fNmatchableTracks; // number of matchable tracks with the same TOF matchable hit
86   Int_t  fHitIndex[kMaxHits];          // pointing to hit info
87   Int_t  fMatchIndex[kMaxMatches];     // pointing to matching info
88
89   ClassDef(AliESDTOFCluster, 2) // TOF matchable cluster
90
91 }; 
92
93 #endif