]> git.uio.no Git - u/mrichter/AliRoot.git/blame - HLT/TPCLib/tracking-ca/AliHLTTPCCAGPUTracker.h
Merge branch 'master' of https://git.cern.ch/reps/AliRoot
[u/mrichter/AliRoot.git] / HLT / TPCLib / tracking-ca / AliHLTTPCCAGPUTracker.h
CommitLineData
7be9b0d7 1// ************************************************************************
2// This file is property of and copyright by the ALICE HLT Project *
3// ALICE Experiment at CERN, All rights reserved. *
4// See cxx source for full Copyright notice *
5// *
6//*************************************************************************
7
b22af1bf 8#ifndef ALIHLTTPCCAGPUTRACKER_H
9#define ALIHLTTPCCAGPUTRACKER_H
10
7be9b0d7 11#include "AliHLTTPCCADef.h"
d4594e7d 12#include "AliHLTTPCCASliceOutput.h"
31649d4b 13#include <iostream>
b22af1bf 14
31649d4b 15class AliHLTTPCCAClusterData;
16class AliHLTTPCCASliceOutput;
17class AliHLTTPCCAParam;
2fba026d 18class AliHLTTPCGMMerger;
7be9b0d7 19
f0bada7f 20//Abstract Interface for GPU Tracker class
31649d4b 21class AliHLTTPCCAGPUTracker
7be9b0d7 22{
23public:
31649d4b 24 AliHLTTPCCAGPUTracker();
25 virtual ~AliHLTTPCCAGPUTracker();
7be9b0d7 26
1e63725a 27 virtual int InitGPU(int sliceCount = -1, int forceDeviceID = -1);
e01a1f52 28 virtual int IsInitialized();
31649d4b 29 virtual int Reconstruct(AliHLTTPCCASliceOutput** pOutput, AliHLTTPCCAClusterData* pClusterData, int fFirstSlice, int fSliceCount = -1);
30 virtual int ExitGPU();
7be9b0d7 31
31649d4b 32 virtual void SetDebugLevel(const int dwLevel, std::ostream* const NewOutFile = NULL);
33 virtual int SetGPUTrackerOption(char* OptionName, int OptionValue);
b22af1bf 34
31649d4b 35 virtual unsigned long long int* PerfTimer(int iSlice, unsigned int i);
b22af1bf 36
31649d4b 37 virtual int InitializeSliceParam(int iSlice, AliHLTTPCCAParam &param);
38 virtual void SetOutputControl( AliHLTTPCCASliceOutput::outputControlStruct* val);
7be9b0d7 39
31649d4b 40 virtual const AliHLTTPCCASliceOutput::outputControlStruct* OutputControl() const;
41 virtual int GetSliceCount() const;
d4594e7d 42
2fba026d 43 virtual int RefitMergedTracks(AliHLTTPCGMMerger* Merger);
2fba026d 44 virtual char* MergerBaseMemory();
43422963 45 virtual int GPUMergerAvailable();
2fba026d 46
7be9b0d7 47private:
7be9b0d7 48 // disable copy
49 AliHLTTPCCAGPUTracker( const AliHLTTPCCAGPUTracker& );
50 AliHLTTPCCAGPUTracker &operator=( const AliHLTTPCCAGPUTracker& );
7be9b0d7 51};
b22af1bf 52
31649d4b 53#endif //ALIHLTTPCCAGPUTRACKER_H