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