// Manager class for TPC clusters //
////////////////////////////////////////////////
+class TClonesArray;
+
#include "AliCTypes.h"
-//#include "AliSegmentID.h"
-//#include "AliArrayS.h"
-//#include "AliTPC.h"
-//#include "TVector3.h"
-//#include "AliObjectArray.h"
#include "TArrayOfArray.h"
-class TClonesArray;
-class AliArrayS;
class AliTPChit;
class AliTPCTempHitInfo;
class AliTPCCurrentHit;
class AliObjectArray;
class AliTrackHitsInfo {
- friend class AliTPCTrackHits;
- friend class AliTPC;
-public:
- AliTrackHitsInfo(){fgCounter1++;fgCounter2++;}
+
+ public:
+ AliTrackHitsInfo();
~AliTrackHitsInfo(){fgCounter1--;}
- private:
+
+private:
Int_t fTrackID; //track ID
Int_t fVolumeID; //volume ID
UInt_t fHitParamIndex; //corresponding index
class AliTrackHitsParam {
- friend class AliTPCTrackHits;
- friend struct AliTPCTempHitInfo;
-public:
- AliTrackHitsParam(){fgCounter1++;fgCounter2++;}
+ public:
+ AliTrackHitsParam();
~AliTrackHitsParam(){fgCounter1--;}
private:
Float_t fR; //radius
class AliHitInfo {
- friend class AliTPCTrackHits;
- friend struct AliTPCTempHitInfo;
public:
- AliHitInfo(){fgCounter1++;fgCounter2++;}
+ AliHitInfo() : fHitDistance(0), fCharge(0) {fgCounter1++;fgCounter2++;}
~AliHitInfo(){fgCounter1--;}
private:
Short_t fHitDistance; //distance to previous hit
Short_t fCharge; //deponed charge
+ Short_t fTime; //hit time
static Int_t fgCounter1; //counter
static Int_t fgCounter2; //counter
- LClassDef(AliHitInfo,1)
+ LClassDef(AliHitInfo,2)
};
class AliTPCTrackHits : public TObject{
- friend class AliTPC;
- friend struct AliTPCTempHitInfo;
public:
AliTPCTrackHits();
~AliTPCTrackHits();
+ AliTPCTrackHits(const AliTPCTrackHits& r);
+ AliTPCTrackHits & operator=(const AliTPCTrackHits& r);
+
void Clear();
void AddHitKartez(Int_t volumeID, Int_t trackID, Double_t x,
- Double_t y, Double_t z,Int_t q);
+ Double_t y, Double_t z,Int_t q, Float_t time);
void AddHit(Int_t volumeID, Int_t trackID, Double_t r,
- Double_t z, Double_t fi,Int_t q);
+ Double_t z, Double_t fi,Int_t q,Float_t time);
Bool_t First(); //set current hit to first hit
Bool_t Next(Int_t id = -1); //set current hit to next
Double_t fPrecision; // required precision
Double_t fStep; //unit step size
UInt_t fMaxDistance; //maximal distance between two connected hits
- AliTPCTrackHits(const AliTPCTrackHits& r);
AliTPCTempHitInfo * fTempInfo; //!information about track
AliTPCCurrentHit * fCurrentHit; //!information about current hit
static const Double_t fgkPrecision; //precision
static const Double_t fgkPrecision2; //precision
- static Int_t fgCounter1;
- static Int_t fgCounter2;
+ static const Double_t fgkTimePrecision; //hit time precision
+ static Int_t fgCounter1; // counter1
+ static Int_t fgCounter2; // counter2
- ClassDef(AliTPCTrackHits,1)
+ ClassDef(AliTPCTrackHits,2)
};