61 , fSigma(other.fSigma)
82 Log() << kFATAL <<
"<PDEFoamKernelGauss::Estimate>: PDEFoam not set!" <<
Endl;
96 cell_val = GetAverageNeighborsValue(foam, txvec, cv);
105 return (norm != 0 ?
result / norm : 0);
120 std::vector<Float_t> &txvec,
130 cell->
GetHcub(cellPosi, cellSize);
134 std::vector<Float_t> ntxvec(txvec);
139 ntxvec[dim] = cellPosi[dim] - xoffset;
147 ntxvec[dim] = cellPosi[dim] + cellSize[dim] + xoffset;
148 right_cell = foam->
FindCell(ntxvec);
155 if (norm > 0)
result /= norm;
183 std::vector<Float_t> &txvec)
188 cell->
GetHcub(cellPosi, cellSize);
191 std::vector<Float_t> cell_center;
194 if (txvec[i] < 0.) txvec[i] = 0.;
195 if (txvec[i] > 1.) txvec[i] = 1.;
197 if (cellPosi[i] > txvec.at(i))
198 cell_center.push_back(cellPosi[i]);
199 else if (cellPosi[i] + cellSize[i] < txvec.at(i))
200 cell_center.push_back(cellPosi[i] + cellSize[i]);
202 cell_center.push_back(txvec.at(i));
207 distance += Sqr(txvec.at(i) - cell_center.at(i));
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t Float_t Float_t Int_t Int_t UInt_t UInt_t Rectangle_t result
void GetHcub(PDEFoamVect &, PDEFoamVect &) const
Provides size and position of the cell These parameter are calculated by analyzing information in all...
This class is the abstract kernel interface for PDEFoam.
This PDEFoam kernel estimates a cell value for a given event by weighting all cell values with a gaus...
Float_t GetAverageNeighborsValue(PDEFoam *, std::vector< Float_t > &, ECellValue)
This function returns the average value 'cv' of only nearest neighbor cells.
PDEFoamKernelGauss(Float_t sigma)
Default constructor for streamer.
Float_t WeightGaus(PDEFoam *, PDEFoamCell *, std::vector< Float_t > &)
Returns the gauss weight between the 'cell' and a given coordinate 'txvec'.
virtual Float_t Estimate(PDEFoam *, std::vector< Float_t > &, ECellValue)
Gaussian kernel estimator.
Implementation of PDEFoam.
virtual Float_t GetCellValue(const std::vector< Float_t > &xvec, ECellValue cv, PDEFoamKernelBase *)
This function finds the cell, which corresponds to the given untransformed event vector 'xvec' and re...
virtual Bool_t CellValueIsUndefined(PDEFoamCell *)
Returns true, if the value of the given cell is undefined.
PDEFoamCell * FindCell(const std::vector< Float_t > &) const
Find cell that contains 'xvec' (in foam coordinates [0,1]).
PDEFoamCell ** fCells
[fNCells] Array of ALL cells
Int_t fLastCe
Index of the last cell.
MsgLogger & Endl(MsgLogger &ml)
Double_t Gaus(Double_t x, Double_t mean=0, Double_t sigma=1, Bool_t norm=kFALSE)
Calculates a gaussian function with mean and sigma.
Double_t Sqrt(Double_t x)
Returns the square root of x.