Line data Source code
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 408 : virtual ~AliESDTOFCluster() {}
32 :
33 264 : Int_t GetESDID() const {return GetUniqueID();}
34 224 : void SetESDID(Int_t id) {SetUniqueID(id);}
35 0 : Int_t GetID() const {return fID;}
36 0 : 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 224 : 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 0 : Int_t GetHitIndex(Int_t i) const {return fHitIndex[i];}
74 0 : 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 188 : ClassDef(AliESDTOFCluster, 2) // TOF matchable cluster
90 :
91 : };
92 :
93 : #endif
|