#include "TClonesArray.h"
#include "AliTRDtrackletGTU.h"
-#include "AliESDTrdTrack.h"
+class AliESDTrdTrack;
class AliTRDtrackGTU : public TObject {
public:
AliTRDtrackGTU();
+ AliTRDtrackGTU(const AliTRDtrackGTU &rhs);
+ AliTRDtrackGTU& operator=(const AliTRDtrackGTU &rhs);
+ AliTRDtrackGTU& operator=(const AliESDTrdTrack &rhs);
~AliTRDtrackGTU();
// ----- Track properties
- Int_t GetPtInt() const { return fPt; }
- Float_t GetPt() const { return (Float_t) fPt / 128.; }
+ Int_t GetPtInt() const { return AliTRDgtuParam::GetPt(fTrackletMask, (Int_t) this->GetA(), 0, 0, 0, 0); }
+ Float_t GetPt() const { return (Float_t) this->GetPtInt() / 128.; }
Int_t GetPID() const { return fPID; }
Int_t GetSector() const { return fSector; }
Int_t GetStack() const { return fStack; }
Int_t GetNTracklets() const;
Int_t GetTrackletMask() const { return fTrackletMask; }
Bool_t IsTrackletInLayer(Int_t layer) const;
- Int_t GetTrackletIndex(Int_t layer) { return IsTrackletInLayer(layer) ? ((AliTRDtrackletGTU*) (*fTracklets)[layer])->GetIndex() : -1; }
- AliTRDtrackletGTU* GetTracklet(Int_t layer);
+ Int_t GetTrackletIndex(Int_t layer) { return IsTrackletInLayer(layer) ? ((AliTRDtrackletGTU*) (*fTracklets)[layer])->GetIndex() : -1; }
+ AliTRDtrackletGTU* GetTracklet(Int_t layer) const;
// ----- Quantities used internally for the calculation
Float_t GetA() const { return fA; }
Float_t GetC() const { return fC; }
Int_t GetZChannel() const { return fZChannel; }
Int_t GetZSubChannel();
+ Int_t GetRefLayer() const { return AliTRDgtuParam::GetRefLayer(fRefLayerIdx); }
Int_t GetRefLayerIdx() const { return fRefLayerIdx; }
Int_t GetYapprox();
- void AddTracklet(AliTRDtrackletGTU *tracklet, Int_t layer);
+ void AddTracklet(const AliTRDtrackletGTU * const tracklet, Int_t layer);
void SetStack(Int_t stack) { fStack = stack; }
void SetSector(Int_t sector) { fSector = sector; }
- void SetPtInt(Int_t pt) { fPt = pt; }
void SetPID(Int_t pid) { fPID = pid; }
+ void SetLabel(Int_t label) { fLabel = label; }
void SetZChannel(Int_t zch) { fZChannel = zch; }
void SetRefLayerIdx(Int_t reflayer) { fRefLayerIdx = reflayer; }
Int_t fStack; // TRD stack to which this track belongs
Int_t fSector; // sector in which the track was found
- Int_t fPt; // pt in integer representation
Int_t fPID; // PID calculated from tracklet PID
TClonesArray *fTracklets; // array holding the tracklets composing this track
Int_t fLabel; // MC label
- private:
- AliTRDtrackGTU(const AliTRDtrackGTU &rhs); // not implemented
- AliTRDtrackGTU& operator=(const AliTRDtrackGTU &rhs); // not implemented
-
ClassDef(AliTRDtrackGTU, 1);
};