10 #ifndef ALIHLTTPCCASLICEOUTPUT_H
11 #define ALIHLTTPCCASLICEOUTPUT_H
13 #include "AliHLTTPCCADef.h"
15 #include "AliHLTTPCCASliceTrack.h"
16 #include "AliHLTTPCCADataCompressor.h"
33 inline AliHLTTPCCASliceOutput(): fNTracks( 0 ), fNTrackClusters( 0 ), fTracks( 0 ), fClusterIDrc( 0 ), fClusterPackedYZ( 0 ), fClusterUnpackedYZ( 0 ), fClusterUnpackedX( 0 ), fClusterPackedAmp( 0 ) {}
34 int NTracks()
const {
return fNTracks; }
35 int NTrackClusters()
const {
return fNTrackClusters; }
38 const DataCompressor::RowCluster &ClusterIDrc(
int i )
const {
return fClusterIDrc[i]; }
39 unsigned short ClusterPackedYZ (
int i )
const {
return fClusterPackedYZ[i]; }
40 UChar_t ClusterPackedAmp(
int i )
const {
return fClusterPackedAmp[i]; }
41 float2 ClusterUnpackedYZ (
int i )
const {
return fClusterUnpackedYZ[i]; }
42 float ClusterUnpackedX (
int i )
const {
return fClusterUnpackedX[i]; }
44 static int EstimateSize(
int nOfTracks,
int nOfTrackClusters );
47 void SetNTracks (
int v ) { fNTracks = v; }
48 void SetNTrackClusters(
int v ) { fNTrackClusters = v; }
51 void SetClusterIDrc(
int i,
const DataCompressor::RowCluster &v ) { fClusterIDrc[i] = v; }
52 void SetClusterPackedYZ(
int i,
unsigned short v ) { fClusterPackedYZ[i] = v; }
53 void SetClusterPackedAmp(
int i, UChar_t v ) { fClusterPackedAmp[i] = v; }
54 void SetClusterUnpackedYZ(
int i,
float2 v ) { fClusterUnpackedYZ[i] = v; }
55 void SetClusterUnpackedX(
int i,
float v ) { fClusterUnpackedX[i] = v; }
57 void SortTracks() {
if(!fTracks)
return; std::sort(fTracks,fTracks+fNTracks,CompareTrackLength);}
60 return (st1.NClusters() > st2.NClusters());
65 : fNTracks( 0 ), fNTrackClusters( 0 ), fTracks( 0 ), fClusterIDrc( 0 ), fClusterPackedYZ( 0 ), fClusterUnpackedYZ( 0 ), fClusterUnpackedX( 0 ), fClusterPackedAmp( 0 ) {}
72 DataCompressor::RowCluster *fClusterIDrc;
73 unsigned short *fClusterPackedYZ;
74 float2 *fClusterUnpackedYZ;
75 float *fClusterUnpackedX;
76 UChar_t *fClusterPackedAmp;