1 #ifndef ALIESDTOFCLUSTER_H
2 #define ALIESDTOFCLUSTER_H
4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5 * See cxx source for full Copyright notice */
9 //----------------------------------------------------------------------//
11 // AliESDTOFCluster Class //
13 //----------------------------------------------------------------------//
15 #include <AliVTOFcluster.h>
16 #include "AliESDTOFHit.h"
17 #include "AliESDTOFMatch.h"
21 class AliESDTOFCluster : public AliVTOFcluster {
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() {}
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;}
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;
55 Float_t GetPhi() const;
57 Int_t GetNMatchableTracks() const;
58 Int_t GetNTOFhits() const;
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;};
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);
73 Int_t GetHitIndex(Int_t i) const {return fHitIndex[i];}
74 void SetHitIndex(Int_t i,Int_t index) {fHitIndex[i] = index;}
76 void Print(const Option_t *opt=0) const;
78 AliESDTOFHit* GetTOFHit(Int_t i) const;
79 AliESDTOFMatch* GetTOFMatch(Int_t i) const;
82 Int_t fID; // raw cluster id
83 Char_t fNTOFhits; // number of TOF hit in the cluster
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
89 ClassDef(AliESDTOFCluster, 2) // TOF matchable cluster