#include <TObject.h>
#include <TClonesArray.h>
-class AliESD;
-class AliESDfriendTrack;
+#include "AliESDfriendTrack.h"
+
+class AliESDVZEROfriend;
+class AliESDTZEROfriend;
//_____________________________________________________________________________
class AliESDfriend : public TObject {
public:
AliESDfriend();
AliESDfriend(const AliESDfriend &);
- AliESDfriend(const AliESD &);
+ AliESDfriend& operator=(const AliESDfriend& esd);
virtual ~AliESDfriend();
Int_t GetNumberOfTracks() const {return fTracks.GetEntriesFast();}
AliESDfriendTrack *GetTrack(Int_t i) const {
- return (AliESDfriendTrack *)fTracks.UncheckedAt(i);
+ return (AliESDfriendTrack *)fTracks.UncheckedAt(i);
+ }
+ Int_t GetEntriesInTracks() const {return fTracks.GetEntries();}
+ void AddTrack(const AliESDfriendTrack *t) {
+ new(fTracks[fTracks.GetEntriesFast()]) AliESDfriendTrack(*t);
}
+ void AddTrackAt(const AliESDfriendTrack *t, Int_t i) {
+ new(fTracks[i]) AliESDfriendTrack(*t);
+ }
+
+ void SetVZEROfriend(AliESDVZEROfriend * obj);
+ AliESDVZEROfriend *GetVZEROfriend(){ return fESDVZEROfriend; }
+ void SetTZEROfriend(AliESDTZEROfriend * obj);
+ AliESDTZEROfriend *GetTZEROfriend(){ return fESDTZEROfriend; }
+
+ void Ls(){
+ return fTracks.ls();
+ }
+
+ // bit manipulation for filtering
+ void SetSkipBit(Bool_t skip){SetBit(23,skip);}
+ Bool_t TestSkipBit() {return TestBit(23);}
+
protected:
TClonesArray fTracks; // ESD friend tracks
- ClassDef(AliESDfriend,1) // ESD friend
+ AliESDVZEROfriend *fESDVZEROfriend; // VZERO object containing complete raw data
+ AliESDTZEROfriend *fESDTZEROfriend; // TZERO calibration object
+
+ ClassDef(AliESDfriend,3) // ESD friend
};
#endif