Main Page   Namespace List   Alphabetical List   Compound List   File List   Compound Members   File Members  

AIDA_DataPoint.cpp

Go to the documentation of this file.
00001 #include "AIDA_DataPoint.h"
00002 #include "AIDA_Measurement.h"
00003 
00004 Anaphe::AIDA_DataPointSet_native::AIDA_DataPoint::AIDA_DataPoint( int dimension ):
00005   m_dimension( dimension ),
00006   m_measurements( 0 )
00007 {
00008   if ( m_dimension < 0 ) m_dimension = 0;
00009   if ( m_dimension > 0 ) {
00010     m_measurements = new AIDA::IMeasurement*[ m_dimension ];
00011     for ( int iMeasurement = 0; iMeasurement < m_dimension; ++iMeasurement ) {
00012       m_measurements[ iMeasurement ] = new Anaphe::AIDA_DataPointSet_native::AIDA_Measurement;
00013     }
00014   }
00015 }
00016 
00017 
00018 Anaphe::AIDA_DataPointSet_native::AIDA_DataPoint::AIDA_DataPoint( const Anaphe::AIDA_DataPointSet_native::AIDA_DataPoint& dp ):
00019   m_dimension( dp.dimension() ),
00020   m_measurements( 0 )
00021 {
00022   if ( m_dimension > 0 ) {
00023     m_measurements = new AIDA::IMeasurement*[ m_dimension ];
00024     for ( int iMeasurement = 0; iMeasurement < m_dimension; ++iMeasurement ) {
00025       m_measurements[ iMeasurement ] = new Anaphe::AIDA_DataPointSet_native::AIDA_Measurement;
00026     }
00027   }
00028 
00029   for ( int j = 0; j < m_dimension; ++j ) {
00030     this->coordinate( j )->setValue( dp.coordinate( j )->value() );
00031     this->coordinate( j )->setErrorPlus( dp.coordinate( j )->errorPlus() );
00032     this->coordinate( j )->setErrorMinus( dp.coordinate( j )->errorMinus() );
00033   }
00034 }
00035 
00036 
00037 Anaphe::AIDA_DataPointSet_native::AIDA_DataPoint::AIDA_DataPoint( const AIDA::IDataPoint& dp ):
00038   m_dimension( dp.dimension() ),
00039   m_measurements( 0 )
00040 {
00041   if ( m_dimension > 0 ) {
00042     m_measurements = new AIDA::IMeasurement*[ m_dimension ];
00043     for ( int iMeasurement = 0; iMeasurement < m_dimension; ++iMeasurement ) {
00044       m_measurements[ iMeasurement ] = new Anaphe::AIDA_DataPointSet_native::AIDA_Measurement;
00045     }
00046   }
00047 
00048   for ( int j = 0; j < m_dimension; ++j ) {
00049     this->coordinate( j )->setValue( dp.coordinate( j )->value() );
00050     this->coordinate( j )->setErrorPlus( dp.coordinate( j )->errorPlus() );
00051     this->coordinate( j )->setErrorMinus( dp.coordinate( j )->errorMinus() );
00052   }
00053 }
00054 
00055 
00056 Anaphe::AIDA_DataPointSet_native::AIDA_DataPoint&
00057 Anaphe::AIDA_DataPointSet_native::AIDA_DataPoint::operator=( const AIDA_DataPoint& dp )
00058 {
00059   if ( dp.dimension() != m_dimension ) return *this;
00060   for ( int j = 0; j < m_dimension; ++j ) {
00061     this->coordinate( j )->setValue( dp.coordinate( j )->value() );
00062     this->coordinate( j )->setErrorPlus( dp.coordinate( j )->errorPlus() );
00063     this->coordinate( j )->setErrorMinus( dp.coordinate( j )->errorMinus() );
00064   }
00065   return *this;
00066 }
00067 
00068 
00069 AIDA::IDataPoint&
00070 Anaphe::AIDA_DataPointSet_native::AIDA_DataPoint::operator=( const AIDA::IDataPoint& dp )
00071 {
00072   if ( dp.dimension() != m_dimension ) return *this;
00073   for ( int j = 0; j < m_dimension; ++j ) {
00074     this->coordinate( j )->setValue( dp.coordinate( j )->value() );
00075     this->coordinate( j )->setErrorPlus( dp.coordinate( j )->errorPlus() );
00076     this->coordinate( j )->setErrorMinus( dp.coordinate( j )->errorMinus() );
00077   }
00078   return *this;
00079 }
00080 
00081 
00082 Anaphe::AIDA_DataPointSet_native::AIDA_DataPoint::~AIDA_DataPoint()
00083 {
00084   if ( m_dimension > 0 ) {
00085     for ( int iMeasurement = 0; iMeasurement < m_dimension; ++iMeasurement ) {
00086       delete m_measurements[ iMeasurement ];
00087     }
00088     delete [] m_measurements;
00089   }
00090 }
00091 
00092 
00093 AIDA::IMeasurement*
00094 Anaphe::AIDA_DataPointSet_native::AIDA_DataPoint::coordinate( int c )
00095 {
00096   if ( c < 0 || c >= m_dimension ) return 0;
00097   return ( m_measurements[ c ] );
00098 }
00099 
00100 const AIDA::IMeasurement*
00101 Anaphe::AIDA_DataPointSet_native::AIDA_DataPoint::coordinate( int c ) const
00102 {
00103   if ( c < 0 || c >= m_dimension ) return 0;
00104   return ( m_measurements[ c ] );
00105 }

Generated on Tue Nov 19 12:32:04 2002 for AIDA_DataPointSet_native by doxygen1.2.16