]>
Commit | Line | Data |
---|---|---|
1 | #ifndef ALIESD_H | |
2 | #define ALIESD_H | |
3 | /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * | |
4 | * See cxx source for full Copyright notice */ | |
5 | ||
6 | ||
7 | /* $Id$ */ | |
8 | ||
9 | //------------------------------------------------------------------------- | |
10 | // Class AliESD | |
11 | // This is the class to deal with during the physical analysis of data | |
12 | // | |
13 | // Origin: Iouri Belikov, CERN, Jouri.Belikov@cern.ch | |
14 | //------------------------------------------------------------------------- | |
15 | ||
16 | #include <TClonesArray.h> | |
17 | #include <TObject.h> | |
18 | ||
19 | #include "AliESDMuonTrack.h" | |
20 | #include "AliESDPmdTrack.h" | |
21 | #include "AliESDVertex.h" | |
22 | #include "AliESDcascade.h" | |
23 | #include "AliESDtrack.h" | |
24 | #include "AliESDv0.h" | |
25 | ||
26 | class AliESD : public TObject { | |
27 | public: | |
28 | AliESD(); | |
29 | virtual ~AliESD(); | |
30 | ||
31 | void SetEventNumber(Int_t n) {fEventNumber=n;} | |
32 | void SetRunNumber(Int_t n) {fRunNumber=n;} | |
33 | void SetTrigger(Long_t n) {fTrigger=n;} | |
34 | void SetMagneticField(Float_t mf){fMagneticField = mf;} | |
35 | Float_t GetMagneticField() const {return fMagneticField;} | |
36 | ||
37 | AliESDtrack *GetTrack(Int_t i) const { | |
38 | return (AliESDtrack *)fTracks.UncheckedAt(i); | |
39 | } | |
40 | ||
41 | AliESDMuonTrack *GetMuonTrack(Int_t i) const { | |
42 | return (AliESDMuonTrack *)fMuonTracks.UncheckedAt(i); | |
43 | } | |
44 | AliESDPmdTrack *GetPmdTrack(Int_t i) const { | |
45 | return (AliESDPmdTrack *)fPmdTracks.UncheckedAt(i); | |
46 | } | |
47 | ||
48 | void AddTrack(const AliESDtrack *t) { | |
49 | new(fTracks[fTracks.GetEntriesFast()]) AliESDtrack(*t); | |
50 | } | |
51 | ||
52 | void AddMuonTrack(const AliESDMuonTrack *t) { | |
53 | new(fMuonTracks[fMuonTracks.GetEntriesFast()]) AliESDMuonTrack(*t); | |
54 | } | |
55 | void AddPmdTrack(const AliESDPmdTrack *t) { | |
56 | new(fPmdTracks[fPmdTracks.GetEntriesFast()]) AliESDPmdTrack(*t); | |
57 | } | |
58 | ||
59 | AliESDv0 *GetV0(Int_t i) const { | |
60 | return (AliESDv0 *)fV0s.UncheckedAt(i); | |
61 | } | |
62 | void AddV0(const AliESDv0 *v) { | |
63 | new(fV0s[fV0s.GetEntriesFast()]) AliESDv0(*v); | |
64 | } | |
65 | ||
66 | AliESDcascade *GetCascade(Int_t i) const { | |
67 | return (AliESDcascade *)fCascades.UncheckedAt(i); | |
68 | } | |
69 | void AddCascade(const AliESDcascade *c) { | |
70 | new(fCascades[fCascades.GetEntriesFast()]) AliESDcascade(*c); | |
71 | } | |
72 | ||
73 | void SetVertex(AliESDVertex* vertex) { | |
74 | new(&fPrimaryVertex) AliESDVertex(*vertex); | |
75 | } | |
76 | const AliESDVertex* GetVertex() const {return &fPrimaryVertex;}; | |
77 | ||
78 | Int_t GetEventNumber() const {return fEventNumber;} | |
79 | Int_t GetRunNumber() const {return fRunNumber;} | |
80 | Long_t GetTrigger() const {return fTrigger;} | |
81 | ||
82 | Int_t GetNumberOfTracks() const {return fTracks.GetEntriesFast();} | |
83 | Int_t GetNumberOfMuonTracks() const {return fMuonTracks.GetEntriesFast();} | |
84 | Int_t GetNumberOfPmdTracks() const {return fPmdTracks.GetEntriesFast();} | |
85 | Int_t GetNumberOfV0s() const {return fV0s.GetEntriesFast();} | |
86 | Int_t GetNumberOfCascades() const {return fCascades.GetEntriesFast();} | |
87 | ||
88 | Float_t GetT0zVertex() const {return fT0zVertex;} | |
89 | void SetT0zVertex(Float_t z) {fT0zVertex=z;} | |
90 | ||
91 | void Print(Option_t *option="") const; | |
92 | ||
93 | protected: | |
94 | ||
95 | // Event Identification | |
96 | Int_t fEventNumber; // Event Number | |
97 | Int_t fRunNumber; // Run Number | |
98 | Long_t fTrigger; // Trigger Type | |
99 | Int_t fRecoVersion; // Version of reconstruction | |
100 | Float_t fMagneticField; // Solenoid Magnetic Field in kG : for compatibility with AliMagF | |
101 | ||
102 | Float_t fT0zVertex; // vertex z position estimated by the START | |
103 | AliESDVertex fPrimaryVertex; // Primary vertex estimated by the ITS | |
104 | ||
105 | TClonesArray fTracks; // ESD tracks | |
106 | TClonesArray fMuonTracks; // MUON ESD tracks | |
107 | TClonesArray fPmdTracks; // PMD ESD tracks | |
108 | TClonesArray fV0s; // V0 vertices | |
109 | TClonesArray fCascades; // Cascade vertices | |
110 | ||
111 | ClassDef(AliESD,4) //ESD class | |
112 | //ver. 2: Magnetic Field Added; skowron | |
113 | }; | |
114 | ||
115 | #endif | |
116 |