eed56ba097614ba1e66690dd21c6a357ab68198a
[u/mrichter/AliRoot.git] / STEER / AliESD.h
1 #ifndef ALIESDEVENT_H
2 #define ALIESDEVENT_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 "TObject.h"
17 #include "TClonesArray.h"
18 #include  "AliESDtrack.h"
19 #include  "AliESDv0.h"
20 #include  "AliESDcascade.h"
21
22 class AliESD : public TObject {
23 public:
24   AliESD();
25   virtual ~AliESD() {
26     fTracks.Delete();
27     fV0s.Delete();
28     fCascades.Delete();
29   }
30
31   void SetEventNumber(Int_t n) {fEventNumber=n;}
32
33   AliESDtrack *GetTrack(Int_t i) {
34     return (AliESDtrack *)fTracks.UncheckedAt(i);
35   }
36   void AddTrack(const AliESDtrack *t) {
37     new(fTracks[fTracks.GetEntriesFast()]) AliESDtrack(*t);
38   }
39
40   AliESDv0 *GetV0(Int_t i) {
41     return (AliESDv0 *)fV0s.UncheckedAt(i);
42   }
43   void AddV0(const AliESDv0 *v) {
44     new(fV0s[fV0s.GetEntriesFast()]) AliESDv0(*v);
45   }
46
47   AliESDcascade *GetCascade(Int_t i) {
48     return (AliESDcascade *)fCascades.UncheckedAt(i);
49   }
50   void AddCascade(const AliESDcascade *c) {
51     new(fCascades[fCascades.GetEntriesFast()]) AliESDcascade(*c);
52   }
53
54   Int_t  GetEventNumber() const {return fEventNumber;}
55   Int_t  GetRunNumber() const {return fRunNumber;}
56   Long_t GetTrigger() const {return fTrigger;}
57   
58   Int_t GetNumberOfTracks()   const {return fTracks.GetEntriesFast();}
59   Int_t GetNumberOfV0s()      const {return fV0s.GetEntriesFast();}
60   Int_t GetNumberOfCascades() const {return fCascades.GetEntriesFast();}
61   
62 protected:
63
64   // Event Identification
65   Int_t        fEventNumber;     // Event Number
66   Int_t        fRunNumber;       // Run Number
67   Long_t       fTrigger;         // Trigger Type
68   Int_t        fRecoVersion;     // Version of reconstruction 
69
70   TClonesArray  fTracks;         // ESD tracks
71   TClonesArray  fV0s;            // V0 vertices
72   TClonesArray  fCascades;       // Cascade vertices
73   
74   ClassDef(AliESD,1)  //ESD class 
75 };
76
77 #endif 
78