]> git.uio.no Git - u/mrichter/AliRoot.git/blame - HLT/TPCLib/tracking-ca/AliHLTTPCCADef.h
Update of the CA tracker
[u/mrichter/AliRoot.git] / HLT / TPCLib / tracking-ca / AliHLTTPCCADef.h
CommitLineData
00d07bcd 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#ifndef ALIHLTTPCCADEF_H
8#define ALIHLTTPCCADEF_H
9
10
11/**
12 * Definitions needed for AliHLTTPCCATracker
13 *
14 */
15
16//#define HLTCA_STANDALONE // compilation w/o root
ce565086 17#define HLTCA_INTERNAL_PERFORMANCE
00d07bcd 18
19#ifdef __CUDACC__
20
21#define HLTCA_GPUCODE
22
23#endif
24
25#if defined(HLTCA_STANDALONE) || defined(HLTCA_GPUCODE)
26
ce565086 27// class TObject{};
00d07bcd 28
29#define ClassDef(name,id)
30#define ClassImp(name)
31
32typedef char Char_t; //Signed Character 1 byte (char)
33typedef unsigned char UChar_t; //Unsigned Character 1 byte (unsigned char)
34typedef short Short_t; //Signed Short integer 2 bytes (short)
35typedef unsigned short UShort_t; //Unsigned Short integer 2 bytes (unsigned short)
36#ifdef R__INT16
37typedef long Int_t; //Signed integer 4 bytes
38typedef unsigned long UInt_t; //Unsigned integer 4 bytes
39#else
40typedef int Int_t; //Signed integer 4 bytes (int)
41typedef unsigned int UInt_t; //Unsigned integer 4 bytes (unsigned int)
42#endif
43#ifdef R__B64 // Note: Long_t and ULong_t are currently not portable types
44typedef int Seek_t; //File pointer (int)
45typedef long Long_t; //Signed long integer 8 bytes (long)
46typedef unsigned long ULong_t; //Unsigned long integer 8 bytes (unsigned long)
47#else
48typedef int Seek_t; //File pointer (int)
49typedef long Long_t; //Signed long integer 4 bytes (long)
50typedef unsigned long ULong_t; //Unsigned long integer 4 bytes (unsigned long)
51#endif
52typedef float Float_t; //Float 4 bytes (float)
53typedef float Float16_t; //Float 4 bytes written with a truncated mantissa
54typedef double Double_t; //Double 8 bytes
55typedef double Double32_t; //Double 8 bytes in memory, written as a 4 bytes float
56typedef char Text_t; //General string (char)
57typedef bool Bool_t; //Boolean (0=false, 1=true) (bool)
58typedef unsigned char Byte_t; //Byte (8 bits) (unsigned char)
59typedef short Version_t; //Class version identifier (short)
60typedef const char Option_t; //Option string (const char)
61typedef int Ssiz_t; //String size (int)
62typedef float Real_t; //TVector and TMatrix element type (float)
63#if defined(R__WIN32) && !defined(__CINT__)
64typedef __int64 Long64_t; //Portable signed long integer 8 bytes
65typedef unsigned __int64 ULong64_t; //Portable unsigned long integer 8 bytes
66#else
67typedef long long Long64_t; //Portable signed long integer 8 bytes
68typedef unsigned long long ULong64_t;//Portable unsigned long integer 8 bytes
69#endif
70typedef double Axis_t; //Axis values type (double)
71typedef double Stat_t; //Statistics type (double)
72typedef short Font_t; //Font number (short)
73typedef short Style_t; //Style number (short)
74typedef short Marker_t; //Marker number (short)
75typedef short Width_t; //Line width (short)
76typedef short Color_t; //Color number (short)
77typedef short SCoord_t; //Screen coordinates (short)
78typedef double Coord_t; //Pad world coordinates (double)
79typedef float Angle_t; //Graphics angle (float)
80typedef float Size_t; //Attribute size (float)
81
82#else
83
84#include "Rtypes.h"
00d07bcd 85
86#endif
87
88
89
90#ifdef HLTCA_GPUCODE
91
92#define GPUd() __device__
93#define GPUhd() __host__ __device__
94#define GPUh() __host__ inline
95#define GPUg() __global__
96
97#define GPUshared() __shared__
98#define GPUsync() __syncthreads()
99
ce565086 100__constant__ float4 gAliHLTTPCCATracker[30000/sizeof(float4)];
00d07bcd 101
102#else
103
104#define GPUd()
105#define GPUhd()
106#define GPUg()
107#define GPUh()
108#define GPUshared()
109#define GPUsync()
110
111struct float2{ float x; float y; };
112struct uchar2{ unsigned char x; unsigned char y; };
113struct ushort2{ unsigned short x; unsigned short y; };
114struct uint1{ unsigned int x; };
115struct uint4{ unsigned int x,y,z,w; };
116
00d07bcd 117#endif
118
119
120#endif