45 ClassImp(TMVA::PDEFoamVect);
50 TMVA::PDEFoamVect::PDEFoamVect()
61 TMVA::PDEFoamVect::PDEFoamVect(Int_t n)
67 fCoords =
new Double_t[fDim];
68 for (Int_t i=0; i<n; i++) *(fCoords+i)=0.0;
75 TMVA::PDEFoamVect::PDEFoamVect(
const PDEFoamVect &vect)
80 Error(
"PDEFoamVect",
"COPY CONSTRUCTOR NOT IMPLEMENTED" );
86 TMVA::PDEFoamVect::~PDEFoamVect()
99 TMVA::PDEFoamVect& TMVA::PDEFoamVect::operator =(
const PDEFoamVect& vect)
101 if (&vect ==
this)
return *
this;
102 if (fDim != vect.fDim)
103 Error(
"PDEFoamVect",
"operator=Dims. are different: %d and %d \n ", fDim, vect.fDim);
104 if (fDim != vect.fDim) {
106 fCoords =
new Double_t[fDim];
109 for(Int_t i=0; i<fDim; i++)
110 fCoords[i] = vect.fCoords[i];
120 Double_t &TMVA::PDEFoamVect::operator[](Int_t n)
122 if ((n<0) || (n>=fDim)) {
123 Error(
"PDEFoamVect",
"operator[], out of range \n");
131 TMVA::PDEFoamVect& TMVA::PDEFoamVect::operator*=(
const Double_t &x)
133 for(Int_t i=0;i<fDim;i++)
134 fCoords[i] = fCoords[i]*x;
141 TMVA::PDEFoamVect& TMVA::PDEFoamVect::operator+=(
const PDEFoamVect& shift)
143 if(fDim != shift.fDim){
144 Error(
"PDEFoamVect",
"operator+, different dimensions= %d %d \n", fDim, shift.fDim);
146 for(Int_t i=0;i<fDim;i++)
147 fCoords[i] = fCoords[i] + shift.fCoords[i];
154 TMVA::PDEFoamVect& TMVA::PDEFoamVect::operator-=(
const PDEFoamVect& shift)
156 if(fDim != shift.fDim) {
157 Error(
"PDEFoamVect",
"operator+, different dimensions= %d %d \n", fDim, shift.fDim);
159 for(Int_t i=0;i<fDim;i++)
160 fCoords[i] = fCoords[i] - shift.fCoords[i];
168 TMVA::PDEFoamVect TMVA::PDEFoamVect::operator+(
const PDEFoamVect &p2)
170 PDEFoamVect temp(fDim);
180 TMVA::PDEFoamVect TMVA::PDEFoamVect::operator-(
const PDEFoamVect &p2)
182 PDEFoamVect temp(fDim);
191 TMVA::PDEFoamVect& TMVA::PDEFoamVect::operator =(Double_t Vect[])
193 for(Int_t i=0; i<fDim; i++)
194 fCoords[i] = Vect[i];
201 TMVA::PDEFoamVect& TMVA::PDEFoamVect::operator =(Double_t x)
204 for(Int_t i=0; i<fDim; i++)
217 void TMVA::PDEFoamVect::Print(Option_t *option)
const
219 streamsize wid = std::cout.width();
220 if(!option) Error(
"Print ",
"No option set \n");
222 for(Int_t i=0; i<fDim-1; i++)
223 std::cout << std::setw(12) << *(fCoords+i) <<
",";
224 std::cout << std::setw(12) << *(fCoords+fDim-1);
226 std::cout.width(wid);