13 #ifndef TDataPointN_ICC
14 #define TDataPointN_ICC
29 template<
typename _val_type>
30 TDataPointN<_val_type>::TDataPointN():
34 m_vCoordinates =
new _val_type[kDimension];
35 for(UInt_t k = 0; k < kDimension; ++k)
36 m_vCoordinates[k] = 0;
41 template<
typename _val_type>
42 template<
typename _coord_type>
43 TDataPointN<_val_type>::TDataPointN(
const _coord_type* pData,_val_type fWeight):
48 m_vCoordinates =
new _val_type[kDimension];
49 for(
unsigned int i = 0; i < kDimension; ++i)
50 m_vCoordinates[i] = pData[i];
55 template<
typename _val_type>
56 TDataPointN<_val_type>::~TDataPointN()
58 delete [] m_vCoordinates;
63 template<
typename _val_type>
64 template<
typename _val>
65 _val_type TDataPointN<_val_type>::Distance(
const TDataPointN<_val>& rPoint)
const
68 for(
unsigned int i = 0; i < kDimension; ++i)
69 fDist2 += pow(GetCoordinate(i) - rPoint.GetCoordinate(i),2);
76 template<
typename _val_type>
77 inline _val_type TDataPointN<_val_type>::GetCoordinate(
unsigned int iAxis)
const
79 assert(iAxis < kDimension);
80 return m_vCoordinates[iAxis];
84 template<
typename _val_type>
85 inline void TDataPointN<_val_type>::SetCoordinate(
unsigned int iAxis,_val_type fValue)
87 assert(iAxis < kDimension);
88 m_vCoordinates[iAxis] = fValue;
92 template<
typename _val_type>
93 inline bool TDataPointN<_val_type>::Less(TDataPointN<_val_type>& rPoint,
unsigned int iAxis)
const
95 assert(iAxis < kDimension);
96 return (m_vCoordinates[iAxis] < rPoint.GetCoordinate(iAxis));
102 #endif //TDataPointN_ICC