]> git.uio.no Git - u/mrichter/AliRoot.git/blob - STEER/AliESDfriend.h
Useful macros for the shifter
[u/mrichter/AliRoot.git] / STEER / AliESDfriend.h
1 #ifndef ALIESDFRIEND_H
2 #define ALIESDFRIEND_H
3
4 //-------------------------------------------------------------------------
5 //                     Class AliESDfriend
6 //               This class contains ESD additions
7 //       Origin: Iouri Belikov, CERN, Jouri.Belikov@cern.ch 
8 //-------------------------------------------------------------------------
9
10 #include <TObject.h>
11 #include <TClonesArray.h>
12
13 #include "AliESDfriendTrack.h"
14 #include "AliESDVZEROfriend.h"
15
16 //_____________________________________________________________________________
17 class AliESDfriend : public TObject {
18 public:
19   AliESDfriend();
20   AliESDfriend(const AliESDfriend &);
21   AliESDfriend& operator=(const AliESDfriend& esd);  
22   virtual ~AliESDfriend();
23
24   Int_t GetNumberOfTracks() const {return fTracks.GetEntriesFast();}
25   AliESDfriendTrack *GetTrack(Int_t i) const {
26      return (AliESDfriendTrack *)fTracks.UncheckedAt(i);
27   }
28   Int_t GetEntriesInTracks() const {return fTracks.GetEntries();}
29   void AddTrack(const AliESDfriendTrack *t) {
30      new(fTracks[fTracks.GetEntriesFast()]) AliESDfriendTrack(*t);
31   }
32
33   void AddTrackAt(const AliESDfriendTrack *t, Int_t i) {
34      new(fTracks[i]) AliESDfriendTrack(*t);
35   }
36
37   void SetVZEROfriend(AliESDVZEROfriend * obj);
38   AliESDVZEROfriend *GetVZEROfriend(){ return fESDVZEROfriend; }
39
40   void Ls(){
41           return fTracks.ls();
42   }
43
44 protected:
45   TClonesArray fTracks;    // ESD friend tracks
46   AliESDVZEROfriend *fESDVZEROfriend; // VZERO object containing complete raw data
47
48   ClassDef(AliESDfriend,2) // ESD friend
49 };
50
51 #endif
52
53