Possibility to filter the ESD friends and add objects to AliESDfriends.root. Major...
[u/mrichter/AliRoot.git] / STEER / AliESDfriend.h
CommitLineData
1d99986f 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
d65adc48 13#include "AliESDfriendTrack.h"
b090e6a3 14#include "AliESDVZEROfriend.h"
1d99986f 15
16//_____________________________________________________________________________
17class AliESDfriend : public TObject {
18public:
19 AliESDfriend();
20 AliESDfriend(const AliESDfriend &);
c43af351 21 AliESDfriend& operator=(const AliESDfriend& esd);
1d99986f 22 virtual ~AliESDfriend();
23
24 Int_t GetNumberOfTracks() const {return fTracks.GetEntriesFast();}
25 AliESDfriendTrack *GetTrack(Int_t i) const {
d75007f6 26 return (AliESDfriendTrack *)fTracks.UncheckedAt(i);
27 }
6d3a7bbf 28 Int_t GetEntriesInTracks() const {return fTracks.GetEntries();}
d75007f6 29 void AddTrack(const AliESDfriendTrack *t) {
30 new(fTracks[fTracks.GetEntriesFast()]) AliESDfriendTrack(*t);
1d99986f 31 }
32
6d3a7bbf 33 void AddTrackAt(const AliESDfriendTrack *t, Int_t i) {
34 new(fTracks[i]) AliESDfriendTrack(*t);
35 }
36
b090e6a3 37 void SetVZEROfriend(AliESDVZEROfriend * obj);
38 AliESDVZEROfriend *GetVZEROfriend(){ return fESDVZEROfriend; }
39
6d3a7bbf 40 void Ls(){
41 return fTracks.ls();
42 }
43
1d99986f 44protected:
45 TClonesArray fTracks; // ESD friend tracks
b090e6a3 46 AliESDVZEROfriend *fESDVZEROfriend; // VZERO object containing complete raw data
47
48 ClassDef(AliESDfriend,2) // ESD friend
1d99986f 49};
50
51#endif
52
53