]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - HLT/TPCLib/tracking-ca/AliHLTTPCCARow.h
When Pt is bad defined (ex. no field), the multiple scattering effect is calculated...
[u/mrichter/AliRoot.git] / HLT / TPCLib / tracking-ca / AliHLTTPCCARow.h
index 97dac3a07a14f02d1306c2a82ee000fbd27189ae..d04a579a1e5a3dd16471b13d85feb9263d12ae44 100644 (file)
@@ -1,7 +1,7 @@
 //-*- Mode: C++ -*-
 // @(#) $Id$
 // ************************************************************************
-// This file is property of and copyright by the ALICE HLT Project        * 
+// This file is property of and copyright by the ALICE HLT Project        *
 // ALICE Experiment at CERN, All rights reserved.                         *
 // See cxx source for full Copyright notice                               *
 //                                                                        *
  */
 class AliHLTTPCCARow
 {
- public: 
+    friend class AliHLTTPCCASliceData;
+  public:
 
 #if !defined(HLTCA_GPUCODE)
-  AliHLTTPCCARow();  
+    AliHLTTPCCARow();
 #endif
 
-  GPUhd() Int_t   FirstHit() const { return fFirstHit; }
-  GPUhd() Int_t   NHits()    const { return fNHits; }
-  GPUhd() Float_t X()        const { return fX; }
-  GPUhd() Float_t MaxY()     const { return fMaxY; }
-  GPUhd() const AliHLTTPCCAGrid &Grid() const { return fGrid; }  
+    GPUhd() int   NHits()    const { return fNHits; }
+    GPUhd() float X()        const { return fX; }
+    GPUhd() float MaxY()     const { return fMaxY; }
+    GPUhd() const AliHLTTPCCAGrid &Grid() const { return fGrid; }
 
-  GPUhd() Float_t Hy0()      const { return fHy0;}
-  GPUhd() Float_t Hz0()      const { return fHz0;}
-  GPUhd() Float_t HstepY()   const { return fHstepY;}
-  GPUhd() Float_t HstepZ()   const { return fHstepZ;}
-  GPUhd() Float_t HstepYi()  const { return fHstepYi;}
-  GPUhd() Float_t HstepZi()  const { return fHstepZi;}
-  GPUhd() Int_t   FullSize()    const { return fFullSize;}
-  GPUhd() Int_t   FullOffset()  const { return fFullOffset;}
-  GPUhd() Int_t   FullGridOffset()  const { return fFullGridOffset;}
-  GPUhd() Int_t   FullLinkOffset()  const { return fFullLinkOffset;}
+    GPUhd() float Hy0()      const { return fHy0; }
+    GPUhd() float Hz0()      const { return fHz0; }
+    GPUhd() float HstepY()   const { return fHstepY; }
+    GPUhd() float HstepZ()   const { return fHstepZ; }
+    GPUhd() float HstepYi()  const { return fHstepYi; }
+    GPUhd() float HstepZi()  const { return fHstepZi; }
+    GPUhd() int   FullSize() const { return fFullSize; }
+    GPUhd() int   HitNumberOffset() const { return fHitNumberOffset; }
+    GPUhd() unsigned int FirstHitInBinOffset() const { return fFirstHitInBinOffset; }
 
-  GPUhd() void SetFirstHit( Int_t v ){ fFirstHit = v; }
-  GPUhd() void SetNHits( Int_t v )   { fNHits = v; }
-  GPUhd() void SetX( Float_t v )       { fX = v; }
-  GPUhd() void SetMaxY( Float_t v )    { fMaxY = v; }
-  GPUhd() void SetGrid( const AliHLTTPCCAGrid &v ){ fGrid = v; }  
+  private:
+    int fNHits;            // number of hits
+    float fX;              // X coordinate of the row
+    float fMaxY;           // maximal Y coordinate of the row
+    AliHLTTPCCAGrid fGrid;   // grid of hits
 
-  GPUhd() void SetHy0( Float_t v ) { fHy0 = v;}
-  GPUhd() void SetHz0( Float_t v ) { fHz0 = v;}
-  GPUhd() void SetHstepY( Float_t v ) { fHstepY = v;}
-  GPUhd() void SetHstepZ( Float_t v ) { fHstepZ = v;}
-  GPUhd() void SetHstepYi( Float_t v ) { fHstepYi = v;}
-  GPUhd() void SetHstepZi( Float_t v ) { fHstepZi = v;}
-  GPUhd() void SetFullSize( Int_t v ) { fFullSize = v;}
-  GPUhd() void SetFullOffset( Int_t v ) { fFullOffset = v;}
-  GPUhd() void SetFullGridOffset( Int_t v ) { fFullGridOffset = v;}
-  GPUhd() void SetFullLinkOffset( Int_t v ) { fFullLinkOffset = v;}
-
-private:
-
-  Int_t fFirstHit;         // index of the first hit in the hit array
-  Int_t fNHits;            // number of hits 
-  Float_t fX;              // X coordinate of the row
-  Float_t fMaxY;           // maximal Y coordinate of the row
-  AliHLTTPCCAGrid fGrid;   // grid of hits
-
-  Float_t fHy0,fHz0, fHstepY,fHstepZ, fHstepYi, fHstepZi; // temporary variables
-  Int_t fFullSize, fFullOffset, fFullGridOffset,fFullLinkOffset; // temporary variables
+    // hit packing:
+    float fHy0;          // offset
+    float fHz0;          // offset
+    float fHstepY;       // step size
+    float fHstepZ;       // step size
+    float fHstepYi;      // inverse step size
+    float fHstepZi;      // inverse step size
 
+    int fFullSize;       // size of this row in Tracker::fRowData
+    int fHitNumberOffset;  // index of the first hit in the hit array, used as
+    // offset in AliHLTTPCCASliceData::LinkUp/DownData/HitDataY/...
+    unsigned int fFirstHitInBinOffset; // offset in Tracker::fRowData to find the FirstHitInBin
 };
 
 #endif