11 #ifndef RecoJets_FFTJetAlgorithms_gridConverters_h
12 #define RecoJets_FFTJetAlgorithms_gridConverters_h
15 #include "fftjet/Grid2d.hh"
18 template<
typename Numeric>
20 const fftjet::Grid2d<Numeric>& grid);
22 template<
typename Numeric>
24 const fftjet::Grid2d<Numeric>& grid);
26 template<
typename F1,
typename F2>
28 fftjet::Grid2d<F2>*
to,
const fftjet::Grid2d<F1>&
from);
30 template<
typename F1,
typename F2>
32 fftjet::Grid2d<F2>*
to,
const fftjet::Grid2d<F1>&
from);
42 template<
typename F1,
typename F2>
44 fftjet::Grid2d<F2>*
to,
const fftjet::Grid2d<F1>&
from)
47 assert(from.nEta() == to->nEta());
48 assert(from.nPhi() == to->nPhi());
49 const unsigned len = from.nEta()*from.nPhi();
50 const F1* fromData = from.data();
51 F2* toData =
const_cast<F2*
>(to->data());
52 for (
unsigned i=0;
i<len; ++
i)
53 toData[
i] = fromData[
i];
56 template<
typename F1,
typename F2>
58 fftjet::Grid2d<F2>*
to,
const fftjet::Grid2d<F1>&
from)
61 assert(from.nEta() == to->nEta());
62 assert(from.nPhi() == to->nPhi());
63 const unsigned len = from.nEta()*from.nPhi();
64 const F1* fromData = from.data();
65 F2* toData =
const_cast<F2*
>(to->data());
66 for (
unsigned i=0;
i<len; ++
i)
67 toData[
i] += fromData[
i];
70 template<
typename Numeric>
72 const fftjet::Grid2d<Numeric>& grid)
74 fftjet::Grid2d<float>*
to =
new fftjet::Grid2d<float>(
75 grid.nEta(), grid.etaMin(), grid.etaMax(),
76 grid.nPhi(), grid.phiBin0Edge(), grid.title());
81 template<
typename Numeric>
83 const fftjet::Grid2d<Numeric>& grid)
85 fftjet::Grid2d<double>*
to =
new fftjet::Grid2d<double>(
86 grid.nEta(), grid.etaMin(), grid.etaMax(),
87 grid.nPhi(), grid.phiBin0Edge(), grid.title());
93 #endif // RecoJets_FFTJetAlgorithms_gridConverters_h
fftjet::Grid2d< float > * convert_Grid2d_to_float(const fftjet::Grid2d< Numeric > &grid)
static std::string from(" from ")
void copy_Grid2d_data(fftjet::Grid2d< F2 > *to, const fftjet::Grid2d< F1 > &from)
fftjet::Grid2d< double > * convert_Grid2d_to_double(const fftjet::Grid2d< Numeric > &grid)
void add_Grid2d_data(fftjet::Grid2d< F2 > *to, const fftjet::Grid2d< F1 > &from)