]>
Commit | Line | Data |
---|---|---|
46d29e70 | 1 | #ifndef ALITRDCLUSTER_H |
2 | #define ALITRDCLUSTER_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 <TObject.h> | |
9 | ||
10 | class AliTRDrecPoint; | |
11 | ||
12 | class AliTRDcluster : public TObject { | |
13 | ||
14 | public: | |
15 | ||
16 | AliTRDcluster(); | |
a2b90f83 | 17 | AliTRDcluster(const AliTRDcluster &c); |
18 | AliTRDcluster(const AliTRDrecPoint &p); | |
19 | virtual ~AliTRDcluster(); | |
20 | AliTRDcluster &operator=(const AliTRDcluster &c); | |
21 | ||
22 | virtual void Copy(TObject &c); | |
23 | virtual void AddTrackIndex(Int_t *i); | |
24 | ||
25 | Int_t GetDetector() const { return fDetector; } | |
26 | Int_t GetLocalTimeBin() const { return fTimeBin; } | |
27 | ||
28 | Float_t GetSigmaY2() const { return fSigmaY2; } | |
29 | Float_t GetSigmaZ2() const { return fSigmaZ2; } | |
30 | Float_t GetY() const { return fY; } | |
31 | Float_t GetZ() const { return fZ; } | |
32 | Float_t GetQ() const { return fQ; } | |
33 | ||
34 | Int_t IsUsed() const { return (fQ < 0) ? 1 : 0; } | |
35 | void Use() { fQ = -fQ; } | |
36 | Int_t GetTrackIndex(Int_t i) const { return fTracks[i]; } | |
37 | ||
db30bf0f | 38 | Bool_t From2pad() const { return TestBit(k2pad); } |
39 | Bool_t From3pad() const { return TestBit(k3pad); } | |
40 | Bool_t From4pad() const { return TestBit(k4pad); } | |
41 | Bool_t From5pad() const { return TestBit(k5pad); } | |
42 | Bool_t FromLarge() const { return TestBit(kLarge); } | |
a2b90f83 | 43 | |
44 | void SetDetector(Int_t d) { fDetector = d; } | |
45 | void SetLocalTimeBin(Int_t t) { fTimeBin = t; } | |
46 | void SetQ(Float_t q) { fQ = q; } | |
47 | void SetY(Float_t y) { fY = y; } | |
48 | void SetZ(Float_t z) { fZ = z; } | |
49 | void SetTrackIndex(Int_t i, Int_t t) { fTracks[i] = t; } | |
50 | void SetSigmaY2(Float_t s) { fSigmaY2 = s; } | |
51 | void SetSigmaZ2(Float_t s) { fSigmaZ2 = s; } | |
52 | ||
db30bf0f | 53 | void Set2pad() { SetBit(k2pad); } |
54 | void Set3pad() { SetBit(k3pad); } | |
55 | void Set4pad() { SetBit(k4pad); } | |
56 | void Set5pad() { SetBit(k5pad); } | |
57 | void SetLarge() { SetBit(kLarge); } | |
46d29e70 | 58 | |
59 | protected: | |
60 | ||
a2b90f83 | 61 | enum { |
db30bf0f | 62 | k2pad = 0x00000001, // 2 pad cluster |
63 | k3pad = 0x00000002, // 3 pad cluster | |
64 | k4pad = 0x00000004, // 4 pad cluster | |
65 | k5pad = 0x00000008, // 5 pad cluster | |
66 | kLarge = 0x00000016 // Large cluster | |
a2b90f83 | 67 | }; |
46d29e70 | 68 | |
a2b90f83 | 69 | Int_t fDetector; // TRD detector number |
70 | Int_t fTimeBin; // Time bin number within the detector | |
46d29e70 | 71 | |
a2b90f83 | 72 | Int_t fTracks[3]; // labels of overlapped tracks |
73 | Float_t fQ; // amplitude | |
74 | Float_t fY; // local Rphi coordinate (cm) within tracking sector | |
75 | Float_t fZ; // local Z coordinate (cm) within tracking sector | |
76 | Float_t fSigmaY2; // Y variance (cm) | |
77 | Float_t fSigmaZ2; // Z variance (cm) | |
46d29e70 | 78 | |
a2b90f83 | 79 | ClassDef(AliTRDcluster,1) // Cluster for the TRD |
46d29e70 | 80 | |
81 | }; | |
82 | ||
83 | #endif |