OPAL (Object Oriented Parallel Accelerator Library)
2.2.0
OPAL
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
ippl
src
Particle
PairBuilder
BasicPairBuilder.h
Go to the documentation of this file.
1
#ifndef BASIC_PAIR_BUILDER_H
2
#define BASIC_PAIR_BUILDER_H
3
4
#include <algorithm>
5
6
template
<
class
PBase>
7
class
BasicPairBuilder
8
{
9
public
:
10
enum
{
Dim
=
PBase::Dim
};
11
typedef
typename
PBase::Position_t
Position_t
;
12
13
BasicPairBuilder
(PBase &p) :
particles
(p) { }
14
15
template
<
class
Pred,
class
OP>
16
void
for_each
(
const
Pred& pred,
const
OP &op)
17
{
18
std::size_t size =
particles
.getLocalNum()+
particles
.getGhostNum();
19
for
(std::size_t i = 0;i<size;++i)
20
for
(std::size_t j = i+1;j<size;++j)
21
if
(pred(
particles
.R[i],
particles
.R[j]))
22
op(i, j,
particles
);
23
}
24
private
:
25
PBase &
particles
;
26
};
27
28
#endif
BasicPairBuilder::particles
PBase & particles
Definition:
BasicPairBuilder.h:25
BasicPairBuilder::Position_t
PBase::Position_t Position_t
Definition:
BasicPairBuilder.h:11
Position_t
Position_t
Definition:
Types.h:28
BasicPairBuilder::Dim
Definition:
BasicPairBuilder.h:10
BasicPairBuilder::for_each
void for_each(const Pred &pred, const OP &op)
Definition:
BasicPairBuilder.h:16
BasicPairBuilder
Definition:
BasicPairBuilder.h:7
BasicPairBuilder::BasicPairBuilder
BasicPairBuilder(PBase &p)
Definition:
BasicPairBuilder.h:13
Dim
const unsigned Dim
Definition:
P3MPoissonSolver.h:23
Generated on Sat Jan 4 2020 14:47:37 for OPAL (Object Oriented Parallel Accelerator Library) by
1.8.5