message: found better way to make these functions inline in CUDA version
diff: @@ -30,29 +30,8 @@ public:
  float GetNominalBzkG() const { return fNominalBzkG;}
  - GPUdi() void GetField( float x, float y, float z, float B[] ) const
  - {
  - const float f[fkM] = { 1, x, y, z, x*x, x*y, x*z, y*y, y*z, z*z };
  - float bx = 0.f, by = 0.f, bz = 0.f;
  - for( int i=0; i<fkM; i++){
  - bx+= fBx[i]*f[i];
  - by+= fBy[i]*f[i];
  - bz+= fBz[i]*f[i];
  - }
  - B[0] = bx;
  - B[1] = by;
  - B[2] = bz;
  - }
  -
  - GPUdi() float GetFieldBz( float x, float y, float z ) const
  - {
  - const float f[fkM] = { 1, x, y, z, x*x, x*y, x*z, y*y, y*z, z*z };
  - float bz = 0.f;
  - for( int i=0; i<fkM; i++){
  - bz+= fBz[i]*f[i];
  - }
  - return bz;
  - }
  + GPUd() void GetField( float x, float y, float z, float B[] ) const;
  + GPUd() float GetFieldBz( float x, float y, float z ) const;
  void DumpField( const char *fileName="field.root" ) const;
  @@ -90,4 +69,28 @@ inline void AliHLTTPCGMPolynomialField::Init( float NominalBzkG )
  for( int i=0; i<fkM; i++ ) fBz[i] = constBz*cBz[i];
  }
  +GPUd() inline void AliHLTTPCGMPolynomialField::GetField( float x, float y, float z, float B[] ) const
  +{
  + const float f[fkM] = { 1, x, y, z, x*x, x*y, x*z, y*y, y*z, z*z };
  + float bx = 0.f, by = 0.f, bz = 0.f;
  + for( int i=0; i<fkM; i++){
  + bx+= fBx[i]*f[i];
  + by+= fBy[i]*f[i];
  + bz+= fBz[i]*f[i];
  + }
  + B[0] = bx;
  + B[1] = by;
  + B[2] = bz;
  +}
  +
  +GPUd() inline float AliHLTTPCGMPolynomialField::GetFieldBz( float x, float y, float z ) const
  +{
  + const float f[fkM] = { 1, x, y, z, x*x, x*y, x*z, y*y, y*z, z*z };
  + float bz = 0.f;
  + for( int i=0; i<fkM; i++){
  + bz+= fBz[i]*f[i];
  + }
  + return bz;
  +}
  +
  #endif
  