|
||||
File indexing completed on 2025-01-30 10:22:56
0001 // @(#)root/tmva $Id$ 0002 // Author: Dominik Dannheim, Alexander Voigt 0003 0004 /********************************************************************************** 0005 * Project: TMVA - a Root-integrated toolkit for multivariate data analysis * 0006 * Package: TMVA * 0007 * Classes: PDEFoamKernelGauss * 0008 * * 0009 * * 0010 * Description: * 0011 * PDEFoam kernel, which weights all cell values by a gauss function. * 0012 * * 0013 * Authors (alphabetical): * 0014 * S. Jadach - Institute of Nuclear Physics, Cracow, Poland * 0015 * Tancredi Carli - CERN, Switzerland * 0016 * Dominik Dannheim - CERN, Switzerland * 0017 * Alexander Voigt - TU Dresden, Germany * 0018 * * 0019 * Copyright (c) 2008, 2010: * 0020 * CERN, Switzerland * 0021 * MPI-K Heidelberg, Germany * 0022 * * 0023 * Redistribution and use in source and binary forms, with or without * 0024 * modification, are permitted according to the terms listed in LICENSE * 0025 * (see tmva/doc/LICENSE) * 0026 **********************************************************************************/ 0027 0028 #ifndef ROOT_TMVA_PDEFoamKernelGauss 0029 #define ROOT_TMVA_PDEFoamKernelGauss 0030 0031 #include "TMVA/PDEFoam.h" 0032 #include "TMVA/PDEFoamKernelBase.h" 0033 #include <vector> 0034 0035 namespace TMVA 0036 { 0037 0038 class PDEFoamKernelGauss : public PDEFoamKernelBase 0039 { 0040 0041 protected: 0042 Float_t fSigma; ///< width of gauss curve 0043 0044 // Square function (fastest implementation) 0045 template<typename T> T Sqr(T x) const { return x * x; } 0046 0047 // calculate gaussian weight 0048 Float_t WeightGaus(PDEFoam*, PDEFoamCell*, std::vector<Float_t>&); 0049 0050 // estimate the cell value by its neighbors 0051 Float_t GetAverageNeighborsValue(PDEFoam*, std::vector<Float_t>&, ECellValue); 0052 0053 public: 0054 PDEFoamKernelGauss(Float_t sigma); // Constructor 0055 PDEFoamKernelGauss(const PDEFoamKernelGauss&); // Copy Constructor 0056 virtual ~PDEFoamKernelGauss() {} // Destructor 0057 0058 // kernel estimator 0059 virtual Float_t Estimate(PDEFoam*, std::vector<Float_t>&, ECellValue); 0060 0061 ClassDef(PDEFoamKernelGauss, 1) // Gaussian PDEFoam kernel estimator 0062 }; // end of PDEFoamKernelGauss 0063 } // namespace TMVA 0064 0065 #endif
[ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
This page was automatically generated by the 2.3.7 LXR engine. The LXR team |