]> git.uio.no Git - u/mrichter/AliRoot.git/blame - TRD/AliTRDcluster.h
New Clusterization by IHEP (yuri)
[u/mrichter/AliRoot.git] / TRD / AliTRDcluster.h
CommitLineData
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
10class AliTRDrecPoint;
11
12class 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