]> git.uio.no Git - u/mrichter/AliRoot.git/blame - STEER/ESD/AliESDfriend.h
Merge branch 'TPCdev' into master
[u/mrichter/AliRoot.git] / STEER / ESD / 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"
1f516476 14#include "AliVfriendEvent.h"
73df58ab 15
16class AliESDVZEROfriend;
17class AliESDTZEROfriend;
1d99986f 18
19//_____________________________________________________________________________
14055182 20class AliESDfriend : public AliVfriendEvent {
1d99986f 21public:
22 AliESDfriend();
23 AliESDfriend(const AliESDfriend &);
c43af351 24 AliESDfriend& operator=(const AliESDfriend& esd);
1d99986f 25 virtual ~AliESDfriend();
26
27 Int_t GetNumberOfTracks() const {return fTracks.GetEntriesFast();}
28 AliESDfriendTrack *GetTrack(Int_t i) const {
e5a138f3 29 return (AliESDfriendTrack *)fTracks.At(i);
d75007f6 30 }
6d3a7bbf 31 Int_t GetEntriesInTracks() const {return fTracks.GetEntries();}
d75007f6 32 void AddTrack(const AliESDfriendTrack *t) {
33 new(fTracks[fTracks.GetEntriesFast()]) AliESDfriendTrack(*t);
1d99986f 34 }
35
6d3a7bbf 36 void AddTrackAt(const AliESDfriendTrack *t, Int_t i) {
37 new(fTracks[i]) AliESDfriendTrack(*t);
38 }
39
b090e6a3 40 void SetVZEROfriend(AliESDVZEROfriend * obj);
41 AliESDVZEROfriend *GetVZEROfriend(){ return fESDVZEROfriend; }
73df58ab 42 void SetTZEROfriend(AliESDTZEROfriend * obj);
43 AliESDTZEROfriend *GetTZEROfriend(){ return fESDTZEROfriend; }
b090e6a3 44
48ec9ee6 45 void Ls() const {
6d3a7bbf 46 return fTracks.ls();
47 }
48
d9880d92 49 void Reset();
3e341ccb 50 // bit manipulation for filtering
51 void SetSkipBit(Bool_t skip){SetBit(23,skip);}
3636347f 52 Bool_t TestSkipBit() const { return TestBit(23); }
ddfbc51a 53
5576d489 54 //TPC cluster occupancy
55 Int_t GetNclustersTPC(UInt_t sector) const {return (sector<72)?fNclustersTPC[sector]:0;}
56 Int_t GetNclustersTPCused(UInt_t sector) const {return (sector<72)?fNclustersTPCused[sector]:0;}
57 void SetNclustersTPC(UInt_t sector, Int_t occupancy) {if (sector<72) fNclustersTPC[sector]=occupancy;}
58 void SetNclustersTPCused(UInt_t sector, Int_t occupancy) {if (sector<72) fNclustersTPCused[sector]=occupancy;}
59
1d99986f 60protected:
61 TClonesArray fTracks; // ESD friend tracks
b090e6a3 62 AliESDVZEROfriend *fESDVZEROfriend; // VZERO object containing complete raw data
73df58ab 63 AliESDTZEROfriend *fESDTZEROfriend; // TZERO calibration object
5576d489 64
65 Int_t fNclustersTPC[72]; //cluster occupancy per sector per sector
66 Int_t fNclustersTPCused[72]; //number of clusters used in tracking per sector
b090e6a3 67
411824cb 68 ClassDef(AliESDfriend,5) // ESD friend
1d99986f 69};
70
71#endif
72
73