Correct sign for calculated b_y (outside measured region).
[u/mrichter/AliRoot.git] / TPC / AliTPCTrackHits.h
index c17563d..82fdc79 100644 (file)
@@ -8,29 +8,23 @@
 //  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++;}
+  AliTrackHitsInfo();
   ~AliTrackHitsInfo(){fgCounter1--;}
- protected:
- private:  
+private:  
   Int_t   fTrackID;  //track ID
   Int_t   fVolumeID;   //volume ID
   UInt_t   fHitParamIndex; //corresponding index  
@@ -42,12 +36,9 @@ class AliTrackHitsInfo   {
 
 
 class AliTrackHitsParam {
-  friend  class  AliTPCTrackHits;
-  friend  struct AliTPCTempHitInfo;
  public:
-  AliTrackHitsParam(){fgCounter1++;fgCounter2++;}
+  AliTrackHitsParam();
   ~AliTrackHitsParam(){fgCounter1--;}
- protected:
  private:
   Float_t fR;  //radius
   Float_t fZ;  //z position
@@ -64,34 +55,33 @@ class AliTrackHitsParam {
 
 
 class AliHitInfo {
-  friend  class  AliTPCTrackHits;
-  friend  struct AliTPCTempHitInfo;
 public:
-  AliHitInfo(){fgCounter1++;fgCounter2++;}
+  AliHitInfo() : fHitDistance(0), fCharge(0) {fgCounter1++;fgCounter2++;}
   ~AliHitInfo(){fgCounter1--;}
- protected:
  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
@@ -103,7 +93,6 @@ public:
   void SetStepPrecision(Double_t prec) {fStep=prec;}
   void SetMaxDistance(UInt_t distance) {fMaxDistance = distance;}
   Bool_t  FlushHitStack(Bool_t force=kTRUE);    //
- protected:
 private:
   void FlushHitStack2(Int_t index1, Int_t index2);   //
   AliObjectArray * fTrackHitsInfo;  //quick information about track
@@ -113,15 +102,15 @@ private:
   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 const Double_t fgkTimePrecision;  //hit time precision 
   static Int_t fgCounter1;  // counter1
   static Int_t fgCounter2;  // counter2
 
-  ClassDef(AliTPCTrackHits,1) 
+  ClassDef(AliTPCTrackHits,2) 
 };