00001
00002
00003
00004
00005
00006
00007
00008
00009
00010 #include "BAT/BCDataPoint.h"
00011
00012 #include "BAT/BCLog.h"
00013
00014 #include <TString.h>
00015
00016
00017
00018 BCDataPoint::BCDataPoint(int nvariables)
00019 {
00020
00021
00022 fData.assign(nvariables, 0.);
00023 }
00024
00025
00026
00027 BCDataPoint::BCDataPoint(std::vector<double> x)
00028 {
00029
00030 for (std::vector<double>::const_iterator it = x.begin(); it != x.end(); ++it)
00031 fData.push_back(*it);
00032 }
00033
00034
00035
00036 BCDataPoint::~BCDataPoint()
00037 {}
00038
00039
00040
00041 double BCDataPoint::GetValue(int index)
00042 {
00043
00044
00045
00046
00047 double value = -1.0;
00048
00049
00050 if (index >= 0 && index < int(fData.size()))
00051 value = fData[index];
00052
00053 else
00054 BCLog::Out(BCLog::warning, BCLog::warning,
00055 TString::Format("BCDataPoint::GetValue : Index %d out of range (%d to %d).",index,0,fData.size()));
00056
00057 return value;
00058 }
00059
00060
00061
00062 void BCDataPoint::SetValue(int index, double value)
00063 {
00064
00065
00066
00067
00068
00069
00070 if (index >= 0 && index < int(fData.size()))
00071 fData[index] = value;
00072
00073 else
00074 BCLog::Out(BCLog::warning, BCLog::warning,
00075 TString::Format("BCDataPoint::SetValue : Index %d out of range (%d to %d).",index,0,fData.size()));
00076 }
00077
00078
00079
00080 void BCDataPoint::SetValues(std::vector <double> values)
00081 {
00082
00083
00084 if (values.size() == fData.size())
00085 {
00086 fData.clear();
00087 for (std::vector<double>::const_iterator it = values.begin(); it != values.end(); ++it)
00088 fData.push_back(*it);
00089 }
00090
00091 else
00092 BCLog::Out(BCLog::warning, BCLog::warning,"BCDataPoint::SetValues. vectors have different ranges.");
00093 }
00094
00095
00096
00097