output of the slice tracker optimised
[u/mrichter/AliRoot.git] / HLT / TPCLib / tracking-ca / AliHLTTPCCASliceOutCluster.h
1 //-*- Mode: C++ -*-
2 // ************************************************************************
3 // This file is property of and copyright by the ALICE HLT Project        *
4 // ALICE Experiment at CERN, All rights reserved.                         *
5 // See cxx source for full Copyright notice                               *
6 //                                                                        *
7 //*************************************************************************
8
9
10 #ifndef ALIHLTTPCCASLICEOUTCLUSTER_H
11 #define ALIHLTTPCCASLICEOUTCLUSTER_H
12
13 #include "AliHLTTPCCACompressedInputData.h"
14 #include "AliHLTTPCCADataCompressor.h"
15
16 /**
17  * @class AliHLTTPCCASliceOutCluster
18  * AliHLTTPCCASliceOutCluster class contains clusters which are assigned to slice tracks.
19  * It is used to send the data from TPC slice trackers to the GlobalMerger
20  */
21 class AliHLTTPCCASliceOutCluster
22 {
23   public:
24
25   GPUhd() void Set( int Id, int row, float x, float y, float z ){
26     fId = Id;  fRow = (UChar_t) row; 
27     fXYZp = AliHLTTPCCADataCompressor::PackXYZ( row, x, y, z );
28   }
29
30   GPUhd() void Get( int &Id, int &row, float &x, float &y, float &z ) const{
31     Id = fId;  row = fRow;
32     AliHLTTPCCADataCompressor::UnpackXYZ( fRow, fXYZp, x, y, z  );
33   }  
34     
35   private:
36     Int_t fId; // Id ( slice, patch, cluster )
37     UChar_t fRow; // row number
38     AliHLTTPCCACompressedCluster fXYZp;// packed coordinates
39 };
40
41 #endif