CLUEstering
High-performance density-based weighted clustering library developed at CERN
Loading...
Searching...
No Matches
ConvolutionalKernel.hpp
Go to the documentation of this file.
1
4
5#pragma once
6
7#include <alpaka/alpaka.hpp>
8
9namespace clue {
10
13 class FlatKernel {
14 private:
15 float m_flat;
16
17 public:
21 FlatKernel(float flat);
22
30 template <typename TAcc>
31 ALPAKA_FN_HOST_ACC float operator()(const TAcc&, float /*dist_ij*/, int point_id, int j) const;
32 };
33
37 private:
38 float m_gaus_avg;
39 float m_gaus_std;
40 float m_gaus_amplitude;
41
42 public:
48 GaussianKernel(float gaus_avg, float gaus_std, float gaus_amplitude);
49
57 template <typename TAcc>
58 ALPAKA_FN_HOST_ACC float operator()(const TAcc& acc, float dist_ij, int point_id, int j) const;
59 };
60
64 private:
65 float m_exp_avg;
66 float m_exp_amplitude;
67
68 public:
73 ExponentialKernel(float exp_avg, float exp_amplitude);
74
82 template <typename TAcc>
83 ALPAKA_FN_HOST_ACC float operator()(const TAcc& acc, float dist_ij, int point_id, int j) const;
84 };
85
86} // namespace clue
87
88#include "CLUEstering/core/detail/ConvolutionalKernel.hpp"
ExponentialKernel(float exp_avg, float exp_amplitude)
Construct an ExponentialKernel object.
ALPAKA_FN_HOST_ACC float operator()(const TAcc &acc, float dist_ij, int point_id, int j) const
Computes the kernel value between two points.
ALPAKA_FN_HOST_ACC float operator()(const TAcc &, float, int point_id, int j) const
Computes the kernel value between two points.
FlatKernel(float flat)
Construct a FlatKernel object.
ALPAKA_FN_HOST_ACC float operator()(const TAcc &acc, float dist_ij, int point_id, int j) const
Computes the kernel value between two points.
GaussianKernel(float gaus_avg, float gaus_std, float gaus_amplitude)
Construct a GaussianKernel object.