1 #ifndef ALITPCTRACKHITSV2_H
2 #define ALITPCTRACKHITSV2_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
7 ////////////////////////////////////////////////
8 // Manager class for TPC hits //
9 ////////////////////////////////////////////////
16 class AliTPCTempHitInfoV2;
17 class AliTPCCurrentHitV2;
20 class AliTrackHitsParamV2 : public TObject {
22 AliTrackHitsParamV2();
23 ~AliTrackHitsParamV2();
24 Int_t fTrackID; // ID of the track
25 Short_t fVolumeID;// volume ID
27 Float_t fZ; //z position
28 Float_t fFi; //radial angle
29 Float_t fAn; //angle with the radial vector
30 Float_t fAd; //derivation of angle
31 Float_t fTheta; //theta angle
32 Float_t fThetaD; //theta angle derivation
33 Int_t fNHits; //nuber of thits
34 Short_t * fHitDistance; //[fNHits] array of hits distances
35 Short_t * fCharge; //[fNHits] array of charges
36 static Int_t fgCounter1;
37 static Int_t fgCounter2;
38 ClassDef(AliTrackHitsParamV2,1)
43 class AliTPCTrackHitsV2 : public TObject {
48 void AddHitKartez(Int_t volumeID, Int_t trackID, Double_t x,
49 Double_t y, Double_t z,Int_t q);
50 void AddHit(Int_t volumeID, Int_t trackID, Double_t r,
51 Double_t z, Double_t fi,Int_t q);
53 Bool_t First(); //set current hit to first hit
54 Bool_t Next(); //set current hit to next
56 AliTrackHitsParamV2 * GetParam();
58 TClonesArray * GetArray(){return fArray;}
59 Int_t GetEntriesFast() { return fSize;}
60 void SetHitPrecision(Double_t prec) {fPrecision=prec;}
61 void SetStepPrecision(Double_t prec) {fStep=prec;}
62 void SetMaxDistance(UInt_t distance) {fMaxDistance = distance;}
63 Bool_t FlushHitStack(Bool_t force=kTRUE); //
64 Int_t * GetVolumes(){ return fVolumes;}
65 Int_t GetNVolumes(){return fNVolumes;}
67 void AddVolume(Int_t volume); //add volumes to tthe list of volumes
68 void FlushHitStack2(Int_t index1, Int_t index2); //
69 TClonesArray * fArray; //array of compressed hits
70 Int_t fSize; //total number of hits in track
71 Double_t fPrecision; // required precision
72 Double_t fStep; //unit step size
73 UInt_t fMaxDistance; //maximal distance between two connected hits
74 Int_t fNVolumes; //number of volumes in track
75 Int_t * fVolumes; //[fNVolumes] list of volumes
76 AliTPCTempHitInfoV2 * fTempInfo; //!information about track
77 AliTPCCurrentHitV2 * fCurrentHit; //!information about current hit
78 static const Double_t fgkPrecision; //precision
79 static const Double_t fgkPrecision2; //precision
80 static Int_t fgCounter1;
81 static Int_t fgCounter2;
82 ClassDef(AliTPCTrackHitsV2,1)
86 #endif //ALITPCTRACKHITSV2_H