1 #ifndef ALITRDPIDINFO_H
2 #define ALITRDPIDINFO_H
4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5 * See cxx source for full Copyright notice */
6 ////////////////////////////////////////////////////////////////////////////
8 // TRD PID/Track summary info for performance //
11 // Alexandru Bercuci <A.Bercuci@gsi.de> //
13 ////////////////////////////////////////////////////////////////////////////
19 class AliTRDpidInfo : public TObject
23 friend class AliTRDpidInfo; // allow direct access
24 friend class AliTRDpidRefMakerLQ; // allow direct access
25 friend class AliTRDpidRefMakerNN; // allow direct access
28 virtual ~AliTRDpidData(){}
29 Int_t Layer() const { return (fPLbin&0xf0)>>4;}
30 Int_t Momentum() const { return fPLbin&0xf;}
32 UChar_t fPLbin; // momentum / layer bin
33 Float_t fdEdx[8]; // dEdx array
34 ClassDef(AliTRDpidData, 1) // PID layer representation
38 AliTRDpidInfo(Int_t idx);
39 virtual ~AliTRDpidInfo();
40 inline AliTRDpidData const* GetData(Int_t itrklt) const;
41 AliTRDpidData const* GetDataInLayer(Int_t ily) const;
42 Int_t GetNtracklets() const { return fNtracklets;}
43 Char_t GetPID() const { return fPID;}
44 void PushBack(Int_t ly, Int_t p, const Float_t *dedx);
46 void SetPID(Int_t idx) { fPID = idx;}
49 Char_t fPID; // reference PID
50 Int_t fNtracklets; // number of tracklets
51 AliTRDpidData *fData; //[fNtracklets] PID data array
53 AliTRDpidInfo(const AliTRDpidInfo& ref);
54 AliTRDpidInfo& operator=(const AliTRDpidInfo& ref);
56 ClassDef(AliTRDpidInfo, 1) // track PID data representation
60 //________________________________________________________________________
61 AliTRDpidInfo::AliTRDpidData const* AliTRDpidInfo::GetData(Int_t itrklt) const
63 // Retrive itrklt-th tracklet independent of layer
64 // For the layer specific getter see GetDataInLayer().
66 if(!fData) return NULL;
67 if(itrklt<0 || itrklt>=fNtracklets) return NULL;
68 return &fData[itrklt];