Bug corrected.
[u/mrichter/AliRoot.git] / STEER / AliAODTracklets.h
CommitLineData
21b22f32 1/* Copyright(c) 1998-2007, ALICE Experiment at CERN, All rights reserved. *
2 * See cxx source for full Copyright notice */
3
4/* $Id$ */
5
6//-------------------------------------------------------------------------
7// AOD class to store tracklets
8// Author: Jan Fiete Grosse-Oetringhaus, CERN
9// Class created from AliMultiplicity
10//-------------------------------------------------------------------------
11
12#ifndef ALIAODTRACKLETS_H
13#define ALIAODTRACKLETS_H
14
15#include <TNamed.h>
16
17class AliAODTracklets : public TNamed
18{
19 public:
20 AliAODTracklets();
21 AliAODTracklets(const char* name, const char* title);
5c1dc41f 22 AliAODTracklets(const AliAODTracklets& evt);
23 AliAODTracklets& operator=(const AliAODTracklets& evt);
21b22f32 24
25 virtual ~AliAODTracklets();
26
27 void CreateContainer(Int_t nTracks);
28 void DeleteContainer();
29
0939e22a 30 Bool_t SetTracklet(Int_t pos, Double32_t theta, Double32_t phi, Double32_t deltaPhi, Int_t labelL1, Int_t labelL2);
21b22f32 31
32 Int_t GetNumberOfTracklets() const { return fNTracks; }
d59deed5 33 inline Double32_t GetTheta(Int_t i) const;
34 inline Double32_t GetPhi(Int_t i) const;
35 inline Double32_t GetDeltaPhi(Int_t i) const;
0939e22a 36 inline Int_t GetLabel(Int_t i, Int_t layer) const;
a2707672 37 inline void SetLabel(Int_t i, Int_t layer,Int_t label);
21b22f32 38
39 protected:
f51b5257 40 Int_t fNTracks; // Number of tracklets
d59deed5 41 Double32_t *fTheta; //[fNTracks] array with theta values
42 Double32_t *fPhi; //[fNTracks] array with phi values
43 Double32_t *fDeltaPhi; //[fNTracks] array with delta phi values
0939e22a 44 Int_t *fLabels; //[fNTracks] array with labels of cluster in L1 used for the tracklet
45 Int_t *fLabelsL2; //[fNTracks] array with labels of cluster in L2 used for the tracklet
21b22f32 46
21b22f32 47
0939e22a 48 ClassDef(AliAODTracklets, 3);
21b22f32 49};
50
d59deed5 51Double32_t AliAODTracklets::GetTheta(Int_t i) const
21b22f32 52{
53 if (i>=0 && i<fNTracks)
54 {
55 return fTheta[i];
56 }
57 else
58 Error("GetTheta","Invalid track number %d",i); return -9999.;
59}
60
d59deed5 61Double32_t AliAODTracklets::GetPhi(Int_t i) const
21b22f32 62{
63 if (i>=0 && i<fNTracks)
64 {
65 return fPhi[i];
66 }
67 else
68 Error("GetPhi","Invalid track number %d",i); return -9999.;
69}
70
d59deed5 71Double32_t AliAODTracklets::GetDeltaPhi(Int_t i) const
21b22f32 72{
73 if (i>=0 && i<fNTracks)
74 {
75 return fDeltaPhi[i];
76 }
77 else
78 Error("GetDeltaPhi","Invalid track number %d",i); return -9999.;
79}
80
0939e22a 81Int_t AliAODTracklets::GetLabel(Int_t i, Int_t layer) const
21b22f32 82{
83 if (i>=0 && i<fNTracks)
84 {
0939e22a 85 return (layer == 0) ? fLabels[i] : fLabelsL2[i];
21b22f32 86 }
87 else
88 Error("GetLabel","Invalid track number %d",i); return -9999;
89}
90
a2707672 91
92void AliAODTracklets::SetLabel(Int_t i, Int_t layer,Int_t label)
93{
94 if (i>=0 && i<fNTracks)
95 {
96 if(layer == 0) fLabels[i] = label;
97 else fLabelsL2[i] = label;
98 }
99}
100
101
21b22f32 102#endif